Opened 21 months ago

Last modified 10 months ago

#24551 closed defect

py3: defining __eq__ breaks inheritance of __hash__ — at Initial Version

Reported by: chapoton Owned by:
Priority: major Milestone: sage-8.5
Component: python3 Keywords:
Cc: jdemeyer, tscrim, fbissey, embray, vklein, zerline Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

This is potentially a large-scale problem

grep -L "def __hash__" $(git grep -l "def __eq__" ) 
build/sage_bootstrap/compat/argparse.py
build/sage_bootstrap/package.py
build/sage_bootstrap/tarball.py
src/doc/en/thematic_tutorials/structures_in_coding_theory.rst
src/sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_morphism.py
src/sage/algebras/free_algebra.py
src/sage/algebras/free_algebra_quotient.py
src/sage/algebras/jordan_algebra.py
src/sage/algebras/steenrod/steenrod_algebra.py
src/sage/calculus/transforms/dft.py
src/sage/categories/examples/cw_complexes.py
src/sage/categories/examples/lie_algebras.py
src/sage/categories/pushout.py
src/sage/coding/bch.py
src/sage/coding/cyclic_code.py
src/sage/coding/extended_code.py
src/sage/coding/golay_code.py
src/sage/coding/grs.py
src/sage/coding/guruswami_sudan/gs_decoder.py
src/sage/coding/hamming_code.py
src/sage/coding/parity_check_code.py
src/sage/coding/punctured_code.py
src/sage/coding/reed_muller_code.py
src/sage/coding/relative_finite_field_extension.py
src/sage/coding/subfield_subcode.py
src/sage/combinat/abstract_tree.py
src/sage/combinat/binary_recurrence_sequences.py
src/sage/combinat/cluster_algebra_quiver/quiver_mutation_type.py
src/sage/combinat/crystals/generalized_young_walls.py
src/sage/combinat/crystals/pbw_datum.pyx
src/sage/combinat/diagram_algebras.py
src/sage/combinat/dlx.py
src/sage/combinat/free_dendriform_algebra.py
src/sage/combinat/free_prelie_algebra.py
src/sage/combinat/growth.py
src/sage/combinat/integer_list_old.py
src/sage/combinat/integer_lists/lists.py
src/sage/combinat/integer_vector.py
src/sage/combinat/misc.py
src/sage/combinat/ncsf_qsym/generic_basis_code.py
src/sage/combinat/rigged_configurations/bij_abstract_class.py
src/sage/combinat/rigged_configurations/rigged_partition.py
src/sage/combinat/root_system/branching_rules.py
src/sage/combinat/root_system/type_dual.py
src/sage/combinat/skew_tableau.py
src/sage/combinat/sloane_functions.py
src/sage/combinat/species/series.py
src/sage/combinat/species/structure.py
src/sage/combinat/subset.py
src/sage/combinat/subsets_pairwise.py
src/sage/combinat/subword.py
src/sage/combinat/subword_complex.py
src/sage/combinat/tableau.py
src/sage/combinat/words/abstract_word.py
src/sage/combinat/words/paths.py
src/sage/combinat/words/suffix_trees.py
src/sage/cpython/wrapperdescr.pxd
src/sage/crypto/block_cipher/miniaes.py
src/sage/crypto/block_cipher/sdes.py
src/sage/crypto/cipher.py
src/sage/crypto/classical_cipher.py
src/sage/crypto/cryptosystem.py
src/sage/crypto/public_key/blum_goldwasser.py
src/sage/crypto/sbox.py
src/sage/crypto/stream.py
src/sage/databases/findstat.py
src/sage/databases/oeis.py
src/sage/doctest/control.py
src/sage/doctest/parsing.py
src/sage/doctest/sources.py
src/sage/doctest/util.py
src/sage/dynamics/flat_surfaces/quadratic_strata.py
src/sage/dynamics/flat_surfaces/strata.py
src/sage/dynamics/interval_exchanges/iet.py
src/sage/dynamics/interval_exchanges/template.py
src/sage/finance/markov_multifractal.py
src/sage/finance/stock.py
src/sage/functions/piecewise_old.py
src/sage/games/sudoku.py
src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py
src/sage/geometry/pseudolines.py
src/sage/geometry/toric_plotter.py
src/sage/graphs/graph_latex.py
src/sage/graphs/modular_decomposition.py
src/sage/groups/conjugacy_classes.py
src/sage/groups/pari_group.py
src/sage/groups/perm_gps/permgroup_named.py
src/sage/groups/perm_gps/symgp_conjugacy_class.py
src/sage/homology/cell_complex.py
src/sage/homology/chain_complex.py
src/sage/homology/homology_morphism.py
src/sage/homology/simplicial_complex_morphism.py
src/sage/homology/simplicial_set_morphism.py
src/sage/interfaces/r.py
src/sage/knots/link.py
src/sage/logic/boolformula.py
src/sage/manifolds/chart.py
src/sage/manifolds/chart_func.py
src/sage/manifolds/continuous_map.py
src/sage/manifolds/differentiable/affine_connection.py
src/sage/manifolds/differentiable/tensorfield.py
src/sage/manifolds/scalarfield.py
src/sage/matrix/operation_table.py
src/sage/misc/nested_class_test.py
src/sage/misc/table.py
src/sage/misc/test_class_pickling.py
src/sage/modular/abvar/lseries.py
src/sage/modular/arithgroup/congroup_generic.py
src/sage/modular/btquotients/btquotient.py
src/sage/modular/btquotients/pautomorphicform.py
src/sage/modular/cusps_nf.py
src/sage/modular/etaproducts.py
src/sage/modular/hypergeometric_motive.py
src/sage/modular/local_comp/local_comp.py
src/sage/modular/local_comp/smoothchar.py
src/sage/modular/modform/element.py
src/sage/modular/modform_hecketriangle/functors.py
src/sage/modular/modsym/ambient.py
src/sage/modular/overconvergent/genus0.py
src/sage/modular/pollack_stevens/padic_lseries.py
src/sage/modules/filtered_vector_space.py
src/sage/modules/module_functors.py
src/sage/modules/multi_filtered_vector_space.py
src/sage/modules/with_basis/morphism.py
src/sage/monoids/free_monoid.py
src/sage/numerical/interactive_simplex_method.py
src/sage/numerical/knapsack.py
src/sage/quadratic_forms/genera/genus.py
src/sage/quadratic_forms/quadratic_form__local_representation_conditions.py
src/sage/quadratic_forms/ternary_qf.py
src/sage/quivers/morphism.py
src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
src/sage/rings/ideal_monoid.py
src/sage/rings/noncommutative_ideals.pyx
src/sage/rings/number_field/galois_group.py
src/sage/rings/number_field/order.py
src/sage/rings/padics/padic_extension_generic.py
src/sage/rings/polynomial/groebner_fan.py
src/sage/rings/polynomial/infinite_polynomial_ring.py
src/sage/rings/polynomial/laurent_polynomial_ring.py
src/sage/rings/polynomial/multi_polynomial_element.py
src/sage/rings/polynomial/multi_polynomial_ring.py
src/sage/rings/polynomial/polynomial_quotient_ring.py
src/sage/schemes/affine/affine_morphism.py
src/sage/schemes/affine/affine_space.py
src/sage/schemes/elliptic_curves/formal_group.py
src/sage/schemes/elliptic_curves/gal_reps.py
src/sage/schemes/elliptic_curves/gal_reps_number_field.py
src/sage/schemes/elliptic_curves/modular_parametrization.py
src/sage/schemes/elliptic_curves/sha_tate.py
src/sage/schemes/elliptic_curves/weierstrass_morphism.py
src/sage/schemes/hyperelliptic_curves/hyperelliptic_generic.py
src/sage/schemes/hyperelliptic_curves/monsky_washnitzer.py
src/sage/schemes/product_projective/space.py
src/sage/schemes/projective/projective_morphism.py
src/sage/schemes/projective/projective_space.py
src/sage/schemes/toric/chow_group.py
src/sage/schemes/toric/variety.py
src/sage/sets/totally_ordered_finite_set.py
src/sage/structure/coerce.pyx
src/sage/structure/richcmp.pyx
src/sage/symbolic/assumptions.py
src/sage/symbolic/constants.py
src/sage/symbolic/subring.py
src/sage/symbolic/units.py
src/sage/tensor/coordinate_patch.py
src/sage/tensor/differential_form_element.py
src/sage/tensor/differential_forms.py
src/sage/tensor/modules/comp.py
src/sage/tensor/modules/free_module_morphism.py
src/sage/tensor/modules/free_module_tensor.py
src/sage/tensor/modules/tensor_with_indices.py

Change History (0)

Note: See TracTickets for help on using tickets.