[Cython] Preparing the language level change

Stefan Behnel stefan_ml at behnel.de
Sat Sep 29 02:55:19 EDT 2018


Stefan Behnel schrieb am 21.09.2018 um 09:38:
> There are two parts of
> information here, so maybe we should actually split them internally (in
> "Main.Context.set_language_level() ?) and keep the language_level = 3 but
> just avoid the "unicode_literals" part.

I thought about this some more. The real question is: what should the world
be like once Cython 3.0 is out?

What we want to do for Cy3 is to change the default behaviour, which mostly
impacts Py2/3 ported code. That's why we now warn about a missing
"language_level" switch. When people respond to that and set the language
level explicitly, that makes them opt out of the default change. Perfect so
far.

Do we then still want to have a separate option floating around that says
"but I want str" ? I don't think so, because that will be the default in
Cy3 anyway. Thus, what I think we want is that people either specify the
language level explicitly, or get the new default. And to get the new
default *now*, in a future proof way, I think the best option is to set an
explicit language level, not a separate directive.

Thus, I now agree with Jeroen's early intuition that a new language level
switch is the right interface. I'll change the implementation to do what I
wrote in the quoted paragraph above and push a new RC.

Stefan


More information about the cython-devel mailing list