#13378: Do not cache the non-existence of coerce/convert map too often, and do
not
pretend that there is a conversion where it doesn't make sense at all
-------------------------+--------------------------------------------------
Reporter: SimonKing | Owner: robertwb
Type: defect | Status: new
Priority: major | Milestone: sage-5.3
Component: coercion | Keywords: coercion conversion object cache
Work issues: | Report Upstream: N/A
Reviewers: | Authors:
Merged in: | Dependencies:
Stopgaps: |
-------------------------+--------------------------------------------------
Sorry for the long ticket title.
About the first part of the title:
{{{
sage: P.<x,y> = QQ[]
sage: P.is_coercion_cached(x)
False
sage: P.coerce_map_from(x)
sage: P.is_coercion_cached(x)
True
}}}
Hence, there is a reference to x in the coercion cache for P. OK, by #715
and friends, the reference is weak --- unless x does not allow weak
references, in which case the reference will be strong, and x would not be
collectable. Hence, a potential memory leak.
About the second part:
{{{
sage: ZZ.convert_map_from(1)
Conversion map:
From: Set of Python objects of
To: Integer Ring
}}}
or
{{{
sage: P.convert_map_from(x)
Traceback (most recent call last):
...
TypeError: Cannot convert
sage.rings.polynomial.multi_polynomial_libsingular.MPolynomial_libsingular
to sage.structure.parent.Parent
}}}
In both cases, I believe the answer should be "None".
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13378>
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.