Open HertzDevil opened 2 years ago
Just to make sure: "Python and Rust work" means they treat different non-normalized representations of the same normalized form as identical?
I think I'd probably prefer to merge identifiers on their normalized form. The formatter can run normalization. That means, there would effectively be almost exclusively normalized forms in actual code (unless you don't use the formatter).
We could also consider disallowing non-normalized forms. It saves us to do normalization in the formatter. But it might be restrictive for some environments, not sure.
The following error might or might not be expected, but it is certainly confusing to look at:
This is because the compiler compares the variable names by codepoints directly and does not perform any Unicode normalization. I tested the same in other languages:
# encoding: UTF-8
is specified;