In Frunk, we wanted to test that a derive macro works on unicode identifiers. However, if you try the obvious thing, you're likely to run afowl of the
warning: The usage of Script Group `Greek` in this crate consists solely of mixed script confusables --> tests/roundtrip.rs:433:9 | 433 | α: i32, | ^ | = note: `#[warn(mixed_script_confusables)]` on by default = note: The usage includes 'α' (U+03B1). = note: Please recheck to make sure their usages are indeed what you want.
I tried replacing it with other greek letters and letters with accents, to little avail; there are A LOT of confusable characters. Eventually lloydmeta discovered that the hiragana あ satisfies the lint.
...but even then, the trouble is, the definition of a confusable character can change over time. This creates a cause for concern: It seems that the only way to reliably test unicode identifiers without triggering the lint is to put
#![allow(mixed_script_confusables)] at the top of any test file that uses them.
Is there any other alternative? Some character that we can trust will never become "confusable"?