#5979: [with patch, needs review] 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
----------------------+-----------------------------------------------------
Description changed by nthiery:
Old description:
> In Parent, there is a (previously 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.
New description:
In Parent, there is a (previously 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.
This patch fixes this (one line), and adds a corresponding doctest.
It also includes a related trivial fix to a line that is apparently never
used in coerce_maps, and adds a comment about this.
The category patch #5891 depends heavily on this one, as this way of
setting _element_constructor becomes the default one for simple
parents.
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5979#comment:4>
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
-~----------~----~----~----~------~----~------~--~---