#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.

Reply via email to