[Python-ideas] Changing the meaning of bool.__invert__

Ian Kelly ian.g.kelly at gmail.com
Sat Apr 9 12:25:50 EDT 2016

On Sat, Apr 9, 2016 at 10:07 AM, Ian Kelly <ian.g.kelly at gmail.com> wrote:
> On Sat, Apr 9, 2016 at 9:25 AM, Steven D'Aprano <steve at pearwood.info> wrote:
>> On Sat, Apr 09, 2016 at 08:28:10AM -0600, Ian Kelly wrote:
>>> It seems unusual to deprecate something without also providing a means
>>> of using the new thing in the same release. "Don't use this feature
>>> because we're going to change what it does in the future. Oh, you want
>>> to use the new version? Psych! We haven't actually done anything yet.
>>> Use not instead." It creates a weird void in Python 3.6 where the
>>> operator still exists but absolutely nobody has a legitimate reason to
>>> be using it.
>> Not really. This is quite similar to what happened in Python 2.3 during
>> int/long unification. The behaviour of certain integer operations
>> changed, including the meaning of some literals, and warnings were
>> displayed.
> Pointing out that this has been done once before, 11 minor releases
> prior, does not dissuade me from continuing to characterize it as
> "unusual". The int/long unification was also a much more visible
> change overall.

Also, in that case there was a way to start using long literals
immediately: 0xffffffffL

More information about the Python-ideas mailing list