core/unicode/
mod.rs

1//! Unicode internals used in liballoc and libstd. Not public API.
2#![unstable(feature = "unicode_internals", issue = "none")]
3#![doc(hidden)]
4
5// for use in alloc, not re-exported in std.
6#[rustfmt::skip]
7pub use unicode_data::case_ignorable::lookup as Case_Ignorable;
8pub use unicode_data::cased::lookup as Cased;
9pub use unicode_data::conversions;
10
11#[rustfmt::skip]
12pub(crate) use unicode_data::alphabetic::lookup as Alphabetic;
13pub(crate) use unicode_data::grapheme_extend::lookup as Grapheme_Extend;
14pub(crate) use unicode_data::lowercase::lookup as Lowercase;
15pub(crate) use unicode_data::n::lookup as N;
16pub(crate) use unicode_data::uppercase::lookup as Uppercase;
17pub(crate) use unicode_data::white_space::lookup as White_Space;
18
19pub(crate) mod printable;
20
21#[allow(unreachable_pub)]
22mod unicode_data;
23
24/// The version of [Unicode](https://www.unicode.org/) that the Unicode parts of
25/// `char` and `str` methods are based on.
26///
27/// New versions of Unicode are released regularly and subsequently all methods
28/// in the standard library depending on Unicode are updated. Therefore the
29/// behavior of some `char` and `str` methods and the value of this constant
30/// changes over time. This is *not* considered to be a breaking change.
31///
32/// The version numbering scheme is explained in
33/// [Unicode 11.0 or later, Section 3.1 Versions of the Unicode Standard](https://www.unicode.org/versions/Unicode11.0.0/ch03.pdf#page=4).
34pub const UNICODE_VERSION: (u8, u8, u8) = unicode_data::UNICODE_VERSION;