#8119: Rename change the hash value of some objects
------------------------------+---------------------------------------------
Reporter: hivert | Owner: tbd
Type: defect | Status: needs_review
Priority: major | Milestone: sage-4.7
Component: misc | Keywords:
Author: | Upstream: N/A
Reviewer: Florent Hivert | Merged:
Work_issues: |
------------------------------+---------------------------------------------
Changes (by hivert):
* status: needs_work => needs_review
Old description:
> For many objects the hash value is computed from {{{__repr__}}}. This is
> a bad idea since renaming the object change its hash value.
> {{{
> sage: bla = PolynomialRing(ZZ,"x")
> sage: hash(bla)
> -1525918542791298668
> sage: bla.rename("toto")
> sage: hash(bla)
> 2314052222105390764
> }}}
New description:
For many objects the hash value is computed from {{{__repr__}}}. This is a
bad idea since renaming the object change its hash value.
{{{
sage: bla = PolynomialRing(ZZ,"x")
sage: hash(bla)
-1525918542791298668
sage: bla.rename("toto")
sage: hash(bla)
2314052222105390764
}}}
'''Apply:'''
1. [attachment:8119-parent-hash.patch]
2. [attachment:8119-parent-hash-review.patch]
--
Comment:
> They are a few place where we should remove the bad implementation using
> {{{__repr__}}} since they all inherits from {{{CategoryObject}}}:
I just added a review patch which removes the wrong hash methods.
Please review. I'm ok with the original patch, so if my review patch is ok
you can put a positive review on my behalf.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8119#comment:8>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.