From the 3.7 release notes (https://docs.python.org/3/whatsnew/3.7.html):
Backwards incompatible syntax changes:
async and await are now reserved keywords.From the 3.7 release notes (https://docs.python.org/3/whatsnew/3.7.html):
Backwards incompatible syntax changes:
async and await are now reserved keywords.I remember when C++ had to introduce a keyword for automatic type inference they reused the 'auto' keyword instead of introducing a new keyword at the risk of breaking a lot of existing code.
How do other mainstream languages handle a scenario like this where a new keyword is required?
Rust is now doing the same thing with editions.
Perl has 'use VERSION', but I'm not very familiar with it, not sure if e.g. new keywords only become available with that statement. The docs say 'use VERSION also lexically enables all features available in the requested version…'
https://en.wikipedia.org/wiki/List_of_Java_keywords
For C++ ( New keywords: alignas, alignof, char16_t, char32_t, constexpr, decltype, noexcept, nullptr, static_assert, and thread_local ) : https://stackoverflow.com/questions/6399615/what-breaking-ch...