Opened 3 years ago

Closed 3 years ago

#25848 closed enhancement (fixed)

Some preparations for binding=True

Reported by: jdemeyer Owned by:
Priority: major Milestone: sage-8.4
Component: cython Keywords:
Cc: Merged in:
Authors: Jeroen Demeyer Reviewers: Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: e240df3 (Commits, GitHub, GitLab) Commit: e240df3baac53bc8a262dac1c37073ffd8e4a59f
Dependencies: Stopgaps:

Status badges

Description (last modified by jdemeyer)

These are a few assorted fixes to enable binding=True:

  1. Enable binding=True on some non-performance-critical unpickling functions. These regularly occur in __reduce__ doctests, causing annoying doctest failures. In a few cases, the unpickling function can be removed completely.
  1. Compile __getmetaclass__ with binding=False otherwise it won't work.
  1. Resolve a cyclic import involving sage.rings.convert.mpfi by explicitly importing it.
  1. In src/sage/categories/category.py, assign the helpers as staticmethod to prevent binding.

Change History (10)

comment:1 Changed 3 years ago by jdemeyer

  • Description modified (diff)

comment:2 Changed 3 years ago by jdemeyer

  • Branch set to u/jdemeyer/some_preparations_for_binding_true

comment:3 Changed 3 years ago by git

  • Commit set to 6e6e1eb6ebcbcf304443af0829308701568d3176

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

6e6e1ebSome preparations for binding=True

comment:4 Changed 3 years ago by jdemeyer

  • Status changed from new to needs_review

comment:5 Changed 3 years ago by tscrim

  • Reviewers set to Travis Scrimshaw

Green bot => positive review.

comment:6 Changed 3 years ago by tscrim

  • Status changed from needs_review to needs_work

Looks like one real failure from the patchbot:

sage -t --long src/sage/modular/modsym/p1list.pyx  # 2 doctests failed

comment:7 Changed 3 years ago by git

  • Commit changed from 6e6e1eb6ebcbcf304443af0829308701568d3176 to e240df3baac53bc8a262dac1c37073ffd8e4a59f

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

e240df3Some preparations for binding=True

comment:8 Changed 3 years ago by jdemeyer

  • Status changed from needs_work to needs_review

comment:9 Changed 3 years ago by tscrim

  • Status changed from needs_review to positive_review

comment:10 Changed 3 years ago by vbraun

  • Branch changed from u/jdemeyer/some_preparations_for_binding_true to e240df3baac53bc8a262dac1c37073ffd8e4a59f
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.