It's a canonicalisation error.

Steve Holden

On Fri, May 18, 2018 at 2:38 PM, Ivan Pozdeev via Python-Dev <
python-dev@python.org> wrote:

> On 18.05.2018 14:46, Steven D'Aprano wrote:
>
>> Stephan Houben noticed that Python apparently allows identifiers to be
>> keywords, if you use Unicode "mathematical bold" letters. His
>> explanation is that the identifier is normalised, but not until after
>> keywords are checked for. So this works:
>>
>> class Spam:
>>      locals()['if'] = 1
>>
>>
>> Spam.𝐢𝐟    # U+1D422 U+1D41F
>> # returns 1
>>
>>
>> Of course Spam.if fails with SyntaxError.
>>
>> Should this work? Is this a bug, a feature, or an accident of
>> implementation we can ignore?
>>
> Voting for bug:
> Either those identifiers should be considered equal, or they shouldn't.
> They can't be considered "partially" equal.
>
>>
>>
>>
> --
> Regards,
> Ivan
>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/steve%
> 40holdenweb.com
>
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to