Opened 5 years ago

Last modified 8 months ago

#22747 closed enhancement

(experimental) Compile Cython code with binding=True — at Version 14

Reported by: jdemeyer Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: cython Keywords:
Cc: klee Merged in:
Authors: Jeroen Demeyer Reviewers:
Report Upstream: Reported upstream. No feedback yet. Work issues:
Branch: u/jdemeyer/ticket/22747 (Commits, GitHub, GitLab) Commit: e62cc3abc980536e24f3645ffedd958a5d528d19
Dependencies: #23103 Stopgaps:

Status badges

Description (last modified by jdemeyer)

When using the Cython compiler directive binding=True, Cython uses a custom type to implement functions and methods. This custom type supports more Python features. The most important changes lie in inspect support.

Unfortunately, this behaves badly if there are import cycles and there are many in Sage (#21636).

We find several Cython bugs regarding binding=True:

Change History (14)

comment:1 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:2 Changed 5 years ago by jdemeyer

  • Branch set to u/jdemeyer/ticket/22747

comment:3 Changed 5 years ago by git

  • Commit set to 2b7032755d9be33a994b0c612860f8dd93dfbe74

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

2b70327Compile Cython code with binding=True

comment:4 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:5 Changed 5 years ago by jdemeyer

  • Dependencies changed from #21682 to #21843

comment:6 Changed 5 years ago by git

  • Commit changed from 2b7032755d9be33a994b0c612860f8dd93dfbe74 to 547397b9ae95d4522e98278f67f93ac999077562

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

b56b4beInclude Cython directives in .cython_version file
547397bCompile Cython code with binding=True

comment:7 Changed 5 years ago by jdemeyer

  • Description modified (diff)
  • Report Upstream changed from N/A to Reported upstream. No feedback yet.

comment:8 Changed 5 years ago by git

  • Commit changed from 547397b9ae95d4522e98278f67f93ac999077562 to ee13351f71508d3d4990ca308807d1629f4616f3

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

ee13351Compile Cython code with binding=True

comment:9 Changed 5 years ago by jdemeyer

  • Dependencies changed from #21843 to #21843, #22852

comment:10 Changed 5 years ago by git

  • Commit changed from ee13351f71508d3d4990ca308807d1629f4616f3 to 93250a2559ca15185e31fb2386ff869a8b4022b8

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

841676dDefine functions before calling them
8994aceMerge commit '841676d4931c9f59019b2b6b82afbbe7df222c10' into t/22747/ticket/22747
93250a2Compile Cython code with binding=True

comment:11 Changed 5 years ago by git

  • Commit changed from 93250a2559ca15185e31fb2386ff869a8b4022b8 to 1e783146c63be6ba12a99e051fa5e22f94cbcd68

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

1e78314Compile Cython code with binding=True

comment:12 Changed 5 years ago by jdemeyer

  • Dependencies #21843, #22852 deleted

comment:13 Changed 5 years ago by git

  • Commit changed from 1e783146c63be6ba12a99e051fa5e22f94cbcd68 to e62cc3abc980536e24f3645ffedd958a5d528d19

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

a57b913QuotientRing_nc.ideal(): use super() instead of CommutativeRing
e62cc3aCompile Cython code with binding=True

comment:14 Changed 5 years ago by jdemeyer

  • Dependencies set to #23103
  • Description modified (diff)
Note: See TracTickets for help on using tickets.