#19521: wrong inverse action when using ConstructionFunctor.coercion_reversed
-------------------------------------+-------------------------------------
Reporter: dkrenn | Owner:
Type: defect | Status: needs_review
Priority: major | Milestone: sage-6.10
Component: coercion | Resolution:
Keywords: | Merged in:
Authors: Daniel Krenn | Reviewers: Benjamin Hackl
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/behackl/coercion/inverse-action | 867d6d3cc606f4c291bc9098e490366160b40f42
Dependencies: #19259 | Stopgaps:
-------------------------------------+-------------------------------------
Changes (by behackl):
* commit: 563845928f4cfacb54f46156e59c12ffa46dbdab =>
867d6d3cc606f4c291bc9098e490366160b40f42
* branch: u/dkrenn/coerce/inverse-action => u/behackl/coercion/inverse-
action
* reviewer: => Benjamin Hackl
Comment:
Hi! I've merged the (positively reviewed) dependency into this branch and
reviewed the code in this ticket.
I think I understand your fix as well as the strategy behind it, and I am
willing to give this a `positive_review` (i.e. everything LGTM). However,
I'd rather be sure:
In principle, all that happens is that you order the functors and parents
from smallest to largest (in the sense of coercion) and iterate over this
reordered tower such that actually the smallest parent with the required
property is found?
For example, (using your notation from the comment), if we had a tower `A
-> B <- C <- D -> E`, then the old code would iterate over `[A, B, C, D,
E, F]`, and in your fixed version we iterate over `[A, D, C, B, E]`?
Also, I'd like to give the patchbots a chance to test this---or, at least,
run `make ptestlong` myself.
----
New commits:
||[http://git.sagemath.org/sage.git/commit/?id=ff99c7f211725817f213257d2edfad01acfabdc2
ff99c7f]||{{{Trac #19259: change to has_valid_variable}}}||
||[http://git.sagemath.org/sage.git/commit/?id=581f3157f57c8b38390cf515e065cf62eacec306
581f315]||{{{Trac #19259: check validity of variables}}}||
||[http://git.sagemath.org/sage.git/commit/?id=c9b24288c1222beb5d436fedd9cda144d89b10b4
c9b2428]||{{{improve language}}}||
||[http://git.sagemath.org/sage.git/commit/?id=05dc8345c3cc09a083bd588366793149daa1d6ab
05dc834]||{{{misc. changes, indentation, line breaks}}}||
||[http://git.sagemath.org/sage.git/commit/?id=8cc884a527e7d72fe125509c8f1cfa556ee83773
8cc884a]||{{{fix merge of functors}}}||
||[http://git.sagemath.org/sage.git/commit/?id=aeae8f3358607c5081e72470b66672765e42ecb3
aeae8f3]||{{{Merge tag '7.0' into symbolics/symbolic-subring}}}||
||[http://git.sagemath.org/sage.git/commit/?id=c4a0e226b7fa34959d990be3bb768d270fd7f9a5
c4a0e22]||{{{merge accepting and rejecting functors in all cases}}}||
||[http://git.sagemath.org/sage.git/commit/?id=d376b1022bc5f7aa5b8ffbb422cfe0bfa0d951d5
d376b10]||{{{revert changes to merge of functors}}}||
||[http://git.sagemath.org/sage.git/commit/?id=867d6d3cc606f4c291bc9098e490366160b40f42
867d6d3]||{{{Merge branch 'u/behackl/symbolics/symbolic-subring' of
git://trac.sagemath.org/sage into coercion/inverse-action}}}||
--
Ticket URL: <http://trac.sagemath.org/ticket/19521#comment:6>
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 unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.