3 The tracking issue for this feature is: [#55467]
5 [#55467]: https://github.com/rust-lang/rust/issues/55467
7 ------------------------
9 The `non_ascii_idents` feature adds support for non-ASCII identifiers.
14 #![feature(non_ascii_idents)]
16 const ε: f64 = 0.00001f64;
17 const Π: f64 = 3.14f64;
20 ## Changes to the language reference
22 > **<sup>Lexer:<sup>**
24 > XID_start XID_continue<sup>\*</sup>
25 > | `_` XID_continue<sup>+</sup>
27 An identifier is any nonempty Unicode string of the following form:
31 * The first character has property [`XID_start`]
32 * The remaining characters have property [`XID_continue`]
36 * The first character is `_`
37 * The identifier is more than one character, `_` alone is not an identifier
38 * The remaining characters have property [`XID_continue`]
40 that does _not_ occur in the set of [strict keywords].
42 > **Note**: [`XID_start`] and [`XID_continue`] as character properties cover the
43 > character ranges used to form the more familiar C and Java language-family
46 [`XID_start`]: http://unicode.org/cldr/utility/list-unicodeset.jsp?a=%5B%3AXID_Start%3A%5D&abb=on&g=&i=
47 [`XID_continue`]: http://unicode.org/cldr/utility/list-unicodeset.jsp?a=%5B%3AXID_Continue%3A%5D&abb=on&g=&i=
48 [strict keywords]: ../../reference/keywords.md#strict-keywords