Update to a prior post, many months later:
-
For item 2), although I didn't know it at the time of writing the above, nightly Rust already supported Unicode identifiers. The issue of hygiene for title case identifiers – are they considered upper-case? are they equivalent to upper-case-shifted analogues? – does not appear to have been considered.
-
For item 3, argument reordering in compiler messages is already supported by
format!
,println!
and related macros and quasi-macros. A revised analysis of the rustc crate on 2018.05.06, using the regex pattern\w!\("(?s)(\\\"|.)*?"
found 10151 non-test message strings, which after sort/merge and elimination of strings without English text reduced to about 5700 unique message strings that probably require translation.