#5979: Parent: fixes broken (implicit) invariant between ._element_constructor
and
self._element_init_pass_parent
----------------------+-----------------------------------------------------
Reporter: nthiery | Owner: nthiery
Type: defect | Status: new
Priority: major | Milestone: sage-4.0
Component: coercion | Keywords: coercion, parents, element_constructor
----------------------+-----------------------------------------------------
In Parent, there is an implicit invariant, namely that
self._element_init_pass_parent == guess_pass_parent(between
._element_constructor)
This invariant was broken when self._element_constructor was set from
self._element_constructor_ by __call__. This made the parent not to be
passed properly to _element_constructor.
The category patch #5891 depends heavily on this one, as this way of
setting _element_constructor becomes the default one for simple
parents.
By the way, this patch makes a related trivial fix to a line that is
apparently never used in coerce_maps, and adds a comment about it.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5979>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---