Most of the transition was a matter of changing the namespace from std to core.
Unit tests for Display implementations are moved into integration tests, allowing use of format!() in test code.
[char-range] needed special attention, because of having an API using std::collections::Bound as input. Although the datatype is safe for core, it's part of liballoc APIs and therefore not available in libcore. Therefore, a new std feature is added to the package, which enables the part of the API.
[char-range] Feature implementations are refactored into separate files to simplify configuration conditioning.
[char-property] To be able to be used in no_std libraries, had to bring in some code for ASCII-case-insensitive char and str matching.
[char-property] The char_property!() macro now depends on the caller package to include extern crate core; explicitly iff it's a normal (use-std) package.
Most of the transition was a matter of changing the namespace from
std
tocore
.Unit tests for
Display
implementations are moved into integration tests, allowing use offormat!()
in test code.[
char-range
] needed special attention, because of having an API usingstd::collections::Bound
as input. Although the datatype is safe for core, it's part ofliballoc
APIs and therefore not available inlibcore
. Therefore, a newstd
feature is added to the package, which enables the part of the API.[
char-range
] Feature implementations are refactored into separate files to simplify configuration conditioning.[
char-property
] To be able to be used inno_std
libraries, had to bring in some code for ASCII-case-insensitive char and str matching.[
char-property
] Thechar_property!()
macro now depends on the caller package to includeextern crate core;
explicitly iff it's a normal (use-std) package.Tracker: https://github.com/behnam/rust-unic/issues/144