1#![unstable(feature = "unicode_internals", issue = "none")]
2#![allow(missing_docs)]
3
4pub(crate) mod printable;
5mod unicode_data;
6
7/// The version of [Unicode](https://www.unicode.org/) that the Unicode parts of
8/// `char` and `str` methods are based on.
9///
10/// New versions of Unicode are released regularly and subsequently all methods
11/// in the standard library depending on Unicode are updated. Therefore the
12/// behavior of some `char` and `str` methods and the value of this constant
13/// changes over time. This is *not* considered to be a breaking change.
14///
15/// The version numbering scheme is explained in
16/// [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).
17#[stable(feature = "unicode_version", since = "1.45.0")]
18pub const UNICODE_VERSION: (u8, u8, u8) = unicode_data::UNICODE_VERSION;
19
20// For use in alloc, not re-exported in std.
21pub use unicode_data::{
22 case_ignorable::lookup as Case_Ignorable, cased::lookup as Cased, conversions,
23};
24
25pub(crate) use unicode_data::alphabetic::lookup as Alphabetic;
26pub(crate) use unicode_data::cc::lookup as Cc;
27pub(crate) use unicode_data::grapheme_extend::lookup as Grapheme_Extend;
28pub(crate) use unicode_data::lowercase::lookup as Lowercase;
29pub(crate) use unicode_data::n::lookup as N;
30pub(crate) use unicode_data::uppercase::lookup as Uppercase;
31pub(crate) use unicode_data::white_space::lookup as White_Space;
32