On Tue, Jun 9, 2020, 9:33 PM Edwin Zimmerman <edwin@211mainstreet.net> wrote:
On 6/9/2020 9:21 PM, Jonathan Goble wrote:
On Tue, Jun 9, 2020, 8:47 PM Edwin Zimmerman <edwin@211mainstreet.net> wrote:
Wouldn't this break backwards compatibility with everything the whole way back to 3.0?  I fear a future with where I have to run a 2to3 type tool on third-party dependencies just to get them to work with my 3.7 code base.

My interpretation was that this would be syntactic sugar, not a deprecation and replacement. In other words, the existing syntax would still be valid forever.
Correct, what I was trying to say is code bases all over the world that run on previous versions will start seeing this when they import a third party dependency that uses this "syntatic sugar":

>>> print "This doesn't work before 3.10"
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("This doesn't work before 3.10")?

No different than any other newly introduced syntax (such as the walrus operator). Libraries won't introduce the new syntax until they're ready to drop support for the last version of Python without that syntax. Like any syntax change, it won't commonly appear in the wild until around two to four years after release.