On 12/3/19 1:07 PM, Ethan Furman wrote:
On 12/03/2019 09:16 AM, Serhiy Storchaka wrote:
The 'u" string literal prefix was removed in 3.0 and reintroduced in 3.3 to help writing the code compatible with Python 2 and 3 [1]. After the dead of Python 2.7 we will remove some deprecated features kept for compatibility with 2.7. When we are going to deprecate and remove the "u" prefix?
Can we gather all the 2.7 compatibility shims and remove them in 3.9? If not, I would say let's deprecate whatever needs deprecating and remove them in 3.10. I don't think the u'' prefix needs the normal 2-cyle deprecation since it was added specifically for 2/3 cross-version code, and, as you say, "the dead of Python 2.7" has occurred (at least for us).
A few people in this thread have reasoned, "since we added it just to help people with 2.7, we can remove it now." But that's exactly why it will be a significant cost to the community: lots of people made use of this useful needed thing. Removing the prefix will be a speed bump for people's use of Python, and will slow down people who want to upgrade to newer versions of Python. --Ned.