#14711: Weak references in the coercion graph
-------------------------------------+-------------------------------------
       Reporter:  jpflori            |        Owner:  davidloeffler
           Type:  defect             |       Status:  needs_review
       Priority:  critical           |    Milestone:  sage-6.1
      Component:  number fields      |   Resolution:
       Keywords:  memleak, number    |    Merged in:
  field, QuadraticField              |    Reviewers:  Jean-Pierre Flori
        Authors:  Simon King         |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  0af59ea93689cb6abb9d3fae0f1cf11f2aee5cca
  u/jpflori/ticket/14711             |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by tscrim):

 Okay, I've done the initial stuff and called the new method
 `_internal_coerce_map_from()`. I've pushed it into the branch
 {{{
 public/structure/unique_repr_homsets-14793-internal_test
 }}}
 However I get the following doctest failing in `parent.pyx`:
 {{{
 The following was fixed in :trac:`4740`::

     sage: F = GF(13)
     sage: F.coerce_map_from(F) is F.coerce_map_from(F)
     True
 }}}
 It's returning `False` which I think is okay, but I'd need someone more
 experienced in the finite fields code to verify that it's okay...well it
 might just need to be changed to the new internal method (see below).

 I'm also getting a strange `<BLANKLINE>` in a doctest in `coerce.pyx`,
 which is causing a doctest failure. My guess is it's somehow coming from
 the warning message... Anyways, I'm running all doctests now.

 Now here's the list of files in the new branch which use
 `coerce_map_from`:
 {{{
 categories/pushout.py
 combinat/sf/new_kschur.py
 combinat/root_system/weight_lattice_realizations.py
 geometry/polyhedron/parent.py
 rings/real_mpfr.pyx
 rings/real_double.pyx
 rings/finite_rings/finite_field_base.pyx
 rings/finite_rings/integer_mod_ring.py
 rings/finite_rings/finite_field_prime_modn.py
 rings/number_field/number_field.py
 rings/number_field/number_field_rel.py
 rings/polynomial/polynomial_modn_dense_ntl.pyx
 rings/polynomial/polynomial_ring.py
 rings/polynomial/laurent_polynomial_ring.py
 rings/complex_field.py
 rings/complex_double.pyx
 rings/rational_field.py
 rings/residue_field.pyx
 }}}
 I've also started doing some of the swaps to the internal maps in:
 {{{
 src/sage/categories/homset.py
 src/sage/categories/map.pyx
 src/sage/combinat/free_module.py
 src/sage/structure/parent_old.pyx
 schemes/projective/projective_point.py
 schemes/projective/projective_morphism.py
 schemes/generic/morphism.py
 structure/formal_sum.py
 }}}
 I'd like to know if we're okay just swapping the old `coerce_map_from()`
 to the `_internal_coerce_map_from()`? I think we'd want to do this anytime
 the user will not have access to the maps, and I think they are safe to do
 so, but could someone else double-check this for me? Thanks.

--
Ticket URL: <http://trac.sagemath.org/ticket/14711#comment:180>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to