> [Guido] > > ... > > It needs to add 'None' as an alternative to all other places where > > currently NAME occurs. > > Fudge. None makes no sense anywhere in, e.g., > > dotted_name: NAME ('.' NAME)* > > or > > global_stmt: 'global' NAME (',' NAME)* > > but I suppose it has to be allowed for in 2.3 anyway else an existing Yes, that's (alas) the point. > import None.None.None as None > > would yield a SyntaxError instead of a warning. More realistically, def foo(a, None=None): if a is None: ... I found 4 examples of this in Zope3 alone, and MAL has some too. > Note too that we can't change the generated code at all for 2.3 > unless under the control of a new future statement, else existing > None-abusing code could break. A future statement makes no sense for this, so I guess all we can do in 2.3 is warn about use of None in all contexts except in expressions. This is really too bad -- I wish we could decide to just break code (since it's a clean break) but apparently that's unacceptable to the users. --Guido van Rossum (home page: http://www.python.org/~guido/)
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