Conditional compilation is a feature that was inherited from Pyrex that never had a high standing amongst the Cython developers. It also takes up quite a bit of code space in the syntax nodes and the parser and allows incorrect user assumptions about the data values used in the code (e.g. the precision of floating point numbers). From reported user experience, the existence of this feature seems to mostly prevent users from finding better solutions for their specific needs.
See the discussion in #4287
I would like to deprecate it in Cython 3.0 and add a warning.
It could be one of the things that we remove for Cython 3.1. It will not be removed in Cython 3.1, but continue to be available for another couple of release series, so that users have enough time to move away from it.
For a list of alternatives, see the migration guide.
NOTE: this ticket is not the right place to give 1:1 help for each project. Consider asking concrete usage questions on the cython-users
mailing list instead of commenting here. We will update the ticket description from time to time whenever we find additional advice.
Relevant comments and clarifications in the comments below:
DEF
: Deprecate conditional compilation #4310 (comment)NALStudio, eltoder, nauaneed, eW1z4rd and asheshvidyutleofang, kmaehashi, 0dminnimda, pentschev, etianen and 10 more
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4