1 Known issues that probably won’t ever be fixed (and hopefully *can’t* ever be fixed):
3 - Unicode scalar values whose hexadecimal representations contain a non-decimal
4 character (such as U+
1F622) cannot use this representation (except as noted below).
6 (I thought I might have to mention that surrogates like U+DEAD can’t be
7 represented because of using
`char`, but this rule already covers surrogates,
8 as they all start with D and so already couldn’t be expressed.
9 I’m sticking with calling this code point literals rather than
10 scalar value literals, and you probably can’t stop me.)
12 - Sequences ending in F32 or F64 (e.g. U+
0F32) but containing no other
13 non-decimal characters work, but the F has to be lowercase (e.g.
`U+0f32`).
15 - If you write the number after
`U+` in a format other than decimal,
16 you will be punished with incorrect answers (other than for zero).
17 I mean, really, what did you *expect*, writing a monstrosity like
`U+0x1F92E`?
19 Known issues that could conceivably become fixable at some future point (but probably not):
21 - rustfmt will uglify the code, turning
`U+1234` into
`U + 1234` and possibly
22 even inserting a line break. Tch. Such poor taste.
24 Known issues that will probably become fixable in the future:
26 - Depends on nightly rustc for various const stuff.
27 (You do want your Unicode literals checked at compile time, right?)
29 - Doesn’t explain the error very well.
33 - This only works in stead of
`char` literals; for string literals,
34 you *could* use things like the
`const_format` crate if you really want to,
35 like
`concatcp!("U+1234 = ", U+1234)`.