[Python-ideas] Optional static typing -- the crossroads

Petr Viktorin encukou at gmail.com
Fri Aug 15 19:19:38 CEST 2014


On Fri, Aug 15, 2014 at 7:00 PM, Guido van Rossum <guido at python.org> wrote:
> On Fri, Aug 15, 2014 at 9:48 AM, Petr Viktorin <encukou at gmail.com> wrote:
>>
>> On Fri, Aug 15, 2014 at 5:55 PM, Guido van Rossum <guido at python.org>
>> wrote:
>> ...
>> >> Also... Does None magically mean NoneType in type definitions?
>> >
>> > Yes.
>>
>> This would mean either that `(None | None) is None`, or that (x |
>> None) is not always "optional x".
>> And if type objects grow any other common functionality, None will
>> have to support that as well.
>
>
> Perhaps None itself should not implement any of this, and the __ror__ method
> on ABCs should implement it. That way, None|Mapping and Mapping|None would
> both work, yet None|None would still be the TypeError it is today.

... and that (x|None) does not always mean "optional x".
Is this case special enough?


More information about the Python-ideas mailing list