U+ 1.0.0
[u-plus] / KNOWN_ISSUES.md
1 Known issues that probably won’t ever be fixed (and hopefully *can’t* ever be fixed):
2
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).
5
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.)
11
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`).
14
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`?
18
19 Known issues that could conceivably become fixable at some future point (but probably not):
20
21 - rustfmt will uglify the code, turning `U+1234` into `U + 1234` and possibly
22 even inserting a line break. Tch. Such poor taste.
23
24 Known issues that will probably become fixable in the future:
25
26 - Depends on nightly rustc for various const stuff.
27 (You do want your Unicode literals checked at compile time, right?)
28
29 - Doesn’t explain the error very well.
30
31 Other limitations:
32
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)`.