Auto merge of #104591 - Manishearth:rollup-b3ser4e, r=Manishearth
Rollup of 8 pull requests Successful merges: - #102977 (remove HRTB from `[T]::is_sorted_by{,_key}`) - #103378 (Fix mod_inv termination for the last iteration) - #103456 (`unchecked_{shl|shr}` should use `u32` as the RHS) - #103701 (Simplify some pointer method implementations) - #104047 (Diagnostics `icu4x` based list formatting.) - #104338 (Enforce that `dyn*` coercions are actually pointer-sized) - #104498 (Edit docs for `rustc_errors::Handler::stash_diagnostic`) - #104556 (rustdoc: use `code-header` class to format enum variants) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
ff0ffda6b3
48 changed files with 3030 additions and 150 deletions
180
Cargo.lock
180
Cargo.lock
|
@ -211,7 +211,7 @@ checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"memchr",
|
"memchr",
|
||||||
"regex-automata",
|
"regex-automata 0.1.10",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -222,7 +222,7 @@ checksum = "fca0852af221f458706eb0725c03e4ed6c46af9ac98e6a689d5e634215d594dd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"memchr",
|
"memchr",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"regex-automata",
|
"regex-automata 0.1.10",
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1707,6 +1707,73 @@ version = "2.0.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3c1ad908cc71012b7bea4d0c53ba96a8cba9962f048fa68d143376143d863b7a"
|
checksum = "3c1ad908cc71012b7bea4d0c53ba96a8cba9962f048fa68d143376143d863b7a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "icu_list"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c40218275f081c4493f190357c5395647b06734c2dc3dcb41cc099a0f60168b1"
|
||||||
|
dependencies = [
|
||||||
|
"displaydoc",
|
||||||
|
"icu_locid",
|
||||||
|
"icu_provider",
|
||||||
|
"regex-automata 0.2.0",
|
||||||
|
"writeable",
|
||||||
|
"zerovec",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "icu_locid"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34b3de5d99a0e275fe6193b9586dbf37364daebc0d39c89b5cf8376a53b789e8"
|
||||||
|
dependencies = [
|
||||||
|
"displaydoc",
|
||||||
|
"litemap",
|
||||||
|
"tinystr",
|
||||||
|
"writeable",
|
||||||
|
"zerovec",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "icu_provider"
|
||||||
|
version = "1.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2f911086e3c521a8a824d4f8bfd87769645ced2f07ff913b521c0d793be07100"
|
||||||
|
dependencies = [
|
||||||
|
"displaydoc",
|
||||||
|
"icu_locid",
|
||||||
|
"icu_provider_macros",
|
||||||
|
"stable_deref_trait",
|
||||||
|
"writeable",
|
||||||
|
"yoke",
|
||||||
|
"zerofrom",
|
||||||
|
"zerovec",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "icu_provider_adapters"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "980c71d8a91b246ebbb97847178a4b816eea39d1d550c70ee566384555bb6545"
|
||||||
|
dependencies = [
|
||||||
|
"icu_locid",
|
||||||
|
"icu_provider",
|
||||||
|
"tinystr",
|
||||||
|
"yoke",
|
||||||
|
"zerovec",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "icu_provider_macros"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "38cf6f5b65cf81f0b4298da647101acbfe6ae0e25263f92bd7a22597e9d6d606"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "idna"
|
name = "idna"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
|
@ -2034,6 +2101,12 @@ dependencies = [
|
||||||
"walkdir",
|
"walkdir",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "litemap"
|
||||||
|
version = "0.6.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f34a3f4798fac63fb48cf277eefa38f94d3443baff555bb98e4f56bc9092368e"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lld-wrapper"
|
name = "lld-wrapper"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
@ -2100,7 +2173,7 @@ version = "0.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
|
checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"regex-automata",
|
"regex-automata 0.1.10",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2927,6 +3000,15 @@ dependencies = [
|
||||||
"regex-syntax",
|
"regex-syntax",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-automata"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e9368763f5a9b804326f3af749e16f9abf378d227bcdee7634b13d8f17793782"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex-syntax"
|
name = "regex-syntax"
|
||||||
version = "0.6.26"
|
version = "0.6.26"
|
||||||
|
@ -3202,6 +3284,18 @@ dependencies = [
|
||||||
"rustc_span",
|
"rustc_span",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc_baked_icu_data"
|
||||||
|
version = "0.0.0"
|
||||||
|
dependencies = [
|
||||||
|
"icu_list",
|
||||||
|
"icu_locid",
|
||||||
|
"icu_provider",
|
||||||
|
"icu_provider_adapters",
|
||||||
|
"litemap",
|
||||||
|
"zerovec",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustc_borrowck"
|
name = "rustc_borrowck"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
|
@ -3422,13 +3516,18 @@ version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"fluent-bundle",
|
"fluent-bundle",
|
||||||
"fluent-syntax",
|
"fluent-syntax",
|
||||||
|
"icu_list",
|
||||||
|
"icu_locid",
|
||||||
|
"icu_provider_adapters",
|
||||||
"intl-memoizer",
|
"intl-memoizer",
|
||||||
|
"rustc_baked_icu_data",
|
||||||
"rustc_data_structures",
|
"rustc_data_structures",
|
||||||
"rustc_macros",
|
"rustc_macros",
|
||||||
"rustc_serialize",
|
"rustc_serialize",
|
||||||
"rustc_span",
|
"rustc_span",
|
||||||
"tracing",
|
"tracing",
|
||||||
"unic-langid",
|
"unic-langid",
|
||||||
|
"writeable",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -4935,6 +5034,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f8aeafdfd935e4a7fe16a91ab711fa52d54df84f9c8f7ca5837a9d1d902ef4c2"
|
checksum = "f8aeafdfd935e4a7fe16a91ab711fa52d54df84f9c8f7ca5837a9d1d902ef4c2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"displaydoc",
|
"displaydoc",
|
||||||
|
"zerovec",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -5547,6 +5647,12 @@ version = "0.42.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
|
checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "writeable"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f8e6ab4f5da1b24daf2c590cfac801bacb27b15b4f050e84eb60149ea726f06b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "xattr"
|
name = "xattr"
|
||||||
version = "0.2.2"
|
version = "0.2.2"
|
||||||
|
@ -5599,3 +5705,71 @@ checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"winapi",
|
"winapi",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "yoke"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1fe1d55ca72c32d573bfbd5cb2f0ca65a497854c44762957a6d3da96041a5184"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
"stable_deref_trait",
|
||||||
|
"yoke-derive",
|
||||||
|
"zerofrom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "yoke-derive"
|
||||||
|
version = "0.6.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1346e4cd025ae818b88566eac7eb65ab33a994ea55f355c86889af2e7e56b14e"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
"synstructure",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zerofrom"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "79e9355fccf72b04b7deaa99ce7a0f6630530acf34045391b74460fcd714de54"
|
||||||
|
dependencies = [
|
||||||
|
"zerofrom-derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zerofrom-derive"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2e8aa86add9ddbd2409c1ed01e033cd457d79b1b1229b64922c25095c595e829"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
"synstructure",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zerovec"
|
||||||
|
version = "0.9.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b9d919a74c17749ccb17beaf6405562e413cd94e98ba52ca1e64bbe7eefbd8b8"
|
||||||
|
dependencies = [
|
||||||
|
"yoke",
|
||||||
|
"zerofrom",
|
||||||
|
"zerovec-derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zerovec-derive"
|
||||||
|
version = "0.9.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "490e5f878c2856225e884c35927e7ea6db3c24cdb7229b72542c7526ad7ed49e"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
"synstructure",
|
||||||
|
]
|
||||||
|
|
15
compiler/rustc_baked_icu_data/Cargo.toml
Normal file
15
compiler/rustc_baked_icu_data/Cargo.toml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
[package]
|
||||||
|
name = "rustc_baked_icu_data"
|
||||||
|
version = "0.0.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
icu_list = "1.0.0"
|
||||||
|
icu_locid = "1.0.0"
|
||||||
|
icu_provider = "1.0.1"
|
||||||
|
icu_provider_adapters = "1.0.0"
|
||||||
|
litemap = "0.6.0"
|
||||||
|
zerovec = "0.9.0"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
rustc_use_parallel_compiler = ['icu_provider/sync']
|
42
compiler/rustc_baked_icu_data/src/data/any.rs
Normal file
42
compiler/rustc_baked_icu_data/src/data/any.rs
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
// @generated
|
||||||
|
impl AnyProvider for BakedDataProvider {
|
||||||
|
fn load_any(&self, key: DataKey, req: DataRequest) -> Result<AnyResponse, DataError> {
|
||||||
|
const ANDLISTV1MARKER: ::icu_provider::DataKeyHash =
|
||||||
|
::icu_list::provider::AndListV1Marker::KEY.hashed();
|
||||||
|
const COLLATIONFALLBACKSUPPLEMENTV1MARKER: ::icu_provider::DataKeyHash =
|
||||||
|
::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker::KEY
|
||||||
|
.hashed();
|
||||||
|
const LOCALEFALLBACKLIKELYSUBTAGSV1MARKER: ::icu_provider::DataKeyHash =
|
||||||
|
::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker::KEY
|
||||||
|
.hashed();
|
||||||
|
const LOCALEFALLBACKPARENTSV1MARKER: ::icu_provider::DataKeyHash =
|
||||||
|
::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker::KEY
|
||||||
|
.hashed();
|
||||||
|
#[allow(clippy::match_single_binding)]
|
||||||
|
match key.hashed() {
|
||||||
|
ANDLISTV1MARKER => list::and_v1::DATA
|
||||||
|
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
|
||||||
|
.copied()
|
||||||
|
.map(AnyPayload::from_static_ref)
|
||||||
|
.ok_or(DataErrorKind::MissingLocale),
|
||||||
|
COLLATIONFALLBACKSUPPLEMENTV1MARKER => fallback::supplement::co_v1::DATA
|
||||||
|
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
|
||||||
|
.copied()
|
||||||
|
.map(AnyPayload::from_static_ref)
|
||||||
|
.ok_or(DataErrorKind::MissingLocale),
|
||||||
|
LOCALEFALLBACKLIKELYSUBTAGSV1MARKER => fallback::likelysubtags_v1::DATA
|
||||||
|
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
|
||||||
|
.copied()
|
||||||
|
.map(AnyPayload::from_static_ref)
|
||||||
|
.ok_or(DataErrorKind::MissingLocale),
|
||||||
|
LOCALEFALLBACKPARENTSV1MARKER => fallback::parents_v1::DATA
|
||||||
|
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
|
||||||
|
.copied()
|
||||||
|
.map(AnyPayload::from_static_ref)
|
||||||
|
.ok_or(DataErrorKind::MissingLocale),
|
||||||
|
_ => Err(DataErrorKind::MissingDataKey),
|
||||||
|
}
|
||||||
|
.map_err(|e| e.with_req(key, req))
|
||||||
|
.map(|payload| AnyResponse { payload: Some(payload), metadata: Default::default() })
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,733 @@
|
||||||
|
// @generated
|
||||||
|
type DataStruct = < :: icu_provider_adapters :: fallback :: provider :: LocaleFallbackLikelySubtagsV1Marker as :: icu_provider :: DataMarker > :: Yokeable ;
|
||||||
|
pub static DATA: litemap::LiteMap<&str, &DataStruct, &[(&str, &DataStruct)]> =
|
||||||
|
litemap::LiteMap::from_sorted_store_unchecked(&[("und", UND)]);
|
||||||
|
static UND: &DataStruct =
|
||||||
|
&::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1 {
|
||||||
|
l2s: unsafe {
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
|
::zerovec::ZeroMap::from_parts_unchecked(
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
97u8, 98u8, 0u8, 97u8, 98u8, 113u8, 97u8, 100u8, 112u8, 97u8, 100u8, 121u8,
|
||||||
|
97u8, 101u8, 0u8, 97u8, 101u8, 98u8, 97u8, 104u8, 111u8, 97u8, 106u8,
|
||||||
|
116u8, 97u8, 107u8, 107u8, 97u8, 108u8, 116u8, 97u8, 109u8, 0u8, 97u8,
|
||||||
|
112u8, 99u8, 97u8, 112u8, 100u8, 97u8, 114u8, 0u8, 97u8, 114u8, 99u8, 97u8,
|
||||||
|
114u8, 113u8, 97u8, 114u8, 115u8, 97u8, 114u8, 121u8, 97u8, 114u8, 122u8,
|
||||||
|
97u8, 115u8, 0u8, 97u8, 115u8, 101u8, 97u8, 118u8, 0u8, 97u8, 118u8, 108u8,
|
||||||
|
97u8, 119u8, 97u8, 98u8, 97u8, 0u8, 98u8, 97u8, 108u8, 98u8, 97u8, 112u8,
|
||||||
|
98u8, 97u8, 120u8, 98u8, 99u8, 113u8, 98u8, 101u8, 0u8, 98u8, 101u8, 106u8,
|
||||||
|
98u8, 102u8, 113u8, 98u8, 102u8, 116u8, 98u8, 102u8, 121u8, 98u8, 103u8,
|
||||||
|
0u8, 98u8, 103u8, 99u8, 98u8, 103u8, 110u8, 98u8, 103u8, 120u8, 98u8,
|
||||||
|
104u8, 98u8, 98u8, 104u8, 105u8, 98u8, 104u8, 111u8, 98u8, 106u8, 105u8,
|
||||||
|
98u8, 106u8, 106u8, 98u8, 108u8, 116u8, 98u8, 110u8, 0u8, 98u8, 111u8, 0u8,
|
||||||
|
98u8, 112u8, 121u8, 98u8, 113u8, 105u8, 98u8, 114u8, 97u8, 98u8, 114u8,
|
||||||
|
104u8, 98u8, 114u8, 120u8, 98u8, 115u8, 113u8, 98u8, 115u8, 116u8, 98u8,
|
||||||
|
116u8, 118u8, 98u8, 117u8, 97u8, 98u8, 121u8, 110u8, 99u8, 99u8, 112u8,
|
||||||
|
99u8, 101u8, 0u8, 99u8, 104u8, 109u8, 99u8, 104u8, 114u8, 99u8, 106u8,
|
||||||
|
97u8, 99u8, 106u8, 109u8, 99u8, 107u8, 98u8, 99u8, 109u8, 103u8, 99u8,
|
||||||
|
111u8, 112u8, 99u8, 114u8, 0u8, 99u8, 114u8, 104u8, 99u8, 114u8, 107u8,
|
||||||
|
99u8, 114u8, 108u8, 99u8, 115u8, 119u8, 99u8, 116u8, 100u8, 99u8, 117u8,
|
||||||
|
0u8, 99u8, 118u8, 0u8, 100u8, 97u8, 114u8, 100u8, 99u8, 99u8, 100u8, 103u8,
|
||||||
|
108u8, 100u8, 109u8, 102u8, 100u8, 111u8, 105u8, 100u8, 114u8, 104u8,
|
||||||
|
100u8, 114u8, 115u8, 100u8, 116u8, 121u8, 100u8, 118u8, 0u8, 100u8, 122u8,
|
||||||
|
0u8, 101u8, 103u8, 121u8, 101u8, 107u8, 121u8, 101u8, 108u8, 0u8, 101u8,
|
||||||
|
115u8, 103u8, 101u8, 116u8, 116u8, 102u8, 97u8, 0u8, 102u8, 105u8, 97u8,
|
||||||
|
102u8, 117u8, 98u8, 103u8, 97u8, 110u8, 103u8, 98u8, 109u8, 103u8, 98u8,
|
||||||
|
122u8, 103u8, 101u8, 122u8, 103u8, 103u8, 110u8, 103u8, 106u8, 107u8,
|
||||||
|
103u8, 106u8, 117u8, 103u8, 108u8, 107u8, 103u8, 109u8, 118u8, 103u8,
|
||||||
|
111u8, 102u8, 103u8, 111u8, 109u8, 103u8, 111u8, 110u8, 103u8, 111u8,
|
||||||
|
116u8, 103u8, 114u8, 99u8, 103u8, 114u8, 116u8, 103u8, 117u8, 0u8, 103u8,
|
||||||
|
118u8, 114u8, 103u8, 119u8, 99u8, 103u8, 119u8, 116u8, 104u8, 97u8, 107u8,
|
||||||
|
104u8, 97u8, 122u8, 104u8, 100u8, 121u8, 104u8, 101u8, 0u8, 104u8, 105u8,
|
||||||
|
0u8, 104u8, 108u8, 117u8, 104u8, 109u8, 100u8, 104u8, 110u8, 100u8, 104u8,
|
||||||
|
110u8, 101u8, 104u8, 110u8, 106u8, 104u8, 110u8, 111u8, 104u8, 111u8, 99u8,
|
||||||
|
104u8, 111u8, 106u8, 104u8, 115u8, 110u8, 104u8, 121u8, 0u8, 105u8, 105u8,
|
||||||
|
0u8, 105u8, 110u8, 104u8, 105u8, 117u8, 0u8, 105u8, 119u8, 0u8, 106u8,
|
||||||
|
97u8, 0u8, 106u8, 105u8, 0u8, 106u8, 109u8, 108u8, 107u8, 97u8, 0u8, 107u8,
|
||||||
|
97u8, 97u8, 107u8, 97u8, 119u8, 107u8, 98u8, 100u8, 107u8, 98u8, 121u8,
|
||||||
|
107u8, 100u8, 116u8, 107u8, 102u8, 114u8, 107u8, 102u8, 121u8, 107u8,
|
||||||
|
104u8, 98u8, 107u8, 104u8, 110u8, 107u8, 104u8, 116u8, 107u8, 104u8, 119u8,
|
||||||
|
107u8, 106u8, 103u8, 107u8, 107u8, 0u8, 107u8, 109u8, 0u8, 107u8, 110u8,
|
||||||
|
0u8, 107u8, 111u8, 0u8, 107u8, 111u8, 105u8, 107u8, 111u8, 107u8, 107u8,
|
||||||
|
113u8, 121u8, 107u8, 114u8, 99u8, 107u8, 114u8, 117u8, 107u8, 115u8, 0u8,
|
||||||
|
107u8, 116u8, 98u8, 107u8, 117u8, 109u8, 107u8, 118u8, 0u8, 107u8, 118u8,
|
||||||
|
120u8, 107u8, 120u8, 99u8, 107u8, 120u8, 108u8, 107u8, 120u8, 109u8, 107u8,
|
||||||
|
120u8, 112u8, 107u8, 121u8, 0u8, 107u8, 122u8, 104u8, 108u8, 97u8, 98u8,
|
||||||
|
108u8, 97u8, 100u8, 108u8, 97u8, 104u8, 108u8, 98u8, 101u8, 108u8, 99u8,
|
||||||
|
112u8, 108u8, 101u8, 112u8, 108u8, 101u8, 122u8, 108u8, 105u8, 102u8,
|
||||||
|
108u8, 105u8, 115u8, 108u8, 107u8, 105u8, 108u8, 109u8, 110u8, 108u8,
|
||||||
|
111u8, 0u8, 108u8, 114u8, 99u8, 108u8, 117u8, 122u8, 108u8, 119u8, 108u8,
|
||||||
|
108u8, 122u8, 104u8, 109u8, 97u8, 103u8, 109u8, 97u8, 105u8, 109u8, 100u8,
|
||||||
|
101u8, 109u8, 100u8, 102u8, 109u8, 100u8, 120u8, 109u8, 102u8, 97u8, 109u8,
|
||||||
|
103u8, 112u8, 109u8, 107u8, 0u8, 109u8, 107u8, 105u8, 109u8, 108u8, 0u8,
|
||||||
|
109u8, 110u8, 0u8, 109u8, 110u8, 105u8, 109u8, 110u8, 119u8, 109u8, 114u8,
|
||||||
|
0u8, 109u8, 114u8, 100u8, 109u8, 114u8, 106u8, 109u8, 114u8, 111u8, 109u8,
|
||||||
|
116u8, 114u8, 109u8, 118u8, 121u8, 109u8, 119u8, 114u8, 109u8, 119u8,
|
||||||
|
119u8, 109u8, 121u8, 0u8, 109u8, 121u8, 109u8, 109u8, 121u8, 118u8, 109u8,
|
||||||
|
121u8, 122u8, 109u8, 122u8, 110u8, 110u8, 97u8, 110u8, 110u8, 101u8, 0u8,
|
||||||
|
110u8, 101u8, 119u8, 110u8, 110u8, 112u8, 110u8, 111u8, 100u8, 110u8,
|
||||||
|
111u8, 101u8, 110u8, 111u8, 110u8, 110u8, 113u8, 111u8, 110u8, 115u8,
|
||||||
|
107u8, 110u8, 115u8, 116u8, 111u8, 106u8, 0u8, 111u8, 106u8, 115u8, 111u8,
|
||||||
|
114u8, 0u8, 111u8, 114u8, 117u8, 111u8, 115u8, 0u8, 111u8, 115u8, 97u8,
|
||||||
|
111u8, 116u8, 97u8, 111u8, 116u8, 107u8, 111u8, 117u8, 105u8, 112u8, 97u8,
|
||||||
|
0u8, 112u8, 97u8, 108u8, 112u8, 101u8, 111u8, 112u8, 104u8, 108u8, 112u8,
|
||||||
|
104u8, 110u8, 112u8, 107u8, 97u8, 112u8, 110u8, 116u8, 112u8, 112u8, 97u8,
|
||||||
|
112u8, 114u8, 97u8, 112u8, 114u8, 100u8, 112u8, 115u8, 0u8, 114u8, 97u8,
|
||||||
|
106u8, 114u8, 104u8, 103u8, 114u8, 105u8, 102u8, 114u8, 106u8, 115u8,
|
||||||
|
114u8, 107u8, 116u8, 114u8, 109u8, 116u8, 114u8, 117u8, 0u8, 114u8, 117u8,
|
||||||
|
101u8, 114u8, 121u8, 117u8, 115u8, 97u8, 0u8, 115u8, 97u8, 104u8, 115u8,
|
||||||
|
97u8, 116u8, 115u8, 97u8, 122u8, 115u8, 99u8, 107u8, 115u8, 99u8, 108u8,
|
||||||
|
115u8, 100u8, 0u8, 115u8, 100u8, 104u8, 115u8, 103u8, 97u8, 115u8, 103u8,
|
||||||
|
119u8, 115u8, 104u8, 105u8, 115u8, 104u8, 110u8, 115u8, 104u8, 117u8,
|
||||||
|
115u8, 105u8, 0u8, 115u8, 107u8, 114u8, 115u8, 109u8, 112u8, 115u8, 111u8,
|
||||||
|
103u8, 115u8, 111u8, 117u8, 115u8, 114u8, 0u8, 115u8, 114u8, 98u8, 115u8,
|
||||||
|
114u8, 120u8, 115u8, 119u8, 98u8, 115u8, 119u8, 118u8, 115u8, 121u8, 108u8,
|
||||||
|
115u8, 121u8, 114u8, 116u8, 97u8, 0u8, 116u8, 97u8, 106u8, 116u8, 99u8,
|
||||||
|
121u8, 116u8, 100u8, 100u8, 116u8, 100u8, 103u8, 116u8, 100u8, 104u8,
|
||||||
|
116u8, 101u8, 0u8, 116u8, 103u8, 0u8, 116u8, 104u8, 0u8, 116u8, 104u8,
|
||||||
|
108u8, 116u8, 104u8, 113u8, 116u8, 104u8, 114u8, 116u8, 105u8, 0u8, 116u8,
|
||||||
|
105u8, 103u8, 116u8, 107u8, 116u8, 116u8, 114u8, 119u8, 116u8, 115u8,
|
||||||
|
100u8, 116u8, 115u8, 102u8, 116u8, 115u8, 106u8, 116u8, 116u8, 0u8, 116u8,
|
||||||
|
116u8, 115u8, 116u8, 120u8, 103u8, 116u8, 120u8, 111u8, 116u8, 121u8,
|
||||||
|
118u8, 117u8, 100u8, 105u8, 117u8, 100u8, 109u8, 117u8, 103u8, 0u8, 117u8,
|
||||||
|
103u8, 97u8, 117u8, 107u8, 0u8, 117u8, 110u8, 114u8, 117u8, 110u8, 120u8,
|
||||||
|
117u8, 114u8, 0u8, 118u8, 97u8, 105u8, 119u8, 97u8, 108u8, 119u8, 98u8,
|
||||||
|
113u8, 119u8, 98u8, 114u8, 119u8, 110u8, 105u8, 119u8, 115u8, 103u8, 119u8,
|
||||||
|
116u8, 109u8, 119u8, 117u8, 117u8, 120u8, 99u8, 111u8, 120u8, 99u8, 114u8,
|
||||||
|
120u8, 108u8, 99u8, 120u8, 108u8, 100u8, 120u8, 109u8, 102u8, 120u8, 109u8,
|
||||||
|
110u8, 120u8, 109u8, 114u8, 120u8, 110u8, 97u8, 120u8, 110u8, 114u8, 120u8,
|
||||||
|
112u8, 114u8, 120u8, 115u8, 97u8, 120u8, 115u8, 114u8, 121u8, 105u8, 0u8,
|
||||||
|
121u8, 117u8, 101u8, 122u8, 100u8, 106u8, 122u8, 103u8, 104u8, 122u8,
|
||||||
|
104u8, 0u8, 122u8, 104u8, 120u8, 122u8, 107u8, 116u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
67u8, 121u8, 114u8, 108u8, 67u8, 121u8, 114u8, 108u8, 84u8, 105u8, 98u8,
|
||||||
|
116u8, 67u8, 121u8, 114u8, 108u8, 65u8, 118u8, 115u8, 116u8, 65u8, 114u8,
|
||||||
|
97u8, 98u8, 65u8, 104u8, 111u8, 109u8, 65u8, 114u8, 97u8, 98u8, 88u8,
|
||||||
|
115u8, 117u8, 120u8, 67u8, 121u8, 114u8, 108u8, 69u8, 116u8, 104u8, 105u8,
|
||||||
|
65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8,
|
||||||
|
65u8, 114u8, 109u8, 105u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8,
|
||||||
|
98u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 66u8, 101u8, 110u8,
|
||||||
|
103u8, 83u8, 103u8, 110u8, 119u8, 67u8, 121u8, 114u8, 108u8, 65u8, 114u8,
|
||||||
|
97u8, 98u8, 68u8, 101u8, 118u8, 97u8, 67u8, 121u8, 114u8, 108u8, 65u8,
|
||||||
|
114u8, 97u8, 98u8, 68u8, 101u8, 118u8, 97u8, 66u8, 97u8, 109u8, 117u8,
|
||||||
|
69u8, 116u8, 104u8, 105u8, 67u8, 121u8, 114u8, 108u8, 65u8, 114u8, 97u8,
|
||||||
|
98u8, 84u8, 97u8, 109u8, 108u8, 65u8, 114u8, 97u8, 98u8, 68u8, 101u8,
|
||||||
|
118u8, 97u8, 67u8, 121u8, 114u8, 108u8, 68u8, 101u8, 118u8, 97u8, 65u8,
|
||||||
|
114u8, 97u8, 98u8, 71u8, 114u8, 101u8, 107u8, 68u8, 101u8, 118u8, 97u8,
|
||||||
|
68u8, 101u8, 118u8, 97u8, 68u8, 101u8, 118u8, 97u8, 69u8, 116u8, 104u8,
|
||||||
|
105u8, 68u8, 101u8, 118u8, 97u8, 84u8, 97u8, 118u8, 116u8, 66u8, 101u8,
|
||||||
|
110u8, 103u8, 84u8, 105u8, 98u8, 116u8, 66u8, 101u8, 110u8, 103u8, 65u8,
|
||||||
|
114u8, 97u8, 98u8, 68u8, 101u8, 118u8, 97u8, 65u8, 114u8, 97u8, 98u8, 68u8,
|
||||||
|
101u8, 118u8, 97u8, 66u8, 97u8, 115u8, 115u8, 69u8, 116u8, 104u8, 105u8,
|
||||||
|
68u8, 101u8, 118u8, 97u8, 67u8, 121u8, 114u8, 108u8, 69u8, 116u8, 104u8,
|
||||||
|
105u8, 67u8, 97u8, 107u8, 109u8, 67u8, 121u8, 114u8, 108u8, 67u8, 121u8,
|
||||||
|
114u8, 108u8, 67u8, 104u8, 101u8, 114u8, 65u8, 114u8, 97u8, 98u8, 67u8,
|
||||||
|
104u8, 97u8, 109u8, 65u8, 114u8, 97u8, 98u8, 83u8, 111u8, 121u8, 111u8,
|
||||||
|
67u8, 111u8, 112u8, 116u8, 67u8, 97u8, 110u8, 115u8, 67u8, 121u8, 114u8,
|
||||||
|
108u8, 67u8, 97u8, 110u8, 115u8, 67u8, 97u8, 110u8, 115u8, 67u8, 97u8,
|
||||||
|
110u8, 115u8, 80u8, 97u8, 117u8, 99u8, 67u8, 121u8, 114u8, 108u8, 67u8,
|
||||||
|
121u8, 114u8, 108u8, 67u8, 121u8, 114u8, 108u8, 65u8, 114u8, 97u8, 98u8,
|
||||||
|
65u8, 114u8, 97u8, 98u8, 77u8, 101u8, 100u8, 102u8, 68u8, 101u8, 118u8,
|
||||||
|
97u8, 77u8, 111u8, 110u8, 103u8, 69u8, 116u8, 104u8, 105u8, 68u8, 101u8,
|
||||||
|
118u8, 97u8, 84u8, 104u8, 97u8, 97u8, 84u8, 105u8, 98u8, 116u8, 69u8,
|
||||||
|
103u8, 121u8, 112u8, 75u8, 97u8, 108u8, 105u8, 71u8, 114u8, 101u8, 107u8,
|
||||||
|
71u8, 111u8, 110u8, 109u8, 73u8, 116u8, 97u8, 108u8, 65u8, 114u8, 97u8,
|
||||||
|
98u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 72u8, 97u8, 110u8,
|
||||||
|
115u8, 68u8, 101u8, 118u8, 97u8, 65u8, 114u8, 97u8, 98u8, 69u8, 116u8,
|
||||||
|
104u8, 105u8, 68u8, 101u8, 118u8, 97u8, 65u8, 114u8, 97u8, 98u8, 65u8,
|
||||||
|
114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 69u8, 116u8, 104u8, 105u8,
|
||||||
|
69u8, 116u8, 104u8, 105u8, 68u8, 101u8, 118u8, 97u8, 84u8, 101u8, 108u8,
|
||||||
|
117u8, 71u8, 111u8, 116u8, 104u8, 67u8, 112u8, 114u8, 116u8, 66u8, 101u8,
|
||||||
|
110u8, 103u8, 71u8, 117u8, 106u8, 114u8, 68u8, 101u8, 118u8, 97u8, 65u8,
|
||||||
|
114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 72u8, 97u8, 110u8, 115u8, 65u8,
|
||||||
|
114u8, 97u8, 98u8, 69u8, 116u8, 104u8, 105u8, 72u8, 101u8, 98u8, 114u8,
|
||||||
|
68u8, 101u8, 118u8, 97u8, 72u8, 108u8, 117u8, 119u8, 80u8, 108u8, 114u8,
|
||||||
|
100u8, 65u8, 114u8, 97u8, 98u8, 68u8, 101u8, 118u8, 97u8, 72u8, 109u8,
|
||||||
|
110u8, 112u8, 65u8, 114u8, 97u8, 98u8, 68u8, 101u8, 118u8, 97u8, 68u8,
|
||||||
|
101u8, 118u8, 97u8, 72u8, 97u8, 110u8, 115u8, 65u8, 114u8, 109u8, 110u8,
|
||||||
|
89u8, 105u8, 105u8, 105u8, 67u8, 121u8, 114u8, 108u8, 67u8, 97u8, 110u8,
|
||||||
|
115u8, 72u8, 101u8, 98u8, 114u8, 74u8, 112u8, 97u8, 110u8, 72u8, 101u8,
|
||||||
|
98u8, 114u8, 68u8, 101u8, 118u8, 97u8, 71u8, 101u8, 111u8, 114u8, 67u8,
|
||||||
|
121u8, 114u8, 108u8, 75u8, 97u8, 119u8, 105u8, 67u8, 121u8, 114u8, 108u8,
|
||||||
|
65u8, 114u8, 97u8, 98u8, 84u8, 104u8, 97u8, 105u8, 68u8, 101u8, 118u8,
|
||||||
|
97u8, 68u8, 101u8, 118u8, 97u8, 84u8, 97u8, 108u8, 117u8, 68u8, 101u8,
|
||||||
|
118u8, 97u8, 77u8, 121u8, 109u8, 114u8, 65u8, 114u8, 97u8, 98u8, 76u8,
|
||||||
|
97u8, 111u8, 111u8, 67u8, 121u8, 114u8, 108u8, 75u8, 104u8, 109u8, 114u8,
|
||||||
|
75u8, 110u8, 100u8, 97u8, 75u8, 111u8, 114u8, 101u8, 67u8, 121u8, 114u8,
|
||||||
|
108u8, 68u8, 101u8, 118u8, 97u8, 69u8, 116u8, 104u8, 105u8, 67u8, 121u8,
|
||||||
|
114u8, 108u8, 68u8, 101u8, 118u8, 97u8, 65u8, 114u8, 97u8, 98u8, 69u8,
|
||||||
|
116u8, 104u8, 105u8, 67u8, 121u8, 114u8, 108u8, 67u8, 121u8, 114u8, 108u8,
|
||||||
|
65u8, 114u8, 97u8, 98u8, 69u8, 116u8, 104u8, 105u8, 68u8, 101u8, 118u8,
|
||||||
|
97u8, 84u8, 104u8, 97u8, 105u8, 65u8, 114u8, 97u8, 98u8, 67u8, 121u8,
|
||||||
|
114u8, 108u8, 65u8, 114u8, 97u8, 98u8, 76u8, 105u8, 110u8, 97u8, 72u8,
|
||||||
|
101u8, 98u8, 114u8, 65u8, 114u8, 97u8, 98u8, 67u8, 121u8, 114u8, 108u8,
|
||||||
|
84u8, 104u8, 97u8, 105u8, 76u8, 101u8, 112u8, 99u8, 67u8, 121u8, 114u8,
|
||||||
|
108u8, 68u8, 101u8, 118u8, 97u8, 76u8, 105u8, 115u8, 117u8, 65u8, 114u8,
|
||||||
|
97u8, 98u8, 84u8, 101u8, 108u8, 117u8, 76u8, 97u8, 111u8, 111u8, 65u8,
|
||||||
|
114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 84u8, 104u8, 97u8, 105u8, 72u8,
|
||||||
|
97u8, 110u8, 115u8, 68u8, 101u8, 118u8, 97u8, 68u8, 101u8, 118u8, 97u8,
|
||||||
|
65u8, 114u8, 97u8, 98u8, 67u8, 121u8, 114u8, 108u8, 69u8, 116u8, 104u8,
|
||||||
|
105u8, 65u8, 114u8, 97u8, 98u8, 68u8, 101u8, 118u8, 97u8, 67u8, 121u8,
|
||||||
|
114u8, 108u8, 65u8, 114u8, 97u8, 98u8, 77u8, 108u8, 121u8, 109u8, 67u8,
|
||||||
|
121u8, 114u8, 108u8, 66u8, 101u8, 110u8, 103u8, 77u8, 121u8, 109u8, 114u8,
|
||||||
|
68u8, 101u8, 118u8, 97u8, 68u8, 101u8, 118u8, 97u8, 67u8, 121u8, 114u8,
|
||||||
|
108u8, 77u8, 114u8, 111u8, 111u8, 68u8, 101u8, 118u8, 97u8, 65u8, 114u8,
|
||||||
|
97u8, 98u8, 68u8, 101u8, 118u8, 97u8, 72u8, 109u8, 110u8, 112u8, 77u8,
|
||||||
|
121u8, 109u8, 114u8, 69u8, 116u8, 104u8, 105u8, 67u8, 121u8, 114u8, 108u8,
|
||||||
|
77u8, 97u8, 110u8, 100u8, 65u8, 114u8, 97u8, 98u8, 72u8, 97u8, 110u8,
|
||||||
|
115u8, 68u8, 101u8, 118u8, 97u8, 68u8, 101u8, 118u8, 97u8, 87u8, 99u8,
|
||||||
|
104u8, 111u8, 76u8, 97u8, 110u8, 97u8, 68u8, 101u8, 118u8, 97u8, 82u8,
|
||||||
|
117u8, 110u8, 114u8, 78u8, 107u8, 111u8, 111u8, 67u8, 97u8, 110u8, 115u8,
|
||||||
|
84u8, 110u8, 115u8, 97u8, 67u8, 97u8, 110u8, 115u8, 67u8, 97u8, 110u8,
|
||||||
|
115u8, 79u8, 114u8, 121u8, 97u8, 65u8, 114u8, 97u8, 98u8, 67u8, 121u8,
|
||||||
|
114u8, 108u8, 79u8, 115u8, 103u8, 101u8, 65u8, 114u8, 97u8, 98u8, 79u8,
|
||||||
|
114u8, 107u8, 104u8, 79u8, 117u8, 103u8, 114u8, 71u8, 117u8, 114u8, 117u8,
|
||||||
|
80u8, 104u8, 108u8, 105u8, 88u8, 112u8, 101u8, 111u8, 65u8, 114u8, 97u8,
|
||||||
|
98u8, 80u8, 104u8, 110u8, 120u8, 66u8, 114u8, 97u8, 104u8, 71u8, 114u8,
|
||||||
|
101u8, 107u8, 68u8, 101u8, 118u8, 97u8, 75u8, 104u8, 97u8, 114u8, 65u8,
|
||||||
|
114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 68u8, 101u8, 118u8, 97u8, 82u8,
|
||||||
|
111u8, 104u8, 103u8, 84u8, 102u8, 110u8, 103u8, 68u8, 101u8, 118u8, 97u8,
|
||||||
|
66u8, 101u8, 110u8, 103u8, 65u8, 114u8, 97u8, 98u8, 67u8, 121u8, 114u8,
|
||||||
|
108u8, 67u8, 121u8, 114u8, 108u8, 75u8, 97u8, 110u8, 97u8, 68u8, 101u8,
|
||||||
|
118u8, 97u8, 67u8, 121u8, 114u8, 108u8, 79u8, 108u8, 99u8, 107u8, 83u8,
|
||||||
|
97u8, 117u8, 114u8, 68u8, 101u8, 118u8, 97u8, 65u8, 114u8, 97u8, 98u8,
|
||||||
|
65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 79u8, 103u8, 97u8, 109u8,
|
||||||
|
69u8, 116u8, 104u8, 105u8, 84u8, 102u8, 110u8, 103u8, 77u8, 121u8, 109u8,
|
||||||
|
114u8, 65u8, 114u8, 97u8, 98u8, 83u8, 105u8, 110u8, 104u8, 65u8, 114u8,
|
||||||
|
97u8, 98u8, 83u8, 97u8, 109u8, 114u8, 83u8, 111u8, 103u8, 100u8, 84u8,
|
||||||
|
104u8, 97u8, 105u8, 67u8, 121u8, 114u8, 108u8, 83u8, 111u8, 114u8, 97u8,
|
||||||
|
68u8, 101u8, 118u8, 97u8, 65u8, 114u8, 97u8, 98u8, 68u8, 101u8, 118u8,
|
||||||
|
97u8, 66u8, 101u8, 110u8, 103u8, 83u8, 121u8, 114u8, 99u8, 84u8, 97u8,
|
||||||
|
109u8, 108u8, 68u8, 101u8, 118u8, 97u8, 75u8, 110u8, 100u8, 97u8, 84u8,
|
||||||
|
97u8, 108u8, 101u8, 68u8, 101u8, 118u8, 97u8, 68u8, 101u8, 118u8, 97u8,
|
||||||
|
84u8, 101u8, 108u8, 117u8, 67u8, 121u8, 114u8, 108u8, 84u8, 104u8, 97u8,
|
||||||
|
105u8, 68u8, 101u8, 118u8, 97u8, 68u8, 101u8, 118u8, 97u8, 68u8, 101u8,
|
||||||
|
118u8, 97u8, 69u8, 116u8, 104u8, 105u8, 69u8, 116u8, 104u8, 105u8, 68u8,
|
||||||
|
101u8, 118u8, 97u8, 65u8, 114u8, 97u8, 98u8, 71u8, 114u8, 101u8, 107u8,
|
||||||
|
68u8, 101u8, 118u8, 97u8, 84u8, 105u8, 98u8, 116u8, 67u8, 121u8, 114u8,
|
||||||
|
108u8, 84u8, 104u8, 97u8, 105u8, 84u8, 97u8, 110u8, 103u8, 84u8, 111u8,
|
||||||
|
116u8, 111u8, 67u8, 121u8, 114u8, 108u8, 65u8, 103u8, 104u8, 98u8, 67u8,
|
||||||
|
121u8, 114u8, 108u8, 65u8, 114u8, 97u8, 98u8, 85u8, 103u8, 97u8, 114u8,
|
||||||
|
67u8, 121u8, 114u8, 108u8, 66u8, 101u8, 110u8, 103u8, 66u8, 101u8, 110u8,
|
||||||
|
103u8, 65u8, 114u8, 97u8, 98u8, 86u8, 97u8, 105u8, 105u8, 69u8, 116u8,
|
||||||
|
104u8, 105u8, 84u8, 101u8, 108u8, 117u8, 68u8, 101u8, 118u8, 97u8, 65u8,
|
||||||
|
114u8, 97u8, 98u8, 71u8, 111u8, 110u8, 103u8, 68u8, 101u8, 118u8, 97u8,
|
||||||
|
72u8, 97u8, 110u8, 115u8, 67u8, 104u8, 114u8, 115u8, 67u8, 97u8, 114u8,
|
||||||
|
105u8, 76u8, 121u8, 99u8, 105u8, 76u8, 121u8, 100u8, 105u8, 71u8, 101u8,
|
||||||
|
111u8, 114u8, 77u8, 97u8, 110u8, 105u8, 77u8, 101u8, 114u8, 99u8, 78u8,
|
||||||
|
97u8, 114u8, 98u8, 68u8, 101u8, 118u8, 97u8, 80u8, 114u8, 116u8, 105u8,
|
||||||
|
83u8, 97u8, 114u8, 98u8, 68u8, 101u8, 118u8, 97u8, 72u8, 101u8, 98u8,
|
||||||
|
114u8, 72u8, 97u8, 110u8, 116u8, 65u8, 114u8, 97u8, 98u8, 84u8, 102u8,
|
||||||
|
110u8, 103u8, 72u8, 97u8, 110u8, 115u8, 78u8, 115u8, 104u8, 117u8, 75u8,
|
||||||
|
105u8, 116u8, 115u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
)
|
||||||
|
},
|
||||||
|
lr2s: unsafe {
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
|
::zerovec::ZeroMap2d::from_parts_unchecked(
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
97u8, 122u8, 0u8, 104u8, 97u8, 0u8, 107u8, 107u8, 0u8, 107u8, 117u8, 0u8,
|
||||||
|
107u8, 121u8, 0u8, 109u8, 97u8, 110u8, 109u8, 110u8, 0u8, 109u8, 115u8,
|
||||||
|
0u8, 112u8, 97u8, 0u8, 114u8, 105u8, 102u8, 115u8, 100u8, 0u8, 115u8,
|
||||||
|
114u8, 0u8, 116u8, 103u8, 0u8, 117u8, 103u8, 0u8, 117u8, 110u8, 114u8,
|
||||||
|
117u8, 122u8, 0u8, 121u8, 117u8, 101u8, 122u8, 104u8, 0u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
3u8, 0u8, 0u8, 0u8, 5u8, 0u8, 0u8, 0u8, 9u8, 0u8, 0u8, 0u8, 10u8, 0u8, 0u8,
|
||||||
|
0u8, 12u8, 0u8, 0u8, 0u8, 13u8, 0u8, 0u8, 0u8, 14u8, 0u8, 0u8, 0u8, 15u8,
|
||||||
|
0u8, 0u8, 0u8, 16u8, 0u8, 0u8, 0u8, 17u8, 0u8, 0u8, 0u8, 18u8, 0u8, 0u8,
|
||||||
|
0u8, 22u8, 0u8, 0u8, 0u8, 23u8, 0u8, 0u8, 0u8, 25u8, 0u8, 0u8, 0u8, 26u8,
|
||||||
|
0u8, 0u8, 0u8, 28u8, 0u8, 0u8, 0u8, 29u8, 0u8, 0u8, 0u8, 44u8, 0u8, 0u8,
|
||||||
|
0u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
73u8, 81u8, 0u8, 73u8, 82u8, 0u8, 82u8, 85u8, 0u8, 67u8, 77u8, 0u8, 83u8,
|
||||||
|
68u8, 0u8, 65u8, 70u8, 0u8, 67u8, 78u8, 0u8, 73u8, 82u8, 0u8, 77u8, 78u8,
|
||||||
|
0u8, 76u8, 66u8, 0u8, 67u8, 78u8, 0u8, 84u8, 82u8, 0u8, 71u8, 78u8, 0u8,
|
||||||
|
67u8, 78u8, 0u8, 67u8, 67u8, 0u8, 80u8, 75u8, 0u8, 78u8, 76u8, 0u8, 73u8,
|
||||||
|
78u8, 0u8, 77u8, 69u8, 0u8, 82u8, 79u8, 0u8, 82u8, 85u8, 0u8, 84u8, 82u8,
|
||||||
|
0u8, 80u8, 75u8, 0u8, 75u8, 90u8, 0u8, 77u8, 78u8, 0u8, 78u8, 80u8, 0u8,
|
||||||
|
65u8, 70u8, 0u8, 67u8, 78u8, 0u8, 67u8, 78u8, 0u8, 65u8, 85u8, 0u8, 66u8,
|
||||||
|
78u8, 0u8, 71u8, 66u8, 0u8, 71u8, 70u8, 0u8, 72u8, 75u8, 0u8, 73u8, 68u8,
|
||||||
|
0u8, 77u8, 79u8, 0u8, 80u8, 65u8, 0u8, 80u8, 70u8, 0u8, 80u8, 72u8, 0u8,
|
||||||
|
83u8, 82u8, 0u8, 84u8, 72u8, 0u8, 84u8, 87u8, 0u8, 85u8, 83u8, 0u8, 86u8,
|
||||||
|
78u8, 0u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 67u8, 121u8, 114u8,
|
||||||
|
108u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8,
|
||||||
|
98u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8,
|
||||||
|
98u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 76u8, 97u8, 116u8,
|
||||||
|
110u8, 78u8, 107u8, 111u8, 111u8, 77u8, 111u8, 110u8, 103u8, 65u8, 114u8,
|
||||||
|
97u8, 98u8, 65u8, 114u8, 97u8, 98u8, 76u8, 97u8, 116u8, 110u8, 68u8, 101u8,
|
||||||
|
118u8, 97u8, 76u8, 97u8, 116u8, 110u8, 76u8, 97u8, 116u8, 110u8, 76u8,
|
||||||
|
97u8, 116u8, 110u8, 76u8, 97u8, 116u8, 110u8, 65u8, 114u8, 97u8, 98u8,
|
||||||
|
67u8, 121u8, 114u8, 108u8, 67u8, 121u8, 114u8, 108u8, 68u8, 101u8, 118u8,
|
||||||
|
97u8, 65u8, 114u8, 97u8, 98u8, 67u8, 121u8, 114u8, 108u8, 72u8, 97u8,
|
||||||
|
110u8, 115u8, 72u8, 97u8, 110u8, 116u8, 72u8, 97u8, 110u8, 116u8, 72u8,
|
||||||
|
97u8, 110u8, 116u8, 72u8, 97u8, 110u8, 116u8, 72u8, 97u8, 110u8, 116u8,
|
||||||
|
72u8, 97u8, 110u8, 116u8, 72u8, 97u8, 110u8, 116u8, 72u8, 97u8, 110u8,
|
||||||
|
116u8, 72u8, 97u8, 110u8, 116u8, 72u8, 97u8, 110u8, 116u8, 72u8, 97u8,
|
||||||
|
110u8, 116u8, 72u8, 97u8, 110u8, 116u8, 72u8, 97u8, 110u8, 116u8, 72u8,
|
||||||
|
97u8, 110u8, 116u8, 72u8, 97u8, 110u8, 116u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
)
|
||||||
|
},
|
||||||
|
l2r: unsafe {
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
|
::zerovec::ZeroMap::from_parts_unchecked(
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
97u8, 97u8, 0u8, 97u8, 98u8, 0u8, 97u8, 98u8, 114u8, 97u8, 99u8, 101u8,
|
||||||
|
97u8, 99u8, 104u8, 97u8, 100u8, 97u8, 97u8, 100u8, 112u8, 97u8, 100u8,
|
||||||
|
121u8, 97u8, 101u8, 0u8, 97u8, 101u8, 98u8, 97u8, 102u8, 0u8, 97u8, 103u8,
|
||||||
|
113u8, 97u8, 104u8, 111u8, 97u8, 106u8, 116u8, 97u8, 107u8, 0u8, 97u8,
|
||||||
|
107u8, 107u8, 97u8, 108u8, 110u8, 97u8, 108u8, 116u8, 97u8, 109u8, 0u8,
|
||||||
|
97u8, 109u8, 111u8, 97u8, 110u8, 0u8, 97u8, 110u8, 110u8, 97u8, 111u8,
|
||||||
|
122u8, 97u8, 112u8, 100u8, 97u8, 114u8, 0u8, 97u8, 114u8, 99u8, 97u8,
|
||||||
|
114u8, 110u8, 97u8, 114u8, 111u8, 97u8, 114u8, 113u8, 97u8, 114u8, 115u8,
|
||||||
|
97u8, 114u8, 121u8, 97u8, 114u8, 122u8, 97u8, 115u8, 0u8, 97u8, 115u8,
|
||||||
|
97u8, 97u8, 115u8, 101u8, 97u8, 115u8, 116u8, 97u8, 116u8, 106u8, 97u8,
|
||||||
|
118u8, 0u8, 97u8, 119u8, 97u8, 97u8, 121u8, 0u8, 97u8, 122u8, 0u8, 98u8,
|
||||||
|
97u8, 0u8, 98u8, 97u8, 108u8, 98u8, 97u8, 110u8, 98u8, 97u8, 112u8, 98u8,
|
||||||
|
97u8, 114u8, 98u8, 97u8, 115u8, 98u8, 97u8, 120u8, 98u8, 98u8, 99u8, 98u8,
|
||||||
|
98u8, 106u8, 98u8, 99u8, 105u8, 98u8, 101u8, 0u8, 98u8, 101u8, 106u8, 98u8,
|
||||||
|
101u8, 109u8, 98u8, 101u8, 119u8, 98u8, 101u8, 122u8, 98u8, 102u8, 100u8,
|
||||||
|
98u8, 102u8, 113u8, 98u8, 102u8, 116u8, 98u8, 102u8, 121u8, 98u8, 103u8,
|
||||||
|
0u8, 98u8, 103u8, 99u8, 98u8, 103u8, 110u8, 98u8, 103u8, 120u8, 98u8,
|
||||||
|
104u8, 98u8, 98u8, 104u8, 105u8, 98u8, 104u8, 111u8, 98u8, 105u8, 0u8,
|
||||||
|
98u8, 105u8, 107u8, 98u8, 105u8, 110u8, 98u8, 106u8, 106u8, 98u8, 106u8,
|
||||||
|
110u8, 98u8, 106u8, 116u8, 98u8, 107u8, 109u8, 98u8, 107u8, 117u8, 98u8,
|
||||||
|
108u8, 97u8, 98u8, 108u8, 103u8, 98u8, 108u8, 116u8, 98u8, 109u8, 0u8,
|
||||||
|
98u8, 109u8, 113u8, 98u8, 110u8, 0u8, 98u8, 111u8, 0u8, 98u8, 112u8, 121u8,
|
||||||
|
98u8, 113u8, 105u8, 98u8, 113u8, 118u8, 98u8, 114u8, 0u8, 98u8, 114u8,
|
||||||
|
97u8, 98u8, 114u8, 104u8, 98u8, 114u8, 120u8, 98u8, 115u8, 0u8, 98u8,
|
||||||
|
115u8, 113u8, 98u8, 115u8, 115u8, 98u8, 116u8, 111u8, 98u8, 116u8, 118u8,
|
||||||
|
98u8, 117u8, 97u8, 98u8, 117u8, 99u8, 98u8, 117u8, 103u8, 98u8, 117u8,
|
||||||
|
109u8, 98u8, 118u8, 98u8, 98u8, 121u8, 110u8, 98u8, 121u8, 118u8, 98u8,
|
||||||
|
122u8, 101u8, 99u8, 97u8, 0u8, 99u8, 97u8, 100u8, 99u8, 99u8, 104u8, 99u8,
|
||||||
|
99u8, 112u8, 99u8, 101u8, 0u8, 99u8, 101u8, 98u8, 99u8, 103u8, 103u8, 99u8,
|
||||||
|
104u8, 0u8, 99u8, 104u8, 107u8, 99u8, 104u8, 109u8, 99u8, 104u8, 111u8,
|
||||||
|
99u8, 104u8, 112u8, 99u8, 104u8, 114u8, 99u8, 105u8, 99u8, 99u8, 106u8,
|
||||||
|
97u8, 99u8, 106u8, 109u8, 99u8, 107u8, 98u8, 99u8, 108u8, 99u8, 99u8,
|
||||||
|
109u8, 103u8, 99u8, 111u8, 0u8, 99u8, 111u8, 112u8, 99u8, 112u8, 115u8,
|
||||||
|
99u8, 114u8, 0u8, 99u8, 114u8, 103u8, 99u8, 114u8, 104u8, 99u8, 114u8,
|
||||||
|
107u8, 99u8, 114u8, 108u8, 99u8, 114u8, 115u8, 99u8, 115u8, 0u8, 99u8,
|
||||||
|
115u8, 98u8, 99u8, 115u8, 119u8, 99u8, 116u8, 100u8, 99u8, 117u8, 0u8,
|
||||||
|
99u8, 118u8, 0u8, 99u8, 121u8, 0u8, 100u8, 97u8, 0u8, 100u8, 97u8, 102u8,
|
||||||
|
100u8, 97u8, 107u8, 100u8, 97u8, 114u8, 100u8, 97u8, 118u8, 100u8, 99u8,
|
||||||
|
99u8, 100u8, 101u8, 0u8, 100u8, 101u8, 110u8, 100u8, 103u8, 114u8, 100u8,
|
||||||
|
106u8, 101u8, 100u8, 109u8, 102u8, 100u8, 110u8, 106u8, 100u8, 111u8,
|
||||||
|
105u8, 100u8, 114u8, 104u8, 100u8, 115u8, 98u8, 100u8, 116u8, 109u8, 100u8,
|
||||||
|
116u8, 112u8, 100u8, 116u8, 121u8, 100u8, 117u8, 97u8, 100u8, 118u8, 0u8,
|
||||||
|
100u8, 121u8, 111u8, 100u8, 121u8, 117u8, 100u8, 122u8, 0u8, 101u8, 98u8,
|
||||||
|
117u8, 101u8, 101u8, 0u8, 101u8, 102u8, 105u8, 101u8, 103u8, 108u8, 101u8,
|
||||||
|
103u8, 121u8, 101u8, 107u8, 121u8, 101u8, 108u8, 0u8, 101u8, 110u8, 0u8,
|
||||||
|
101u8, 111u8, 0u8, 101u8, 115u8, 0u8, 101u8, 115u8, 103u8, 101u8, 115u8,
|
||||||
|
117u8, 101u8, 116u8, 0u8, 101u8, 116u8, 116u8, 101u8, 117u8, 0u8, 101u8,
|
||||||
|
119u8, 111u8, 101u8, 120u8, 116u8, 102u8, 97u8, 0u8, 102u8, 97u8, 110u8,
|
||||||
|
102u8, 102u8, 0u8, 102u8, 102u8, 109u8, 102u8, 105u8, 0u8, 102u8, 105u8,
|
||||||
|
97u8, 102u8, 105u8, 108u8, 102u8, 105u8, 116u8, 102u8, 106u8, 0u8, 102u8,
|
||||||
|
111u8, 0u8, 102u8, 111u8, 110u8, 102u8, 114u8, 0u8, 102u8, 114u8, 99u8,
|
||||||
|
102u8, 114u8, 112u8, 102u8, 114u8, 114u8, 102u8, 114u8, 115u8, 102u8,
|
||||||
|
117u8, 98u8, 102u8, 117u8, 100u8, 102u8, 117u8, 102u8, 102u8, 117u8, 113u8,
|
||||||
|
102u8, 117u8, 114u8, 102u8, 117u8, 118u8, 102u8, 118u8, 114u8, 102u8,
|
||||||
|
121u8, 0u8, 103u8, 97u8, 0u8, 103u8, 97u8, 97u8, 103u8, 97u8, 103u8, 103u8,
|
||||||
|
97u8, 110u8, 103u8, 97u8, 121u8, 103u8, 98u8, 109u8, 103u8, 98u8, 122u8,
|
||||||
|
103u8, 99u8, 114u8, 103u8, 100u8, 0u8, 103u8, 101u8, 122u8, 103u8, 103u8,
|
||||||
|
110u8, 103u8, 105u8, 108u8, 103u8, 106u8, 107u8, 103u8, 106u8, 117u8,
|
||||||
|
103u8, 108u8, 0u8, 103u8, 108u8, 107u8, 103u8, 110u8, 0u8, 103u8, 111u8,
|
||||||
|
109u8, 103u8, 111u8, 110u8, 103u8, 111u8, 114u8, 103u8, 111u8, 115u8,
|
||||||
|
103u8, 111u8, 116u8, 103u8, 114u8, 99u8, 103u8, 114u8, 116u8, 103u8, 115u8,
|
||||||
|
119u8, 103u8, 117u8, 0u8, 103u8, 117u8, 98u8, 103u8, 117u8, 99u8, 103u8,
|
||||||
|
117u8, 114u8, 103u8, 117u8, 122u8, 103u8, 118u8, 0u8, 103u8, 118u8, 114u8,
|
||||||
|
103u8, 119u8, 105u8, 104u8, 97u8, 0u8, 104u8, 97u8, 107u8, 104u8, 97u8,
|
||||||
|
119u8, 104u8, 97u8, 122u8, 104u8, 101u8, 0u8, 104u8, 105u8, 0u8, 104u8,
|
||||||
|
105u8, 102u8, 104u8, 105u8, 108u8, 104u8, 108u8, 117u8, 104u8, 109u8,
|
||||||
|
100u8, 104u8, 110u8, 100u8, 104u8, 110u8, 101u8, 104u8, 110u8, 106u8,
|
||||||
|
104u8, 110u8, 110u8, 104u8, 110u8, 111u8, 104u8, 111u8, 0u8, 104u8, 111u8,
|
||||||
|
99u8, 104u8, 111u8, 106u8, 104u8, 114u8, 0u8, 104u8, 115u8, 98u8, 104u8,
|
||||||
|
115u8, 110u8, 104u8, 116u8, 0u8, 104u8, 117u8, 0u8, 104u8, 117u8, 114u8,
|
||||||
|
104u8, 121u8, 0u8, 104u8, 122u8, 0u8, 105u8, 97u8, 0u8, 105u8, 98u8, 97u8,
|
||||||
|
105u8, 98u8, 98u8, 105u8, 100u8, 0u8, 105u8, 102u8, 101u8, 105u8, 103u8,
|
||||||
|
0u8, 105u8, 105u8, 0u8, 105u8, 107u8, 0u8, 105u8, 108u8, 111u8, 105u8,
|
||||||
|
110u8, 0u8, 105u8, 110u8, 104u8, 105u8, 111u8, 0u8, 105u8, 115u8, 0u8,
|
||||||
|
105u8, 116u8, 0u8, 105u8, 117u8, 0u8, 105u8, 119u8, 0u8, 105u8, 122u8,
|
||||||
|
104u8, 106u8, 97u8, 0u8, 106u8, 97u8, 109u8, 106u8, 98u8, 111u8, 106u8,
|
||||||
|
103u8, 111u8, 106u8, 105u8, 0u8, 106u8, 109u8, 99u8, 106u8, 109u8, 108u8,
|
||||||
|
106u8, 117u8, 116u8, 106u8, 118u8, 0u8, 106u8, 119u8, 0u8, 107u8, 97u8,
|
||||||
|
0u8, 107u8, 97u8, 97u8, 107u8, 97u8, 98u8, 107u8, 97u8, 99u8, 107u8, 97u8,
|
||||||
|
106u8, 107u8, 97u8, 109u8, 107u8, 97u8, 111u8, 107u8, 97u8, 119u8, 107u8,
|
||||||
|
98u8, 100u8, 107u8, 98u8, 121u8, 107u8, 99u8, 103u8, 107u8, 99u8, 107u8,
|
||||||
|
107u8, 100u8, 101u8, 107u8, 100u8, 104u8, 107u8, 100u8, 116u8, 107u8,
|
||||||
|
101u8, 97u8, 107u8, 101u8, 110u8, 107u8, 102u8, 111u8, 107u8, 102u8, 114u8,
|
||||||
|
107u8, 102u8, 121u8, 107u8, 103u8, 0u8, 107u8, 103u8, 101u8, 107u8, 103u8,
|
||||||
|
112u8, 107u8, 104u8, 97u8, 107u8, 104u8, 98u8, 107u8, 104u8, 110u8, 107u8,
|
||||||
|
104u8, 113u8, 107u8, 104u8, 116u8, 107u8, 104u8, 119u8, 107u8, 105u8, 0u8,
|
||||||
|
107u8, 105u8, 117u8, 107u8, 106u8, 0u8, 107u8, 106u8, 103u8, 107u8, 107u8,
|
||||||
|
0u8, 107u8, 107u8, 106u8, 107u8, 108u8, 0u8, 107u8, 108u8, 110u8, 107u8,
|
||||||
|
109u8, 0u8, 107u8, 109u8, 98u8, 107u8, 110u8, 0u8, 107u8, 110u8, 102u8,
|
||||||
|
107u8, 111u8, 0u8, 107u8, 111u8, 105u8, 107u8, 111u8, 107u8, 107u8, 111u8,
|
||||||
|
115u8, 107u8, 112u8, 101u8, 107u8, 114u8, 99u8, 107u8, 114u8, 105u8, 107u8,
|
||||||
|
114u8, 106u8, 107u8, 114u8, 108u8, 107u8, 114u8, 117u8, 107u8, 115u8, 0u8,
|
||||||
|
107u8, 115u8, 98u8, 107u8, 115u8, 102u8, 107u8, 115u8, 104u8, 107u8, 116u8,
|
||||||
|
114u8, 107u8, 117u8, 0u8, 107u8, 117u8, 109u8, 107u8, 118u8, 0u8, 107u8,
|
||||||
|
118u8, 114u8, 107u8, 118u8, 120u8, 107u8, 119u8, 0u8, 107u8, 119u8, 107u8,
|
||||||
|
107u8, 120u8, 108u8, 107u8, 120u8, 109u8, 107u8, 120u8, 112u8, 107u8,
|
||||||
|
121u8, 0u8, 107u8, 122u8, 106u8, 107u8, 122u8, 116u8, 108u8, 97u8, 0u8,
|
||||||
|
108u8, 97u8, 98u8, 108u8, 97u8, 100u8, 108u8, 97u8, 103u8, 108u8, 97u8,
|
||||||
|
104u8, 108u8, 97u8, 106u8, 108u8, 98u8, 0u8, 108u8, 98u8, 101u8, 108u8,
|
||||||
|
98u8, 119u8, 108u8, 99u8, 112u8, 108u8, 101u8, 112u8, 108u8, 101u8, 122u8,
|
||||||
|
108u8, 103u8, 0u8, 108u8, 105u8, 0u8, 108u8, 105u8, 102u8, 108u8, 105u8,
|
||||||
|
106u8, 108u8, 105u8, 108u8, 108u8, 105u8, 115u8, 108u8, 106u8, 112u8,
|
||||||
|
108u8, 107u8, 105u8, 108u8, 107u8, 116u8, 108u8, 109u8, 110u8, 108u8,
|
||||||
|
109u8, 111u8, 108u8, 110u8, 0u8, 108u8, 111u8, 0u8, 108u8, 111u8, 108u8,
|
||||||
|
108u8, 111u8, 122u8, 108u8, 114u8, 99u8, 108u8, 116u8, 0u8, 108u8, 116u8,
|
||||||
|
103u8, 108u8, 117u8, 0u8, 108u8, 117u8, 97u8, 108u8, 117u8, 111u8, 108u8,
|
||||||
|
117u8, 121u8, 108u8, 117u8, 122u8, 108u8, 118u8, 0u8, 108u8, 119u8, 108u8,
|
||||||
|
108u8, 122u8, 104u8, 108u8, 122u8, 122u8, 109u8, 97u8, 100u8, 109u8, 97u8,
|
||||||
|
102u8, 109u8, 97u8, 103u8, 109u8, 97u8, 105u8, 109u8, 97u8, 107u8, 109u8,
|
||||||
|
97u8, 110u8, 109u8, 97u8, 115u8, 109u8, 97u8, 122u8, 109u8, 100u8, 102u8,
|
||||||
|
109u8, 100u8, 104u8, 109u8, 100u8, 114u8, 109u8, 101u8, 110u8, 109u8,
|
||||||
|
101u8, 114u8, 109u8, 102u8, 97u8, 109u8, 102u8, 101u8, 109u8, 103u8, 0u8,
|
||||||
|
109u8, 103u8, 104u8, 109u8, 103u8, 111u8, 109u8, 103u8, 112u8, 109u8,
|
||||||
|
103u8, 121u8, 109u8, 104u8, 0u8, 109u8, 105u8, 0u8, 109u8, 105u8, 99u8,
|
||||||
|
109u8, 105u8, 110u8, 109u8, 107u8, 0u8, 109u8, 108u8, 0u8, 109u8, 108u8,
|
||||||
|
115u8, 109u8, 110u8, 0u8, 109u8, 110u8, 105u8, 109u8, 110u8, 119u8, 109u8,
|
||||||
|
111u8, 0u8, 109u8, 111u8, 101u8, 109u8, 111u8, 104u8, 109u8, 111u8, 115u8,
|
||||||
|
109u8, 114u8, 0u8, 109u8, 114u8, 100u8, 109u8, 114u8, 106u8, 109u8, 114u8,
|
||||||
|
111u8, 109u8, 115u8, 0u8, 109u8, 116u8, 0u8, 109u8, 116u8, 114u8, 109u8,
|
||||||
|
117u8, 97u8, 109u8, 117u8, 115u8, 109u8, 118u8, 121u8, 109u8, 119u8, 107u8,
|
||||||
|
109u8, 119u8, 114u8, 109u8, 119u8, 118u8, 109u8, 119u8, 119u8, 109u8,
|
||||||
|
120u8, 99u8, 109u8, 121u8, 0u8, 109u8, 121u8, 118u8, 109u8, 121u8, 120u8,
|
||||||
|
109u8, 121u8, 122u8, 109u8, 122u8, 110u8, 110u8, 97u8, 0u8, 110u8, 97u8,
|
||||||
|
110u8, 110u8, 97u8, 112u8, 110u8, 97u8, 113u8, 110u8, 98u8, 0u8, 110u8,
|
||||||
|
99u8, 104u8, 110u8, 100u8, 0u8, 110u8, 100u8, 99u8, 110u8, 100u8, 115u8,
|
||||||
|
110u8, 101u8, 0u8, 110u8, 101u8, 119u8, 110u8, 103u8, 0u8, 110u8, 103u8,
|
||||||
|
108u8, 110u8, 104u8, 101u8, 110u8, 104u8, 119u8, 110u8, 105u8, 106u8,
|
||||||
|
110u8, 105u8, 117u8, 110u8, 106u8, 111u8, 110u8, 108u8, 0u8, 110u8, 109u8,
|
||||||
|
103u8, 110u8, 110u8, 0u8, 110u8, 110u8, 104u8, 110u8, 110u8, 112u8, 110u8,
|
||||||
|
111u8, 0u8, 110u8, 111u8, 100u8, 110u8, 111u8, 101u8, 110u8, 111u8, 110u8,
|
||||||
|
110u8, 113u8, 111u8, 110u8, 114u8, 0u8, 110u8, 115u8, 107u8, 110u8, 115u8,
|
||||||
|
111u8, 110u8, 115u8, 116u8, 110u8, 117u8, 115u8, 110u8, 118u8, 0u8, 110u8,
|
||||||
|
120u8, 113u8, 110u8, 121u8, 0u8, 110u8, 121u8, 109u8, 110u8, 121u8, 110u8,
|
||||||
|
110u8, 122u8, 105u8, 111u8, 99u8, 0u8, 111u8, 106u8, 0u8, 111u8, 106u8,
|
||||||
|
115u8, 111u8, 107u8, 97u8, 111u8, 109u8, 0u8, 111u8, 114u8, 0u8, 111u8,
|
||||||
|
115u8, 0u8, 111u8, 115u8, 97u8, 111u8, 116u8, 107u8, 111u8, 117u8, 105u8,
|
||||||
|
112u8, 97u8, 0u8, 112u8, 97u8, 103u8, 112u8, 97u8, 108u8, 112u8, 97u8,
|
||||||
|
109u8, 112u8, 97u8, 112u8, 112u8, 97u8, 117u8, 112u8, 99u8, 100u8, 112u8,
|
||||||
|
99u8, 109u8, 112u8, 100u8, 99u8, 112u8, 100u8, 116u8, 112u8, 101u8, 111u8,
|
||||||
|
112u8, 102u8, 108u8, 112u8, 104u8, 110u8, 112u8, 105u8, 115u8, 112u8,
|
||||||
|
107u8, 97u8, 112u8, 107u8, 111u8, 112u8, 108u8, 0u8, 112u8, 109u8, 115u8,
|
||||||
|
112u8, 110u8, 116u8, 112u8, 111u8, 110u8, 112u8, 112u8, 97u8, 112u8, 113u8,
|
||||||
|
109u8, 112u8, 114u8, 97u8, 112u8, 114u8, 100u8, 112u8, 114u8, 103u8, 112u8,
|
||||||
|
115u8, 0u8, 112u8, 116u8, 0u8, 112u8, 117u8, 117u8, 113u8, 117u8, 0u8,
|
||||||
|
113u8, 117u8, 99u8, 113u8, 117u8, 103u8, 114u8, 97u8, 106u8, 114u8, 99u8,
|
||||||
|
102u8, 114u8, 101u8, 106u8, 114u8, 103u8, 110u8, 114u8, 104u8, 103u8,
|
||||||
|
114u8, 105u8, 97u8, 114u8, 105u8, 102u8, 114u8, 106u8, 115u8, 114u8, 107u8,
|
||||||
|
116u8, 114u8, 109u8, 0u8, 114u8, 109u8, 102u8, 114u8, 109u8, 111u8, 114u8,
|
||||||
|
109u8, 116u8, 114u8, 109u8, 117u8, 114u8, 110u8, 0u8, 114u8, 110u8, 103u8,
|
||||||
|
114u8, 111u8, 0u8, 114u8, 111u8, 98u8, 114u8, 111u8, 102u8, 114u8, 116u8,
|
||||||
|
109u8, 114u8, 117u8, 0u8, 114u8, 117u8, 101u8, 114u8, 117u8, 103u8, 114u8,
|
||||||
|
119u8, 0u8, 114u8, 119u8, 107u8, 114u8, 121u8, 117u8, 115u8, 97u8, 0u8,
|
||||||
|
115u8, 97u8, 102u8, 115u8, 97u8, 104u8, 115u8, 97u8, 113u8, 115u8, 97u8,
|
||||||
|
115u8, 115u8, 97u8, 116u8, 115u8, 97u8, 118u8, 115u8, 97u8, 122u8, 115u8,
|
||||||
|
98u8, 112u8, 115u8, 99u8, 0u8, 115u8, 99u8, 107u8, 115u8, 99u8, 110u8,
|
||||||
|
115u8, 99u8, 111u8, 115u8, 100u8, 0u8, 115u8, 100u8, 99u8, 115u8, 100u8,
|
||||||
|
104u8, 115u8, 101u8, 0u8, 115u8, 101u8, 102u8, 115u8, 101u8, 104u8, 115u8,
|
||||||
|
101u8, 105u8, 115u8, 101u8, 115u8, 115u8, 103u8, 0u8, 115u8, 103u8, 97u8,
|
||||||
|
115u8, 103u8, 115u8, 115u8, 104u8, 105u8, 115u8, 104u8, 110u8, 115u8,
|
||||||
|
105u8, 0u8, 115u8, 105u8, 100u8, 115u8, 107u8, 0u8, 115u8, 107u8, 114u8,
|
||||||
|
115u8, 108u8, 0u8, 115u8, 108u8, 105u8, 115u8, 108u8, 121u8, 115u8, 109u8,
|
||||||
|
0u8, 115u8, 109u8, 97u8, 115u8, 109u8, 100u8, 115u8, 109u8, 106u8, 115u8,
|
||||||
|
109u8, 110u8, 115u8, 109u8, 112u8, 115u8, 109u8, 115u8, 115u8, 110u8, 0u8,
|
||||||
|
115u8, 110u8, 98u8, 115u8, 110u8, 107u8, 115u8, 111u8, 0u8, 115u8, 111u8,
|
||||||
|
103u8, 115u8, 111u8, 117u8, 115u8, 113u8, 0u8, 115u8, 114u8, 0u8, 115u8,
|
||||||
|
114u8, 98u8, 115u8, 114u8, 110u8, 115u8, 114u8, 114u8, 115u8, 114u8, 120u8,
|
||||||
|
115u8, 115u8, 0u8, 115u8, 115u8, 121u8, 115u8, 116u8, 0u8, 115u8, 116u8,
|
||||||
|
113u8, 115u8, 117u8, 0u8, 115u8, 117u8, 107u8, 115u8, 117u8, 115u8, 115u8,
|
||||||
|
118u8, 0u8, 115u8, 119u8, 0u8, 115u8, 119u8, 98u8, 115u8, 119u8, 99u8,
|
||||||
|
115u8, 119u8, 103u8, 115u8, 119u8, 118u8, 115u8, 120u8, 110u8, 115u8,
|
||||||
|
121u8, 108u8, 115u8, 121u8, 114u8, 115u8, 122u8, 108u8, 116u8, 97u8, 0u8,
|
||||||
|
116u8, 97u8, 106u8, 116u8, 98u8, 119u8, 116u8, 99u8, 121u8, 116u8, 100u8,
|
||||||
|
100u8, 116u8, 100u8, 103u8, 116u8, 100u8, 104u8, 116u8, 100u8, 117u8,
|
||||||
|
116u8, 101u8, 0u8, 116u8, 101u8, 109u8, 116u8, 101u8, 111u8, 116u8, 101u8,
|
||||||
|
116u8, 116u8, 103u8, 0u8, 116u8, 104u8, 0u8, 116u8, 104u8, 108u8, 116u8,
|
||||||
|
104u8, 113u8, 116u8, 104u8, 114u8, 116u8, 105u8, 0u8, 116u8, 105u8, 103u8,
|
||||||
|
116u8, 105u8, 118u8, 116u8, 107u8, 0u8, 116u8, 107u8, 108u8, 116u8, 107u8,
|
||||||
|
114u8, 116u8, 107u8, 116u8, 116u8, 108u8, 0u8, 116u8, 108u8, 121u8, 116u8,
|
||||||
|
109u8, 104u8, 116u8, 110u8, 0u8, 116u8, 111u8, 0u8, 116u8, 111u8, 103u8,
|
||||||
|
116u8, 111u8, 107u8, 116u8, 112u8, 105u8, 116u8, 114u8, 0u8, 116u8, 114u8,
|
||||||
|
117u8, 116u8, 114u8, 118u8, 116u8, 114u8, 119u8, 116u8, 115u8, 0u8, 116u8,
|
||||||
|
115u8, 100u8, 116u8, 115u8, 102u8, 116u8, 115u8, 103u8, 116u8, 115u8,
|
||||||
|
106u8, 116u8, 116u8, 0u8, 116u8, 116u8, 106u8, 116u8, 116u8, 115u8, 116u8,
|
||||||
|
116u8, 116u8, 116u8, 117u8, 109u8, 116u8, 118u8, 108u8, 116u8, 119u8,
|
||||||
|
113u8, 116u8, 120u8, 103u8, 116u8, 120u8, 111u8, 116u8, 121u8, 0u8, 116u8,
|
||||||
|
121u8, 118u8, 116u8, 122u8, 109u8, 117u8, 100u8, 105u8, 117u8, 100u8,
|
||||||
|
109u8, 117u8, 103u8, 0u8, 117u8, 103u8, 97u8, 117u8, 107u8, 0u8, 117u8,
|
||||||
|
108u8, 105u8, 117u8, 109u8, 98u8, 117u8, 110u8, 114u8, 117u8, 110u8, 120u8,
|
||||||
|
117u8, 114u8, 0u8, 117u8, 122u8, 0u8, 118u8, 97u8, 105u8, 118u8, 101u8,
|
||||||
|
0u8, 118u8, 101u8, 99u8, 118u8, 101u8, 112u8, 118u8, 105u8, 0u8, 118u8,
|
||||||
|
105u8, 99u8, 118u8, 108u8, 115u8, 118u8, 109u8, 102u8, 118u8, 109u8, 119u8,
|
||||||
|
118u8, 111u8, 0u8, 118u8, 111u8, 116u8, 118u8, 114u8, 111u8, 118u8, 117u8,
|
||||||
|
110u8, 119u8, 97u8, 0u8, 119u8, 97u8, 101u8, 119u8, 97u8, 108u8, 119u8,
|
||||||
|
97u8, 114u8, 119u8, 98u8, 112u8, 119u8, 98u8, 113u8, 119u8, 98u8, 114u8,
|
||||||
|
119u8, 108u8, 115u8, 119u8, 110u8, 105u8, 119u8, 111u8, 0u8, 119u8, 115u8,
|
||||||
|
103u8, 119u8, 116u8, 109u8, 119u8, 117u8, 117u8, 120u8, 97u8, 118u8, 120u8,
|
||||||
|
99u8, 111u8, 120u8, 99u8, 114u8, 120u8, 104u8, 0u8, 120u8, 108u8, 99u8,
|
||||||
|
120u8, 108u8, 100u8, 120u8, 109u8, 102u8, 120u8, 109u8, 110u8, 120u8,
|
||||||
|
109u8, 114u8, 120u8, 110u8, 97u8, 120u8, 110u8, 114u8, 120u8, 111u8, 103u8,
|
||||||
|
120u8, 112u8, 114u8, 120u8, 115u8, 97u8, 120u8, 115u8, 114u8, 121u8, 97u8,
|
||||||
|
111u8, 121u8, 97u8, 112u8, 121u8, 97u8, 118u8, 121u8, 98u8, 98u8, 121u8,
|
||||||
|
105u8, 0u8, 121u8, 111u8, 0u8, 121u8, 114u8, 108u8, 121u8, 117u8, 97u8,
|
||||||
|
121u8, 117u8, 101u8, 122u8, 97u8, 0u8, 122u8, 97u8, 103u8, 122u8, 100u8,
|
||||||
|
106u8, 122u8, 101u8, 97u8, 122u8, 103u8, 104u8, 122u8, 104u8, 0u8, 122u8,
|
||||||
|
104u8, 120u8, 122u8, 107u8, 116u8, 122u8, 108u8, 109u8, 122u8, 109u8,
|
||||||
|
105u8, 122u8, 117u8, 0u8, 122u8, 122u8, 97u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
69u8, 84u8, 0u8, 71u8, 69u8, 0u8, 71u8, 72u8, 0u8, 73u8, 68u8, 0u8, 85u8,
|
||||||
|
71u8, 0u8, 71u8, 72u8, 0u8, 66u8, 84u8, 0u8, 82u8, 85u8, 0u8, 73u8, 82u8,
|
||||||
|
0u8, 84u8, 78u8, 0u8, 90u8, 65u8, 0u8, 67u8, 77u8, 0u8, 73u8, 78u8, 0u8,
|
||||||
|
84u8, 78u8, 0u8, 71u8, 72u8, 0u8, 73u8, 81u8, 0u8, 88u8, 75u8, 0u8, 82u8,
|
||||||
|
85u8, 0u8, 69u8, 84u8, 0u8, 78u8, 71u8, 0u8, 69u8, 83u8, 0u8, 78u8, 71u8,
|
||||||
|
0u8, 73u8, 68u8, 0u8, 84u8, 71u8, 0u8, 69u8, 71u8, 0u8, 73u8, 82u8, 0u8,
|
||||||
|
67u8, 76u8, 0u8, 66u8, 79u8, 0u8, 68u8, 90u8, 0u8, 83u8, 65u8, 0u8, 77u8,
|
||||||
|
65u8, 0u8, 69u8, 71u8, 0u8, 73u8, 78u8, 0u8, 84u8, 90u8, 0u8, 85u8, 83u8,
|
||||||
|
0u8, 69u8, 83u8, 0u8, 67u8, 65u8, 0u8, 82u8, 85u8, 0u8, 73u8, 78u8, 0u8,
|
||||||
|
66u8, 79u8, 0u8, 65u8, 90u8, 0u8, 82u8, 85u8, 0u8, 80u8, 75u8, 0u8, 73u8,
|
||||||
|
68u8, 0u8, 78u8, 80u8, 0u8, 65u8, 84u8, 0u8, 67u8, 77u8, 0u8, 67u8, 77u8,
|
||||||
|
0u8, 73u8, 68u8, 0u8, 67u8, 77u8, 0u8, 67u8, 73u8, 0u8, 66u8, 89u8, 0u8,
|
||||||
|
83u8, 68u8, 0u8, 90u8, 77u8, 0u8, 73u8, 68u8, 0u8, 84u8, 90u8, 0u8, 67u8,
|
||||||
|
77u8, 0u8, 73u8, 78u8, 0u8, 80u8, 75u8, 0u8, 73u8, 78u8, 0u8, 66u8, 71u8,
|
||||||
|
0u8, 73u8, 78u8, 0u8, 80u8, 75u8, 0u8, 84u8, 82u8, 0u8, 73u8, 78u8, 0u8,
|
||||||
|
73u8, 78u8, 0u8, 73u8, 78u8, 0u8, 86u8, 85u8, 0u8, 80u8, 72u8, 0u8, 78u8,
|
||||||
|
71u8, 0u8, 73u8, 78u8, 0u8, 73u8, 68u8, 0u8, 83u8, 78u8, 0u8, 67u8, 77u8,
|
||||||
|
0u8, 80u8, 72u8, 0u8, 67u8, 65u8, 0u8, 77u8, 89u8, 0u8, 86u8, 78u8, 0u8,
|
||||||
|
77u8, 76u8, 0u8, 77u8, 76u8, 0u8, 66u8, 68u8, 0u8, 67u8, 78u8, 0u8, 73u8,
|
||||||
|
78u8, 0u8, 73u8, 82u8, 0u8, 67u8, 73u8, 0u8, 70u8, 82u8, 0u8, 73u8, 78u8,
|
||||||
|
0u8, 80u8, 75u8, 0u8, 73u8, 78u8, 0u8, 66u8, 65u8, 0u8, 76u8, 82u8, 0u8,
|
||||||
|
67u8, 77u8, 0u8, 80u8, 72u8, 0u8, 80u8, 75u8, 0u8, 82u8, 85u8, 0u8, 89u8,
|
||||||
|
84u8, 0u8, 73u8, 68u8, 0u8, 67u8, 77u8, 0u8, 71u8, 81u8, 0u8, 69u8, 82u8,
|
||||||
|
0u8, 67u8, 77u8, 0u8, 77u8, 76u8, 0u8, 69u8, 83u8, 0u8, 85u8, 83u8, 0u8,
|
||||||
|
78u8, 71u8, 0u8, 66u8, 68u8, 0u8, 82u8, 85u8, 0u8, 80u8, 72u8, 0u8, 85u8,
|
||||||
|
71u8, 0u8, 71u8, 85u8, 0u8, 70u8, 77u8, 0u8, 82u8, 85u8, 0u8, 85u8, 83u8,
|
||||||
|
0u8, 67u8, 65u8, 0u8, 85u8, 83u8, 0u8, 85u8, 83u8, 0u8, 75u8, 72u8, 0u8,
|
||||||
|
86u8, 78u8, 0u8, 73u8, 81u8, 0u8, 67u8, 65u8, 0u8, 77u8, 78u8, 0u8, 70u8,
|
||||||
|
82u8, 0u8, 69u8, 71u8, 0u8, 80u8, 72u8, 0u8, 67u8, 65u8, 0u8, 67u8, 65u8,
|
||||||
|
0u8, 85u8, 65u8, 0u8, 67u8, 65u8, 0u8, 67u8, 65u8, 0u8, 83u8, 67u8, 0u8,
|
||||||
|
67u8, 90u8, 0u8, 80u8, 76u8, 0u8, 67u8, 65u8, 0u8, 77u8, 77u8, 0u8, 82u8,
|
||||||
|
85u8, 0u8, 82u8, 85u8, 0u8, 71u8, 66u8, 0u8, 68u8, 75u8, 0u8, 67u8, 73u8,
|
||||||
|
0u8, 85u8, 83u8, 0u8, 82u8, 85u8, 0u8, 75u8, 69u8, 0u8, 73u8, 78u8, 0u8,
|
||||||
|
68u8, 69u8, 0u8, 67u8, 65u8, 0u8, 67u8, 65u8, 0u8, 78u8, 69u8, 0u8, 78u8,
|
||||||
|
71u8, 0u8, 67u8, 73u8, 0u8, 73u8, 78u8, 0u8, 67u8, 78u8, 0u8, 68u8, 69u8,
|
||||||
|
0u8, 77u8, 76u8, 0u8, 77u8, 89u8, 0u8, 78u8, 80u8, 0u8, 67u8, 77u8, 0u8,
|
||||||
|
77u8, 86u8, 0u8, 83u8, 78u8, 0u8, 66u8, 70u8, 0u8, 66u8, 84u8, 0u8, 75u8,
|
||||||
|
69u8, 0u8, 71u8, 72u8, 0u8, 78u8, 71u8, 0u8, 73u8, 84u8, 0u8, 69u8, 71u8,
|
||||||
|
0u8, 77u8, 77u8, 0u8, 71u8, 82u8, 0u8, 85u8, 83u8, 0u8, 48u8, 48u8, 49u8,
|
||||||
|
69u8, 83u8, 0u8, 73u8, 78u8, 0u8, 85u8, 83u8, 0u8, 69u8, 69u8, 0u8, 73u8,
|
||||||
|
84u8, 0u8, 69u8, 83u8, 0u8, 67u8, 77u8, 0u8, 69u8, 83u8, 0u8, 73u8, 82u8,
|
||||||
|
0u8, 71u8, 81u8, 0u8, 83u8, 78u8, 0u8, 77u8, 76u8, 0u8, 70u8, 73u8, 0u8,
|
||||||
|
83u8, 68u8, 0u8, 80u8, 72u8, 0u8, 83u8, 69u8, 0u8, 70u8, 74u8, 0u8, 70u8,
|
||||||
|
79u8, 0u8, 66u8, 74u8, 0u8, 70u8, 82u8, 0u8, 85u8, 83u8, 0u8, 70u8, 82u8,
|
||||||
|
0u8, 68u8, 69u8, 0u8, 68u8, 69u8, 0u8, 67u8, 77u8, 0u8, 87u8, 70u8, 0u8,
|
||||||
|
71u8, 78u8, 0u8, 78u8, 69u8, 0u8, 73u8, 84u8, 0u8, 78u8, 71u8, 0u8, 83u8,
|
||||||
|
68u8, 0u8, 78u8, 76u8, 0u8, 73u8, 69u8, 0u8, 71u8, 72u8, 0u8, 77u8, 68u8,
|
||||||
|
0u8, 67u8, 78u8, 0u8, 73u8, 68u8, 0u8, 73u8, 78u8, 0u8, 73u8, 82u8, 0u8,
|
||||||
|
71u8, 70u8, 0u8, 71u8, 66u8, 0u8, 69u8, 84u8, 0u8, 78u8, 80u8, 0u8, 75u8,
|
||||||
|
73u8, 0u8, 80u8, 75u8, 0u8, 80u8, 75u8, 0u8, 69u8, 83u8, 0u8, 73u8, 82u8,
|
||||||
|
0u8, 80u8, 89u8, 0u8, 73u8, 78u8, 0u8, 73u8, 78u8, 0u8, 73u8, 68u8, 0u8,
|
||||||
|
78u8, 76u8, 0u8, 85u8, 65u8, 0u8, 67u8, 89u8, 0u8, 73u8, 78u8, 0u8, 67u8,
|
||||||
|
72u8, 0u8, 73u8, 78u8, 0u8, 66u8, 82u8, 0u8, 67u8, 79u8, 0u8, 71u8, 72u8,
|
||||||
|
0u8, 75u8, 69u8, 0u8, 73u8, 77u8, 0u8, 78u8, 80u8, 0u8, 67u8, 65u8, 0u8,
|
||||||
|
78u8, 71u8, 0u8, 67u8, 78u8, 0u8, 85u8, 83u8, 0u8, 65u8, 70u8, 0u8, 73u8,
|
||||||
|
76u8, 0u8, 73u8, 78u8, 0u8, 70u8, 74u8, 0u8, 80u8, 72u8, 0u8, 84u8, 82u8,
|
||||||
|
0u8, 67u8, 78u8, 0u8, 80u8, 75u8, 0u8, 73u8, 78u8, 0u8, 85u8, 83u8, 0u8,
|
||||||
|
80u8, 72u8, 0u8, 80u8, 75u8, 0u8, 80u8, 71u8, 0u8, 73u8, 78u8, 0u8, 73u8,
|
||||||
|
78u8, 0u8, 72u8, 82u8, 0u8, 68u8, 69u8, 0u8, 67u8, 78u8, 0u8, 72u8, 84u8,
|
||||||
|
0u8, 72u8, 85u8, 0u8, 67u8, 65u8, 0u8, 65u8, 77u8, 0u8, 78u8, 65u8, 0u8,
|
||||||
|
48u8, 48u8, 49u8, 77u8, 89u8, 0u8, 78u8, 71u8, 0u8, 73u8, 68u8, 0u8, 84u8,
|
||||||
|
71u8, 0u8, 78u8, 71u8, 0u8, 67u8, 78u8, 0u8, 85u8, 83u8, 0u8, 80u8, 72u8,
|
||||||
|
0u8, 73u8, 68u8, 0u8, 82u8, 85u8, 0u8, 48u8, 48u8, 49u8, 73u8, 83u8, 0u8,
|
||||||
|
73u8, 84u8, 0u8, 67u8, 65u8, 0u8, 73u8, 76u8, 0u8, 82u8, 85u8, 0u8, 74u8,
|
||||||
|
80u8, 0u8, 74u8, 77u8, 0u8, 48u8, 48u8, 49u8, 67u8, 77u8, 0u8, 85u8, 65u8,
|
||||||
|
0u8, 84u8, 90u8, 0u8, 78u8, 80u8, 0u8, 68u8, 75u8, 0u8, 73u8, 68u8, 0u8,
|
||||||
|
73u8, 68u8, 0u8, 71u8, 69u8, 0u8, 85u8, 90u8, 0u8, 68u8, 90u8, 0u8, 77u8,
|
||||||
|
77u8, 0u8, 78u8, 71u8, 0u8, 75u8, 69u8, 0u8, 77u8, 76u8, 0u8, 73u8, 68u8,
|
||||||
|
0u8, 82u8, 85u8, 0u8, 78u8, 69u8, 0u8, 78u8, 71u8, 0u8, 90u8, 87u8, 0u8,
|
||||||
|
84u8, 90u8, 0u8, 84u8, 71u8, 0u8, 84u8, 72u8, 0u8, 67u8, 86u8, 0u8, 67u8,
|
||||||
|
77u8, 0u8, 67u8, 73u8, 0u8, 73u8, 78u8, 0u8, 73u8, 78u8, 0u8, 67u8, 68u8,
|
||||||
|
0u8, 73u8, 68u8, 0u8, 66u8, 82u8, 0u8, 73u8, 78u8, 0u8, 67u8, 78u8, 0u8,
|
||||||
|
73u8, 78u8, 0u8, 77u8, 76u8, 0u8, 73u8, 78u8, 0u8, 80u8, 75u8, 0u8, 75u8,
|
||||||
|
69u8, 0u8, 84u8, 82u8, 0u8, 78u8, 65u8, 0u8, 76u8, 65u8, 0u8, 75u8, 90u8,
|
||||||
|
0u8, 67u8, 77u8, 0u8, 71u8, 76u8, 0u8, 75u8, 69u8, 0u8, 75u8, 72u8, 0u8,
|
||||||
|
65u8, 79u8, 0u8, 73u8, 78u8, 0u8, 71u8, 87u8, 0u8, 75u8, 82u8, 0u8, 82u8,
|
||||||
|
85u8, 0u8, 73u8, 78u8, 0u8, 70u8, 77u8, 0u8, 76u8, 82u8, 0u8, 82u8, 85u8,
|
||||||
|
0u8, 83u8, 76u8, 0u8, 80u8, 72u8, 0u8, 82u8, 85u8, 0u8, 73u8, 78u8, 0u8,
|
||||||
|
73u8, 78u8, 0u8, 84u8, 90u8, 0u8, 67u8, 77u8, 0u8, 68u8, 69u8, 0u8, 77u8,
|
||||||
|
89u8, 0u8, 84u8, 82u8, 0u8, 82u8, 85u8, 0u8, 82u8, 85u8, 0u8, 73u8, 68u8,
|
||||||
|
0u8, 80u8, 75u8, 0u8, 71u8, 66u8, 0u8, 67u8, 65u8, 0u8, 73u8, 78u8, 0u8,
|
||||||
|
84u8, 72u8, 0u8, 80u8, 75u8, 0u8, 75u8, 71u8, 0u8, 77u8, 89u8, 0u8, 77u8,
|
||||||
|
89u8, 0u8, 86u8, 65u8, 0u8, 71u8, 82u8, 0u8, 73u8, 76u8, 0u8, 84u8, 90u8,
|
||||||
|
0u8, 80u8, 75u8, 0u8, 85u8, 71u8, 0u8, 76u8, 85u8, 0u8, 82u8, 85u8, 0u8,
|
||||||
|
73u8, 68u8, 0u8, 67u8, 78u8, 0u8, 73u8, 78u8, 0u8, 82u8, 85u8, 0u8, 85u8,
|
||||||
|
71u8, 0u8, 78u8, 76u8, 0u8, 78u8, 80u8, 0u8, 73u8, 84u8, 0u8, 67u8, 65u8,
|
||||||
|
0u8, 67u8, 78u8, 0u8, 73u8, 68u8, 0u8, 73u8, 82u8, 0u8, 85u8, 83u8, 0u8,
|
||||||
|
73u8, 78u8, 0u8, 73u8, 84u8, 0u8, 67u8, 68u8, 0u8, 76u8, 65u8, 0u8, 67u8,
|
||||||
|
68u8, 0u8, 90u8, 77u8, 0u8, 73u8, 82u8, 0u8, 76u8, 84u8, 0u8, 76u8, 86u8,
|
||||||
|
0u8, 67u8, 68u8, 0u8, 67u8, 68u8, 0u8, 75u8, 69u8, 0u8, 75u8, 69u8, 0u8,
|
||||||
|
73u8, 82u8, 0u8, 76u8, 86u8, 0u8, 84u8, 72u8, 0u8, 67u8, 78u8, 0u8, 84u8,
|
||||||
|
82u8, 0u8, 73u8, 68u8, 0u8, 67u8, 77u8, 0u8, 73u8, 78u8, 0u8, 73u8, 78u8,
|
||||||
|
0u8, 73u8, 68u8, 0u8, 71u8, 77u8, 0u8, 75u8, 69u8, 0u8, 77u8, 88u8, 0u8,
|
||||||
|
82u8, 85u8, 0u8, 80u8, 72u8, 0u8, 73u8, 68u8, 0u8, 83u8, 76u8, 0u8, 75u8,
|
||||||
|
69u8, 0u8, 84u8, 72u8, 0u8, 77u8, 85u8, 0u8, 77u8, 71u8, 0u8, 77u8, 90u8,
|
||||||
|
0u8, 67u8, 77u8, 0u8, 78u8, 80u8, 0u8, 84u8, 90u8, 0u8, 77u8, 72u8, 0u8,
|
||||||
|
78u8, 90u8, 0u8, 67u8, 65u8, 0u8, 73u8, 68u8, 0u8, 77u8, 75u8, 0u8, 73u8,
|
||||||
|
78u8, 0u8, 83u8, 68u8, 0u8, 77u8, 78u8, 0u8, 73u8, 78u8, 0u8, 77u8, 77u8,
|
||||||
|
0u8, 82u8, 79u8, 0u8, 67u8, 65u8, 0u8, 67u8, 65u8, 0u8, 66u8, 70u8, 0u8,
|
||||||
|
73u8, 78u8, 0u8, 78u8, 80u8, 0u8, 82u8, 85u8, 0u8, 66u8, 68u8, 0u8, 77u8,
|
||||||
|
89u8, 0u8, 77u8, 84u8, 0u8, 73u8, 78u8, 0u8, 67u8, 77u8, 0u8, 85u8, 83u8,
|
||||||
|
0u8, 80u8, 75u8, 0u8, 77u8, 76u8, 0u8, 73u8, 78u8, 0u8, 73u8, 68u8, 0u8,
|
||||||
|
85u8, 83u8, 0u8, 90u8, 87u8, 0u8, 77u8, 77u8, 0u8, 82u8, 85u8, 0u8, 85u8,
|
||||||
|
71u8, 0u8, 73u8, 82u8, 0u8, 73u8, 82u8, 0u8, 78u8, 82u8, 0u8, 67u8, 78u8,
|
||||||
|
0u8, 73u8, 84u8, 0u8, 78u8, 65u8, 0u8, 78u8, 79u8, 0u8, 77u8, 88u8, 0u8,
|
||||||
|
90u8, 87u8, 0u8, 77u8, 90u8, 0u8, 68u8, 69u8, 0u8, 78u8, 80u8, 0u8, 78u8,
|
||||||
|
80u8, 0u8, 78u8, 65u8, 0u8, 77u8, 90u8, 0u8, 77u8, 88u8, 0u8, 77u8, 88u8,
|
||||||
|
0u8, 73u8, 68u8, 0u8, 78u8, 85u8, 0u8, 73u8, 78u8, 0u8, 78u8, 76u8, 0u8,
|
||||||
|
67u8, 77u8, 0u8, 78u8, 79u8, 0u8, 67u8, 77u8, 0u8, 73u8, 78u8, 0u8, 78u8,
|
||||||
|
79u8, 0u8, 84u8, 72u8, 0u8, 73u8, 78u8, 0u8, 83u8, 69u8, 0u8, 71u8, 78u8,
|
||||||
|
0u8, 90u8, 65u8, 0u8, 67u8, 65u8, 0u8, 90u8, 65u8, 0u8, 73u8, 78u8, 0u8,
|
||||||
|
83u8, 83u8, 0u8, 85u8, 83u8, 0u8, 67u8, 78u8, 0u8, 77u8, 87u8, 0u8, 84u8,
|
||||||
|
90u8, 0u8, 85u8, 71u8, 0u8, 71u8, 72u8, 0u8, 70u8, 82u8, 0u8, 67u8, 65u8,
|
||||||
|
0u8, 67u8, 65u8, 0u8, 67u8, 65u8, 0u8, 69u8, 84u8, 0u8, 73u8, 78u8, 0u8,
|
||||||
|
71u8, 69u8, 0u8, 85u8, 83u8, 0u8, 77u8, 78u8, 0u8, 49u8, 52u8, 51u8, 73u8,
|
||||||
|
78u8, 0u8, 80u8, 72u8, 0u8, 73u8, 82u8, 0u8, 80u8, 72u8, 0u8, 65u8, 87u8,
|
||||||
|
0u8, 80u8, 87u8, 0u8, 70u8, 82u8, 0u8, 78u8, 71u8, 0u8, 85u8, 83u8, 0u8,
|
||||||
|
67u8, 65u8, 0u8, 73u8, 82u8, 0u8, 68u8, 69u8, 0u8, 76u8, 66u8, 0u8, 83u8,
|
||||||
|
66u8, 0u8, 73u8, 78u8, 0u8, 75u8, 69u8, 0u8, 80u8, 76u8, 0u8, 73u8, 84u8,
|
||||||
|
0u8, 71u8, 82u8, 0u8, 70u8, 77u8, 0u8, 73u8, 78u8, 0u8, 67u8, 65u8, 0u8,
|
||||||
|
80u8, 75u8, 0u8, 73u8, 82u8, 0u8, 48u8, 48u8, 49u8, 65u8, 70u8, 0u8, 66u8,
|
||||||
|
82u8, 0u8, 71u8, 65u8, 0u8, 80u8, 69u8, 0u8, 71u8, 84u8, 0u8, 69u8, 67u8,
|
||||||
|
0u8, 73u8, 78u8, 0u8, 82u8, 69u8, 0u8, 73u8, 68u8, 0u8, 73u8, 84u8, 0u8,
|
||||||
|
77u8, 77u8, 0u8, 73u8, 78u8, 0u8, 77u8, 65u8, 0u8, 78u8, 80u8, 0u8, 66u8,
|
||||||
|
68u8, 0u8, 67u8, 72u8, 0u8, 70u8, 73u8, 0u8, 67u8, 72u8, 0u8, 73u8, 82u8,
|
||||||
|
0u8, 83u8, 69u8, 0u8, 66u8, 73u8, 0u8, 77u8, 90u8, 0u8, 82u8, 79u8, 0u8,
|
||||||
|
73u8, 68u8, 0u8, 84u8, 90u8, 0u8, 70u8, 74u8, 0u8, 82u8, 85u8, 0u8, 85u8,
|
||||||
|
65u8, 0u8, 83u8, 66u8, 0u8, 82u8, 87u8, 0u8, 84u8, 90u8, 0u8, 74u8, 80u8,
|
||||||
|
0u8, 73u8, 78u8, 0u8, 71u8, 72u8, 0u8, 82u8, 85u8, 0u8, 75u8, 69u8, 0u8,
|
||||||
|
73u8, 68u8, 0u8, 73u8, 78u8, 0u8, 83u8, 78u8, 0u8, 73u8, 78u8, 0u8, 84u8,
|
||||||
|
90u8, 0u8, 73u8, 84u8, 0u8, 73u8, 78u8, 0u8, 73u8, 84u8, 0u8, 71u8, 66u8,
|
||||||
|
0u8, 80u8, 75u8, 0u8, 73u8, 84u8, 0u8, 73u8, 82u8, 0u8, 78u8, 79u8, 0u8,
|
||||||
|
67u8, 73u8, 0u8, 77u8, 90u8, 0u8, 77u8, 88u8, 0u8, 77u8, 76u8, 0u8, 67u8,
|
||||||
|
70u8, 0u8, 73u8, 69u8, 0u8, 76u8, 84u8, 0u8, 77u8, 65u8, 0u8, 77u8, 77u8,
|
||||||
|
0u8, 76u8, 75u8, 0u8, 69u8, 84u8, 0u8, 83u8, 75u8, 0u8, 80u8, 75u8, 0u8,
|
||||||
|
83u8, 73u8, 0u8, 80u8, 76u8, 0u8, 73u8, 68u8, 0u8, 87u8, 83u8, 0u8, 83u8,
|
||||||
|
69u8, 0u8, 65u8, 79u8, 0u8, 83u8, 69u8, 0u8, 70u8, 73u8, 0u8, 73u8, 76u8,
|
||||||
|
0u8, 70u8, 73u8, 0u8, 90u8, 87u8, 0u8, 77u8, 89u8, 0u8, 77u8, 76u8, 0u8,
|
||||||
|
83u8, 79u8, 0u8, 85u8, 90u8, 0u8, 84u8, 72u8, 0u8, 65u8, 76u8, 0u8, 82u8,
|
||||||
|
83u8, 0u8, 73u8, 78u8, 0u8, 83u8, 82u8, 0u8, 83u8, 78u8, 0u8, 73u8, 78u8,
|
||||||
|
0u8, 90u8, 65u8, 0u8, 69u8, 82u8, 0u8, 90u8, 65u8, 0u8, 68u8, 69u8, 0u8,
|
||||||
|
73u8, 68u8, 0u8, 84u8, 90u8, 0u8, 71u8, 78u8, 0u8, 83u8, 69u8, 0u8, 84u8,
|
||||||
|
90u8, 0u8, 89u8, 84u8, 0u8, 67u8, 68u8, 0u8, 68u8, 69u8, 0u8, 73u8, 78u8,
|
||||||
|
0u8, 73u8, 68u8, 0u8, 66u8, 68u8, 0u8, 73u8, 81u8, 0u8, 80u8, 76u8, 0u8,
|
||||||
|
73u8, 78u8, 0u8, 78u8, 80u8, 0u8, 80u8, 72u8, 0u8, 73u8, 78u8, 0u8, 67u8,
|
||||||
|
78u8, 0u8, 78u8, 80u8, 0u8, 78u8, 80u8, 0u8, 77u8, 89u8, 0u8, 73u8, 78u8,
|
||||||
|
0u8, 83u8, 76u8, 0u8, 85u8, 71u8, 0u8, 84u8, 76u8, 0u8, 84u8, 74u8, 0u8,
|
||||||
|
84u8, 72u8, 0u8, 78u8, 80u8, 0u8, 78u8, 80u8, 0u8, 78u8, 80u8, 0u8, 69u8,
|
||||||
|
84u8, 0u8, 69u8, 82u8, 0u8, 78u8, 71u8, 0u8, 84u8, 77u8, 0u8, 84u8, 75u8,
|
||||||
|
0u8, 65u8, 90u8, 0u8, 78u8, 80u8, 0u8, 80u8, 72u8, 0u8, 65u8, 90u8, 0u8,
|
||||||
|
78u8, 69u8, 0u8, 90u8, 65u8, 0u8, 84u8, 79u8, 0u8, 77u8, 87u8, 0u8, 48u8,
|
||||||
|
48u8, 49u8, 80u8, 71u8, 0u8, 84u8, 82u8, 0u8, 84u8, 82u8, 0u8, 84u8, 87u8,
|
||||||
|
0u8, 80u8, 75u8, 0u8, 90u8, 65u8, 0u8, 71u8, 82u8, 0u8, 78u8, 80u8, 0u8,
|
||||||
|
80u8, 72u8, 0u8, 66u8, 84u8, 0u8, 82u8, 85u8, 0u8, 85u8, 71u8, 0u8, 84u8,
|
||||||
|
72u8, 0u8, 65u8, 90u8, 0u8, 77u8, 87u8, 0u8, 84u8, 86u8, 0u8, 78u8, 69u8,
|
||||||
|
0u8, 67u8, 78u8, 0u8, 73u8, 78u8, 0u8, 80u8, 70u8, 0u8, 82u8, 85u8, 0u8,
|
||||||
|
77u8, 65u8, 0u8, 82u8, 85u8, 0u8, 82u8, 85u8, 0u8, 67u8, 78u8, 0u8, 83u8,
|
||||||
|
89u8, 0u8, 85u8, 65u8, 0u8, 70u8, 77u8, 0u8, 65u8, 79u8, 0u8, 73u8, 78u8,
|
||||||
|
0u8, 73u8, 78u8, 0u8, 80u8, 75u8, 0u8, 85u8, 90u8, 0u8, 76u8, 82u8, 0u8,
|
||||||
|
90u8, 65u8, 0u8, 73u8, 84u8, 0u8, 82u8, 85u8, 0u8, 86u8, 78u8, 0u8, 83u8,
|
||||||
|
88u8, 0u8, 66u8, 69u8, 0u8, 68u8, 69u8, 0u8, 77u8, 90u8, 0u8, 48u8, 48u8,
|
||||||
|
49u8, 82u8, 85u8, 0u8, 69u8, 69u8, 0u8, 84u8, 90u8, 0u8, 66u8, 69u8, 0u8,
|
||||||
|
67u8, 72u8, 0u8, 69u8, 84u8, 0u8, 80u8, 72u8, 0u8, 65u8, 85u8, 0u8, 73u8,
|
||||||
|
78u8, 0u8, 73u8, 78u8, 0u8, 87u8, 70u8, 0u8, 75u8, 77u8, 0u8, 83u8, 78u8,
|
||||||
|
0u8, 73u8, 78u8, 0u8, 73u8, 78u8, 0u8, 67u8, 78u8, 0u8, 66u8, 82u8, 0u8,
|
||||||
|
85u8, 90u8, 0u8, 84u8, 82u8, 0u8, 90u8, 65u8, 0u8, 84u8, 82u8, 0u8, 84u8,
|
||||||
|
82u8, 0u8, 71u8, 69u8, 0u8, 67u8, 78u8, 0u8, 83u8, 68u8, 0u8, 83u8, 65u8,
|
||||||
|
0u8, 73u8, 78u8, 0u8, 85u8, 71u8, 0u8, 73u8, 82u8, 0u8, 89u8, 69u8, 0u8,
|
||||||
|
78u8, 80u8, 0u8, 77u8, 90u8, 0u8, 70u8, 77u8, 0u8, 67u8, 77u8, 0u8, 67u8,
|
||||||
|
77u8, 0u8, 48u8, 48u8, 49u8, 78u8, 71u8, 0u8, 66u8, 82u8, 0u8, 77u8, 88u8,
|
||||||
|
0u8, 72u8, 75u8, 0u8, 67u8, 78u8, 0u8, 83u8, 68u8, 0u8, 75u8, 77u8, 0u8,
|
||||||
|
78u8, 76u8, 0u8, 77u8, 65u8, 0u8, 67u8, 78u8, 0u8, 67u8, 78u8, 0u8, 67u8,
|
||||||
|
78u8, 0u8, 84u8, 71u8, 0u8, 77u8, 89u8, 0u8, 90u8, 65u8, 0u8, 84u8, 82u8,
|
||||||
|
0u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
)
|
||||||
|
},
|
||||||
|
ls2r: unsafe {
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
|
::zerovec::ZeroMap2d::from_parts_unchecked(
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
97u8, 114u8, 99u8, 97u8, 122u8, 0u8, 99u8, 117u8, 0u8, 101u8, 110u8, 0u8,
|
||||||
|
102u8, 102u8, 0u8, 103u8, 114u8, 99u8, 107u8, 107u8, 0u8, 107u8, 117u8,
|
||||||
|
0u8, 107u8, 121u8, 0u8, 108u8, 105u8, 102u8, 109u8, 97u8, 110u8, 109u8,
|
||||||
|
110u8, 0u8, 112u8, 97u8, 0u8, 112u8, 97u8, 108u8, 115u8, 100u8, 0u8, 116u8,
|
||||||
|
103u8, 0u8, 117u8, 103u8, 0u8, 117u8, 110u8, 114u8, 117u8, 122u8, 0u8,
|
||||||
|
121u8, 117u8, 101u8, 122u8, 104u8, 0u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
2u8, 0u8, 0u8, 0u8, 3u8, 0u8, 0u8, 0u8, 4u8, 0u8, 0u8, 0u8, 5u8, 0u8, 0u8,
|
||||||
|
0u8, 6u8, 0u8, 0u8, 0u8, 7u8, 0u8, 0u8, 0u8, 8u8, 0u8, 0u8, 0u8, 10u8, 0u8,
|
||||||
|
0u8, 0u8, 12u8, 0u8, 0u8, 0u8, 13u8, 0u8, 0u8, 0u8, 14u8, 0u8, 0u8, 0u8,
|
||||||
|
15u8, 0u8, 0u8, 0u8, 16u8, 0u8, 0u8, 0u8, 17u8, 0u8, 0u8, 0u8, 20u8, 0u8,
|
||||||
|
0u8, 0u8, 21u8, 0u8, 0u8, 0u8, 22u8, 0u8, 0u8, 0u8, 23u8, 0u8, 0u8, 0u8,
|
||||||
|
24u8, 0u8, 0u8, 0u8, 25u8, 0u8, 0u8, 0u8, 28u8, 0u8, 0u8, 0u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
78u8, 98u8, 97u8, 116u8, 80u8, 97u8, 108u8, 109u8, 65u8, 114u8, 97u8, 98u8,
|
||||||
|
71u8, 108u8, 97u8, 103u8, 83u8, 104u8, 97u8, 119u8, 65u8, 100u8, 108u8,
|
||||||
|
109u8, 76u8, 105u8, 110u8, 98u8, 65u8, 114u8, 97u8, 98u8, 65u8, 114u8,
|
||||||
|
97u8, 98u8, 89u8, 101u8, 122u8, 105u8, 65u8, 114u8, 97u8, 98u8, 76u8, 97u8,
|
||||||
|
116u8, 110u8, 76u8, 105u8, 109u8, 98u8, 78u8, 107u8, 111u8, 111u8, 77u8,
|
||||||
|
111u8, 110u8, 103u8, 65u8, 114u8, 97u8, 98u8, 80u8, 104u8, 108u8, 112u8,
|
||||||
|
68u8, 101u8, 118u8, 97u8, 75u8, 104u8, 111u8, 106u8, 83u8, 105u8, 110u8,
|
||||||
|
100u8, 65u8, 114u8, 97u8, 98u8, 67u8, 121u8, 114u8, 108u8, 68u8, 101u8,
|
||||||
|
118u8, 97u8, 65u8, 114u8, 97u8, 98u8, 72u8, 97u8, 110u8, 115u8, 66u8,
|
||||||
|
111u8, 112u8, 111u8, 72u8, 97u8, 110u8, 98u8, 72u8, 97u8, 110u8, 116u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
74u8, 79u8, 0u8, 83u8, 89u8, 0u8, 73u8, 82u8, 0u8, 66u8, 71u8, 0u8, 71u8,
|
||||||
|
66u8, 0u8, 71u8, 78u8, 0u8, 71u8, 82u8, 0u8, 67u8, 78u8, 0u8, 73u8, 81u8,
|
||||||
|
0u8, 71u8, 69u8, 0u8, 67u8, 78u8, 0u8, 84u8, 82u8, 0u8, 73u8, 78u8, 0u8,
|
||||||
|
71u8, 78u8, 0u8, 67u8, 78u8, 0u8, 80u8, 75u8, 0u8, 67u8, 78u8, 0u8, 73u8,
|
||||||
|
78u8, 0u8, 73u8, 78u8, 0u8, 73u8, 78u8, 0u8, 80u8, 75u8, 0u8, 75u8, 90u8,
|
||||||
|
0u8, 78u8, 80u8, 0u8, 65u8, 70u8, 0u8, 67u8, 78u8, 0u8, 84u8, 87u8, 0u8,
|
||||||
|
84u8, 87u8, 0u8, 84u8, 87u8, 0u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
)
|
||||||
|
},
|
||||||
|
};
|
4
compiler/rustc_baked_icu_data/src/data/fallback/mod.rs
Normal file
4
compiler/rustc_baked_icu_data/src/data/fallback/mod.rs
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
// @generated
|
||||||
|
pub mod likelysubtags_v1;
|
||||||
|
pub mod parents_v1;
|
||||||
|
pub mod supplement;
|
207
compiler/rustc_baked_icu_data/src/data/fallback/parents_v1.rs
Normal file
207
compiler/rustc_baked_icu_data/src/data/fallback/parents_v1.rs
Normal file
|
@ -0,0 +1,207 @@
|
||||||
|
// @generated
|
||||||
|
type DataStruct = < :: icu_provider_adapters :: fallback :: provider :: LocaleFallbackParentsV1Marker as :: icu_provider :: DataMarker > :: Yokeable ;
|
||||||
|
pub static DATA: litemap::LiteMap<&str, &DataStruct, &[(&str, &DataStruct)]> =
|
||||||
|
litemap::LiteMap::from_sorted_store_unchecked(&[("und", UND)]);
|
||||||
|
static UND: &DataStruct = &::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1 {
|
||||||
|
parents: unsafe {
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
|
::zerovec::ZeroMap::from_parts_unchecked(
|
||||||
|
unsafe {
|
||||||
|
::zerovec::VarZeroVec::from_bytes_unchecked(&[
|
||||||
|
131u8, 0u8, 0u8, 0u8, 0u8, 0u8, 6u8, 0u8, 11u8, 0u8, 16u8, 0u8, 21u8, 0u8,
|
||||||
|
26u8, 0u8, 31u8, 0u8, 36u8, 0u8, 41u8, 0u8, 46u8, 0u8, 51u8, 0u8, 56u8, 0u8,
|
||||||
|
61u8, 0u8, 66u8, 0u8, 71u8, 0u8, 76u8, 0u8, 81u8, 0u8, 86u8, 0u8, 91u8, 0u8,
|
||||||
|
96u8, 0u8, 101u8, 0u8, 106u8, 0u8, 111u8, 0u8, 116u8, 0u8, 121u8, 0u8, 126u8,
|
||||||
|
0u8, 131u8, 0u8, 136u8, 0u8, 141u8, 0u8, 146u8, 0u8, 151u8, 0u8, 156u8, 0u8,
|
||||||
|
161u8, 0u8, 166u8, 0u8, 171u8, 0u8, 176u8, 0u8, 181u8, 0u8, 186u8, 0u8, 191u8,
|
||||||
|
0u8, 196u8, 0u8, 201u8, 0u8, 206u8, 0u8, 211u8, 0u8, 216u8, 0u8, 221u8, 0u8,
|
||||||
|
226u8, 0u8, 231u8, 0u8, 236u8, 0u8, 241u8, 0u8, 246u8, 0u8, 251u8, 0u8, 0u8,
|
||||||
|
1u8, 5u8, 1u8, 10u8, 1u8, 15u8, 1u8, 20u8, 1u8, 25u8, 1u8, 30u8, 1u8, 35u8,
|
||||||
|
1u8, 40u8, 1u8, 45u8, 1u8, 50u8, 1u8, 55u8, 1u8, 60u8, 1u8, 65u8, 1u8, 70u8,
|
||||||
|
1u8, 75u8, 1u8, 80u8, 1u8, 85u8, 1u8, 90u8, 1u8, 95u8, 1u8, 100u8, 1u8, 105u8,
|
||||||
|
1u8, 110u8, 1u8, 115u8, 1u8, 120u8, 1u8, 125u8, 1u8, 130u8, 1u8, 135u8, 1u8,
|
||||||
|
140u8, 1u8, 145u8, 1u8, 150u8, 1u8, 155u8, 1u8, 160u8, 1u8, 165u8, 1u8, 170u8,
|
||||||
|
1u8, 175u8, 1u8, 180u8, 1u8, 185u8, 1u8, 190u8, 1u8, 195u8, 1u8, 200u8, 1u8,
|
||||||
|
205u8, 1u8, 210u8, 1u8, 215u8, 1u8, 220u8, 1u8, 225u8, 1u8, 230u8, 1u8, 235u8,
|
||||||
|
1u8, 240u8, 1u8, 245u8, 1u8, 250u8, 1u8, 255u8, 1u8, 4u8, 2u8, 9u8, 2u8, 14u8,
|
||||||
|
2u8, 19u8, 2u8, 24u8, 2u8, 29u8, 2u8, 34u8, 2u8, 39u8, 2u8, 44u8, 2u8, 49u8,
|
||||||
|
2u8, 54u8, 2u8, 59u8, 2u8, 64u8, 2u8, 71u8, 2u8, 73u8, 2u8, 75u8, 2u8, 77u8,
|
||||||
|
2u8, 82u8, 2u8, 87u8, 2u8, 92u8, 2u8, 97u8, 2u8, 102u8, 2u8, 107u8, 2u8, 112u8,
|
||||||
|
2u8, 117u8, 2u8, 122u8, 2u8, 127u8, 2u8, 132u8, 2u8, 101u8, 110u8, 45u8, 49u8,
|
||||||
|
53u8, 48u8, 101u8, 110u8, 45u8, 65u8, 71u8, 101u8, 110u8, 45u8, 65u8, 73u8,
|
||||||
|
101u8, 110u8, 45u8, 65u8, 84u8, 101u8, 110u8, 45u8, 65u8, 85u8, 101u8, 110u8,
|
||||||
|
45u8, 66u8, 66u8, 101u8, 110u8, 45u8, 66u8, 69u8, 101u8, 110u8, 45u8, 66u8,
|
||||||
|
77u8, 101u8, 110u8, 45u8, 66u8, 83u8, 101u8, 110u8, 45u8, 66u8, 87u8, 101u8,
|
||||||
|
110u8, 45u8, 66u8, 90u8, 101u8, 110u8, 45u8, 67u8, 67u8, 101u8, 110u8, 45u8,
|
||||||
|
67u8, 72u8, 101u8, 110u8, 45u8, 67u8, 75u8, 101u8, 110u8, 45u8, 67u8, 77u8,
|
||||||
|
101u8, 110u8, 45u8, 67u8, 88u8, 101u8, 110u8, 45u8, 67u8, 89u8, 101u8, 110u8,
|
||||||
|
45u8, 68u8, 69u8, 101u8, 110u8, 45u8, 68u8, 71u8, 101u8, 110u8, 45u8, 68u8,
|
||||||
|
75u8, 101u8, 110u8, 45u8, 68u8, 77u8, 101u8, 110u8, 45u8, 69u8, 82u8, 101u8,
|
||||||
|
110u8, 45u8, 70u8, 73u8, 101u8, 110u8, 45u8, 70u8, 74u8, 101u8, 110u8, 45u8,
|
||||||
|
70u8, 75u8, 101u8, 110u8, 45u8, 70u8, 77u8, 101u8, 110u8, 45u8, 71u8, 66u8,
|
||||||
|
101u8, 110u8, 45u8, 71u8, 68u8, 101u8, 110u8, 45u8, 71u8, 71u8, 101u8, 110u8,
|
||||||
|
45u8, 71u8, 72u8, 101u8, 110u8, 45u8, 71u8, 73u8, 101u8, 110u8, 45u8, 71u8,
|
||||||
|
77u8, 101u8, 110u8, 45u8, 71u8, 89u8, 101u8, 110u8, 45u8, 72u8, 75u8, 101u8,
|
||||||
|
110u8, 45u8, 73u8, 69u8, 101u8, 110u8, 45u8, 73u8, 76u8, 101u8, 110u8, 45u8,
|
||||||
|
73u8, 77u8, 101u8, 110u8, 45u8, 73u8, 78u8, 101u8, 110u8, 45u8, 73u8, 79u8,
|
||||||
|
101u8, 110u8, 45u8, 74u8, 69u8, 101u8, 110u8, 45u8, 74u8, 77u8, 101u8, 110u8,
|
||||||
|
45u8, 75u8, 69u8, 101u8, 110u8, 45u8, 75u8, 73u8, 101u8, 110u8, 45u8, 75u8,
|
||||||
|
78u8, 101u8, 110u8, 45u8, 75u8, 89u8, 101u8, 110u8, 45u8, 76u8, 67u8, 101u8,
|
||||||
|
110u8, 45u8, 76u8, 82u8, 101u8, 110u8, 45u8, 76u8, 83u8, 101u8, 110u8, 45u8,
|
||||||
|
77u8, 71u8, 101u8, 110u8, 45u8, 77u8, 79u8, 101u8, 110u8, 45u8, 77u8, 83u8,
|
||||||
|
101u8, 110u8, 45u8, 77u8, 84u8, 101u8, 110u8, 45u8, 77u8, 85u8, 101u8, 110u8,
|
||||||
|
45u8, 77u8, 86u8, 101u8, 110u8, 45u8, 77u8, 87u8, 101u8, 110u8, 45u8, 77u8,
|
||||||
|
89u8, 101u8, 110u8, 45u8, 78u8, 65u8, 101u8, 110u8, 45u8, 78u8, 70u8, 101u8,
|
||||||
|
110u8, 45u8, 78u8, 71u8, 101u8, 110u8, 45u8, 78u8, 76u8, 101u8, 110u8, 45u8,
|
||||||
|
78u8, 82u8, 101u8, 110u8, 45u8, 78u8, 85u8, 101u8, 110u8, 45u8, 78u8, 90u8,
|
||||||
|
101u8, 110u8, 45u8, 80u8, 71u8, 101u8, 110u8, 45u8, 80u8, 75u8, 101u8, 110u8,
|
||||||
|
45u8, 80u8, 78u8, 101u8, 110u8, 45u8, 80u8, 87u8, 101u8, 110u8, 45u8, 82u8,
|
||||||
|
87u8, 101u8, 110u8, 45u8, 83u8, 66u8, 101u8, 110u8, 45u8, 83u8, 67u8, 101u8,
|
||||||
|
110u8, 45u8, 83u8, 68u8, 101u8, 110u8, 45u8, 83u8, 69u8, 101u8, 110u8, 45u8,
|
||||||
|
83u8, 71u8, 101u8, 110u8, 45u8, 83u8, 72u8, 101u8, 110u8, 45u8, 83u8, 73u8,
|
||||||
|
101u8, 110u8, 45u8, 83u8, 76u8, 101u8, 110u8, 45u8, 83u8, 83u8, 101u8, 110u8,
|
||||||
|
45u8, 83u8, 88u8, 101u8, 110u8, 45u8, 83u8, 90u8, 101u8, 110u8, 45u8, 84u8,
|
||||||
|
67u8, 101u8, 110u8, 45u8, 84u8, 75u8, 101u8, 110u8, 45u8, 84u8, 79u8, 101u8,
|
||||||
|
110u8, 45u8, 84u8, 84u8, 101u8, 110u8, 45u8, 84u8, 86u8, 101u8, 110u8, 45u8,
|
||||||
|
84u8, 90u8, 101u8, 110u8, 45u8, 85u8, 71u8, 101u8, 110u8, 45u8, 86u8, 67u8,
|
||||||
|
101u8, 110u8, 45u8, 86u8, 71u8, 101u8, 110u8, 45u8, 86u8, 85u8, 101u8, 110u8,
|
||||||
|
45u8, 87u8, 83u8, 101u8, 110u8, 45u8, 90u8, 65u8, 101u8, 110u8, 45u8, 90u8,
|
||||||
|
77u8, 101u8, 110u8, 45u8, 90u8, 87u8, 101u8, 115u8, 45u8, 65u8, 82u8, 101u8,
|
||||||
|
115u8, 45u8, 66u8, 79u8, 101u8, 115u8, 45u8, 66u8, 82u8, 101u8, 115u8, 45u8,
|
||||||
|
66u8, 90u8, 101u8, 115u8, 45u8, 67u8, 76u8, 101u8, 115u8, 45u8, 67u8, 79u8,
|
||||||
|
101u8, 115u8, 45u8, 67u8, 82u8, 101u8, 115u8, 45u8, 67u8, 85u8, 101u8, 115u8,
|
||||||
|
45u8, 68u8, 79u8, 101u8, 115u8, 45u8, 69u8, 67u8, 101u8, 115u8, 45u8, 71u8,
|
||||||
|
84u8, 101u8, 115u8, 45u8, 72u8, 78u8, 101u8, 115u8, 45u8, 77u8, 88u8, 101u8,
|
||||||
|
115u8, 45u8, 78u8, 73u8, 101u8, 115u8, 45u8, 80u8, 65u8, 101u8, 115u8, 45u8,
|
||||||
|
80u8, 69u8, 101u8, 115u8, 45u8, 80u8, 82u8, 101u8, 115u8, 45u8, 80u8, 89u8,
|
||||||
|
101u8, 115u8, 45u8, 83u8, 86u8, 101u8, 115u8, 45u8, 85u8, 83u8, 101u8, 115u8,
|
||||||
|
45u8, 85u8, 89u8, 101u8, 115u8, 45u8, 86u8, 69u8, 104u8, 105u8, 45u8, 76u8,
|
||||||
|
97u8, 116u8, 110u8, 104u8, 116u8, 110u8, 98u8, 110u8, 110u8, 112u8, 116u8,
|
||||||
|
45u8, 65u8, 79u8, 112u8, 116u8, 45u8, 67u8, 72u8, 112u8, 116u8, 45u8, 67u8,
|
||||||
|
86u8, 112u8, 116u8, 45u8, 70u8, 82u8, 112u8, 116u8, 45u8, 71u8, 81u8, 112u8,
|
||||||
|
116u8, 45u8, 71u8, 87u8, 112u8, 116u8, 45u8, 76u8, 85u8, 112u8, 116u8, 45u8,
|
||||||
|
77u8, 79u8, 112u8, 116u8, 45u8, 77u8, 90u8, 112u8, 116u8, 45u8, 83u8, 84u8,
|
||||||
|
112u8, 116u8, 45u8, 84u8, 76u8, 122u8, 104u8, 45u8, 72u8, 97u8, 110u8, 116u8,
|
||||||
|
45u8, 77u8, 79u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 49u8, 53u8, 48u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 49u8, 53u8,
|
||||||
|
48u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
49u8, 53u8, 48u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 49u8, 53u8, 48u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
49u8, 53u8, 48u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 49u8, 53u8, 48u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 49u8, 53u8, 48u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 49u8, 53u8, 48u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 49u8, 53u8, 48u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
48u8, 48u8, 49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8,
|
||||||
|
49u8, 101u8, 110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8,
|
||||||
|
110u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 48u8, 48u8, 49u8, 101u8, 115u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8,
|
||||||
|
57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8,
|
||||||
|
115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8,
|
||||||
|
57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8,
|
||||||
|
115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8,
|
||||||
|
52u8, 49u8, 57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8,
|
||||||
|
57u8, 101u8, 115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8,
|
||||||
|
115u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 115u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 52u8, 49u8, 57u8, 101u8, 110u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 1u8, 73u8, 78u8, 0u8, 102u8, 114u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 1u8, 72u8, 84u8, 0u8, 110u8, 111u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 110u8, 111u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
112u8, 116u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 80u8, 84u8, 0u8, 112u8, 116u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 80u8, 84u8, 0u8, 112u8, 116u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 1u8, 80u8, 84u8, 0u8, 112u8, 116u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 1u8, 80u8, 84u8, 0u8, 112u8, 116u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
1u8, 80u8, 84u8, 0u8, 112u8, 116u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 80u8,
|
||||||
|
84u8, 0u8, 112u8, 116u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 80u8, 84u8, 0u8,
|
||||||
|
112u8, 116u8, 0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 80u8, 84u8, 0u8, 112u8, 116u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 0u8, 0u8, 1u8, 80u8, 84u8, 0u8, 112u8, 116u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 0u8, 0u8, 1u8, 80u8, 84u8, 0u8, 112u8, 116u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
0u8, 0u8, 1u8, 80u8, 84u8, 0u8, 122u8, 104u8, 0u8, 1u8, 72u8, 97u8, 110u8,
|
||||||
|
116u8, 1u8, 72u8, 75u8, 0u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
)
|
||||||
|
},
|
||||||
|
};
|
|
@ -0,0 +1,41 @@
|
||||||
|
// @generated
|
||||||
|
type DataStruct = < :: icu_provider_adapters :: fallback :: provider :: CollationFallbackSupplementV1Marker as :: icu_provider :: DataMarker > :: Yokeable ;
|
||||||
|
pub static DATA: litemap::LiteMap<&str, &DataStruct, &[(&str, &DataStruct)]> =
|
||||||
|
litemap::LiteMap::from_sorted_store_unchecked(&[("und", UND)]);
|
||||||
|
static UND: &DataStruct =
|
||||||
|
&::icu_provider_adapters::fallback::provider::LocaleFallbackSupplementV1 {
|
||||||
|
parents: unsafe {
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
|
::zerovec::ZeroMap::from_parts_unchecked(
|
||||||
|
unsafe {
|
||||||
|
::zerovec::VarZeroVec::from_bytes_unchecked(&[
|
||||||
|
1u8, 0u8, 0u8, 0u8, 0u8, 0u8, 121u8, 117u8, 101u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::ZeroVec::from_bytes_unchecked(&[
|
||||||
|
122u8, 104u8, 0u8, 1u8, 72u8, 97u8, 110u8, 116u8, 0u8, 0u8, 0u8, 0u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
)
|
||||||
|
},
|
||||||
|
unicode_extension_defaults: unsafe {
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
|
::zerovec::ZeroMap2d::from_parts_unchecked(
|
||||||
|
unsafe { ::zerovec::ZeroVec::from_bytes_unchecked(&[99u8, 111u8]) },
|
||||||
|
unsafe { ::zerovec::ZeroVec::from_bytes_unchecked(&[2u8, 0u8, 0u8, 0u8]) },
|
||||||
|
unsafe {
|
||||||
|
::zerovec::VarZeroVec::from_bytes_unchecked(&[
|
||||||
|
2u8, 0u8, 0u8, 0u8, 0u8, 0u8, 2u8, 0u8, 122u8, 104u8, 122u8, 104u8, 45u8,
|
||||||
|
72u8, 97u8, 110u8, 116u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
unsafe {
|
||||||
|
::zerovec::VarZeroVec::from_bytes_unchecked(&[
|
||||||
|
2u8, 0u8, 0u8, 0u8, 0u8, 0u8, 6u8, 0u8, 112u8, 105u8, 110u8, 121u8, 105u8,
|
||||||
|
110u8, 115u8, 116u8, 114u8, 111u8, 107u8, 101u8,
|
||||||
|
])
|
||||||
|
},
|
||||||
|
)
|
||||||
|
},
|
||||||
|
};
|
|
@ -0,0 +1,2 @@
|
||||||
|
// @generated
|
||||||
|
pub mod co_v1;
|
1161
compiler/rustc_baked_icu_data/src/data/list/and_v1.rs
Normal file
1161
compiler/rustc_baked_icu_data/src/data/list/and_v1.rs
Normal file
File diff suppressed because it is too large
Load diff
2
compiler/rustc_baked_icu_data/src/data/list/mod.rs
Normal file
2
compiler/rustc_baked_icu_data/src/data/list/mod.rs
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
// @generated
|
||||||
|
pub mod and_v1;
|
90
compiler/rustc_baked_icu_data/src/data/mod.rs
Normal file
90
compiler/rustc_baked_icu_data/src/data/mod.rs
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
// @generated
|
||||||
|
mod fallback;
|
||||||
|
mod list;
|
||||||
|
/// This data provider was programmatically generated by [`icu_datagen`](
|
||||||
|
/// https://unicode-org.github.io/icu4x-docs/doc/icu_datagen/enum.Out.html#variant.Module).
|
||||||
|
#[non_exhaustive]
|
||||||
|
pub struct BakedDataProvider;
|
||||||
|
use ::icu_provider::prelude::*;
|
||||||
|
impl DataProvider<::icu_list::provider::AndListV1Marker> for BakedDataProvider {
|
||||||
|
fn load(
|
||||||
|
&self,
|
||||||
|
req: DataRequest,
|
||||||
|
) -> Result<DataResponse<::icu_list::provider::AndListV1Marker>, DataError> {
|
||||||
|
Ok(DataResponse {
|
||||||
|
metadata: Default::default(),
|
||||||
|
payload: Some(DataPayload::from_owned(zerofrom::ZeroFrom::zero_from(
|
||||||
|
*list::and_v1::DATA
|
||||||
|
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
|
||||||
|
.ok_or_else(|| {
|
||||||
|
DataErrorKind::MissingLocale
|
||||||
|
.with_req(::icu_list::provider::AndListV1Marker::KEY, req)
|
||||||
|
})?,
|
||||||
|
))),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl DataProvider<::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker>
|
||||||
|
for BakedDataProvider
|
||||||
|
{
|
||||||
|
fn load(
|
||||||
|
&self,
|
||||||
|
req: DataRequest,
|
||||||
|
) -> Result<
|
||||||
|
DataResponse<
|
||||||
|
::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker,
|
||||||
|
>,
|
||||||
|
DataError,
|
||||||
|
> {
|
||||||
|
Ok(DataResponse {
|
||||||
|
metadata: Default::default(),
|
||||||
|
payload: Some(DataPayload::from_owned(zerofrom::ZeroFrom::zero_from(
|
||||||
|
*fallback::supplement::co_v1::DATA.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse()).ok_or_else(|| {
|
||||||
|
DataErrorKind::MissingLocale.with_req(::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker::KEY, req)
|
||||||
|
})?,
|
||||||
|
))),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl DataProvider<::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker>
|
||||||
|
for BakedDataProvider
|
||||||
|
{
|
||||||
|
fn load(
|
||||||
|
&self,
|
||||||
|
req: DataRequest,
|
||||||
|
) -> Result<
|
||||||
|
DataResponse<
|
||||||
|
::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker,
|
||||||
|
>,
|
||||||
|
DataError,
|
||||||
|
> {
|
||||||
|
Ok(DataResponse {
|
||||||
|
metadata: Default::default(),
|
||||||
|
payload: Some(DataPayload::from_owned(zerofrom::ZeroFrom::zero_from(
|
||||||
|
*fallback::likelysubtags_v1::DATA.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse()).ok_or_else(|| {
|
||||||
|
DataErrorKind::MissingLocale.with_req(::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker::KEY, req)
|
||||||
|
})?,
|
||||||
|
))),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl DataProvider<::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker>
|
||||||
|
for BakedDataProvider
|
||||||
|
{
|
||||||
|
fn load(
|
||||||
|
&self,
|
||||||
|
req: DataRequest,
|
||||||
|
) -> Result<
|
||||||
|
DataResponse<::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker>,
|
||||||
|
DataError,
|
||||||
|
> {
|
||||||
|
Ok(DataResponse {
|
||||||
|
metadata: Default::default(),
|
||||||
|
payload: Some(DataPayload::from_owned(zerofrom::ZeroFrom::zero_from(
|
||||||
|
*fallback::parents_v1::DATA.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse()).ok_or_else(|| {
|
||||||
|
DataErrorKind::MissingLocale.with_req(::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker::KEY, req)
|
||||||
|
})?,
|
||||||
|
))),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
46
compiler/rustc_baked_icu_data/src/lib.rs
Normal file
46
compiler/rustc_baked_icu_data/src/lib.rs
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
//! This crate contains pre-baked ICU4X data, generated by `icu4x-datagen`. The tool
|
||||||
|
//! fetches locale data from CLDR and transforms them into const code in statics that
|
||||||
|
//! ICU4X can load, via databake. `lib.rs` in this crate is manually written, but all
|
||||||
|
//! other code is generated.
|
||||||
|
//!
|
||||||
|
//! This crate can be regenerated when there's a new CLDR version, though that is unlikely
|
||||||
|
//! to result in changes in most cases (currently this only covers list formatting data, which
|
||||||
|
//! is rather stable). It may need to be regenerated when updating ICU4X versions, especially
|
||||||
|
//! across major versions, in case it fails to compile after an update.
|
||||||
|
//!
|
||||||
|
//! It must be regenerated when adding new locales to Rust, or if Rust's usage of ICU4X
|
||||||
|
//! grows to need more kinds of data.
|
||||||
|
//!
|
||||||
|
//! To regenerate the data, run this command:
|
||||||
|
//!
|
||||||
|
//! ```text
|
||||||
|
//! icu4x-datagen -W --pretty --fingerprint --use-separate-crates \
|
||||||
|
//! --format mod -l en es fr it ja pt ru tr zh zh-Hans zh-Hant \
|
||||||
|
//! -k list/and@1 fallback/likelysubtags@1 fallback/parents@1 fallback/supplement/co@1 \
|
||||||
|
//! --cldr-tag latest --icuexport-tag latest -o src/data
|
||||||
|
//! ```
|
||||||
|
#![allow(elided_lifetimes_in_paths)]
|
||||||
|
|
||||||
|
mod data {
|
||||||
|
include!("data/mod.rs");
|
||||||
|
include!("data/any.rs");
|
||||||
|
}
|
||||||
|
|
||||||
|
pub use data::BakedDataProvider;
|
||||||
|
|
||||||
|
pub const fn baked_data_provider() -> BakedDataProvider {
|
||||||
|
data::BakedDataProvider
|
||||||
|
}
|
||||||
|
|
||||||
|
pub mod supported_locales {
|
||||||
|
pub const EN: icu_locid::Locale = icu_locid::locale!("en");
|
||||||
|
pub const ES: icu_locid::Locale = icu_locid::locale!("es");
|
||||||
|
pub const FR: icu_locid::Locale = icu_locid::locale!("fr");
|
||||||
|
pub const IT: icu_locid::Locale = icu_locid::locale!("it");
|
||||||
|
pub const JA: icu_locid::Locale = icu_locid::locale!("ja");
|
||||||
|
pub const PT: icu_locid::Locale = icu_locid::locale!("pt");
|
||||||
|
pub const RU: icu_locid::Locale = icu_locid::locale!("ru");
|
||||||
|
pub const TR: icu_locid::Locale = icu_locid::locale!("tr");
|
||||||
|
pub const ZH_HANS: icu_locid::Locale = icu_locid::locale!("zh-Hans");
|
||||||
|
pub const ZH_HANT: icu_locid::Locale = icu_locid::locale!("zh-Hant");
|
||||||
|
}
|
|
@ -9,9 +9,17 @@ edition = "2021"
|
||||||
fluent-bundle = "0.15.2"
|
fluent-bundle = "0.15.2"
|
||||||
fluent-syntax = "0.11"
|
fluent-syntax = "0.11"
|
||||||
intl-memoizer = "0.5.1"
|
intl-memoizer = "0.5.1"
|
||||||
|
rustc_baked_icu_data = { path = "../rustc_baked_icu_data" }
|
||||||
rustc_data_structures = { path = "../rustc_data_structures" }
|
rustc_data_structures = { path = "../rustc_data_structures" }
|
||||||
rustc_serialize = { path = "../rustc_serialize" }
|
rustc_serialize = { path = "../rustc_serialize" }
|
||||||
rustc_span = { path = "../rustc_span" }
|
rustc_span = { path = "../rustc_span" }
|
||||||
rustc_macros = { path = "../rustc_macros" }
|
rustc_macros = { path = "../rustc_macros" }
|
||||||
tracing = "0.1"
|
tracing = "0.1"
|
||||||
unic-langid = { version = "0.9.0", features = ["macros"] }
|
unic-langid = { version = "0.9.0", features = ["macros"] }
|
||||||
|
icu_list = "1.0.0"
|
||||||
|
writeable = "0.5.0"
|
||||||
|
icu_locid = "1.0.0"
|
||||||
|
icu_provider_adapters = "1.0.0"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
rustc_use_parallel_compiler = ['rustc_baked_icu_data/rustc_use_parallel_compiler']
|
||||||
|
|
|
@ -10,6 +10,7 @@ extern crate tracing;
|
||||||
|
|
||||||
use fluent_bundle::FluentResource;
|
use fluent_bundle::FluentResource;
|
||||||
use fluent_syntax::parser::ParserError;
|
use fluent_syntax::parser::ParserError;
|
||||||
|
use icu_provider_adapters::fallback::{LocaleFallbackProvider, LocaleFallbacker};
|
||||||
use rustc_data_structures::sync::Lrc;
|
use rustc_data_structures::sync::Lrc;
|
||||||
use rustc_macros::{fluent_messages, Decodable, Encodable};
|
use rustc_macros::{fluent_messages, Decodable, Encodable};
|
||||||
use rustc_span::Span;
|
use rustc_span::Span;
|
||||||
|
@ -30,8 +31,7 @@ use intl_memoizer::concurrent::IntlLangMemoizer;
|
||||||
#[cfg(not(parallel_compiler))]
|
#[cfg(not(parallel_compiler))]
|
||||||
use intl_memoizer::IntlLangMemoizer;
|
use intl_memoizer::IntlLangMemoizer;
|
||||||
|
|
||||||
pub use fluent_bundle::{self, FluentArgs, FluentError, FluentValue};
|
pub use fluent_bundle::{self, types::FluentType, FluentArgs, FluentError, FluentValue};
|
||||||
|
|
||||||
pub use unic_langid::{langid, LanguageIdentifier};
|
pub use unic_langid::{langid, LanguageIdentifier};
|
||||||
|
|
||||||
// Generates `DEFAULT_LOCALE_RESOURCES` static and `fluent_generated` module.
|
// Generates `DEFAULT_LOCALE_RESOURCES` static and `fluent_generated` module.
|
||||||
|
@ -542,3 +542,92 @@ impl From<Vec<Span>> for MultiSpan {
|
||||||
MultiSpan::from_spans(spans)
|
MultiSpan::from_spans(spans)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn icu_locale_from_unic_langid(lang: LanguageIdentifier) -> Option<icu_locid::Locale> {
|
||||||
|
icu_locid::Locale::try_from_bytes(lang.to_string().as_bytes()).ok()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn fluent_value_from_str_list_sep_by_and<'source>(
|
||||||
|
l: Vec<Cow<'source, str>>,
|
||||||
|
) -> FluentValue<'source> {
|
||||||
|
// Fluent requires 'static value here for its AnyEq usages.
|
||||||
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
|
struct FluentStrListSepByAnd(Vec<String>);
|
||||||
|
|
||||||
|
impl FluentType for FluentStrListSepByAnd {
|
||||||
|
fn duplicate(&self) -> Box<dyn FluentType + Send> {
|
||||||
|
Box::new(self.clone())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn as_string(&self, intls: &intl_memoizer::IntlLangMemoizer) -> Cow<'static, str> {
|
||||||
|
let result = intls
|
||||||
|
.with_try_get::<MemoizableListFormatter, _, _>((), |list_formatter| {
|
||||||
|
list_formatter.format_to_string(self.0.iter())
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
Cow::Owned(result)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(not(parallel_compiler))]
|
||||||
|
fn as_string_threadsafe(
|
||||||
|
&self,
|
||||||
|
_intls: &intl_memoizer::concurrent::IntlLangMemoizer,
|
||||||
|
) -> Cow<'static, str> {
|
||||||
|
unreachable!("`as_string_threadsafe` is not used in non-parallel rustc")
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(parallel_compiler)]
|
||||||
|
fn as_string_threadsafe(
|
||||||
|
&self,
|
||||||
|
intls: &intl_memoizer::concurrent::IntlLangMemoizer,
|
||||||
|
) -> Cow<'static, str> {
|
||||||
|
let result = intls
|
||||||
|
.with_try_get::<MemoizableListFormatter, _, _>((), |list_formatter| {
|
||||||
|
list_formatter.format_to_string(self.0.iter())
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
Cow::Owned(result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
struct MemoizableListFormatter(icu_list::ListFormatter);
|
||||||
|
|
||||||
|
impl std::ops::Deref for MemoizableListFormatter {
|
||||||
|
type Target = icu_list::ListFormatter;
|
||||||
|
fn deref(&self) -> &Self::Target {
|
||||||
|
&self.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl intl_memoizer::Memoizable for MemoizableListFormatter {
|
||||||
|
type Args = ();
|
||||||
|
type Error = ();
|
||||||
|
|
||||||
|
fn construct(lang: LanguageIdentifier, _args: Self::Args) -> Result<Self, Self::Error>
|
||||||
|
where
|
||||||
|
Self: Sized,
|
||||||
|
{
|
||||||
|
let baked_data_provider = rustc_baked_icu_data::baked_data_provider();
|
||||||
|
let locale_fallbacker =
|
||||||
|
LocaleFallbacker::try_new_with_any_provider(&baked_data_provider)
|
||||||
|
.expect("Failed to create fallback provider");
|
||||||
|
let data_provider =
|
||||||
|
LocaleFallbackProvider::new_with_fallbacker(baked_data_provider, locale_fallbacker);
|
||||||
|
let locale = icu_locale_from_unic_langid(lang)
|
||||||
|
.unwrap_or_else(|| rustc_baked_icu_data::supported_locales::EN);
|
||||||
|
let list_formatter =
|
||||||
|
icu_list::ListFormatter::try_new_and_with_length_with_any_provider(
|
||||||
|
&data_provider,
|
||||||
|
&locale.into(),
|
||||||
|
icu_list::ListLength::Wide,
|
||||||
|
)
|
||||||
|
.expect("Failed to create list formatter");
|
||||||
|
|
||||||
|
Ok(MemoizableListFormatter(list_formatter))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let l = l.into_iter().map(|x| x.into_owned()).collect();
|
||||||
|
|
||||||
|
FluentValue::Custom(Box::new(FluentStrListSepByAnd(l)))
|
||||||
|
}
|
||||||
|
|
|
@ -27,3 +27,6 @@ serde_json = "1.0.59"
|
||||||
|
|
||||||
[target.'cfg(windows)'.dependencies]
|
[target.'cfg(windows)'.dependencies]
|
||||||
winapi = { version = "0.3", features = [ "handleapi", "synchapi", "winbase" ] }
|
winapi = { version = "0.3", features = [ "handleapi", "synchapi", "winbase" ] }
|
||||||
|
|
||||||
|
[features]
|
||||||
|
rustc_use_parallel_compiler = ['rustc_error_messages/rustc_use_parallel_compiler']
|
||||||
|
|
|
@ -4,6 +4,7 @@ use crate::{
|
||||||
SubdiagnosticMessage, Substitution, SubstitutionPart, SuggestionStyle,
|
SubdiagnosticMessage, Substitution, SubstitutionPart, SuggestionStyle,
|
||||||
};
|
};
|
||||||
use rustc_data_structures::fx::FxHashMap;
|
use rustc_data_structures::fx::FxHashMap;
|
||||||
|
use rustc_error_messages::fluent_value_from_str_list_sep_by_and;
|
||||||
use rustc_error_messages::FluentValue;
|
use rustc_error_messages::FluentValue;
|
||||||
use rustc_lint_defs::{Applicability, LintExpectationId};
|
use rustc_lint_defs::{Applicability, LintExpectationId};
|
||||||
use rustc_span::edition::LATEST_STABLE_EDITION;
|
use rustc_span::edition::LATEST_STABLE_EDITION;
|
||||||
|
@ -34,6 +35,7 @@ pub type DiagnosticArgName<'source> = Cow<'source, str>;
|
||||||
pub enum DiagnosticArgValue<'source> {
|
pub enum DiagnosticArgValue<'source> {
|
||||||
Str(Cow<'source, str>),
|
Str(Cow<'source, str>),
|
||||||
Number(usize),
|
Number(usize),
|
||||||
|
StrListSepByAnd(Vec<Cow<'source, str>>),
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Converts a value of a type into a `DiagnosticArg` (typically a field of an `IntoDiagnostic`
|
/// Converts a value of a type into a `DiagnosticArg` (typically a field of an `IntoDiagnostic`
|
||||||
|
@ -49,6 +51,9 @@ impl<'source> IntoDiagnosticArg for DiagnosticArgValue<'source> {
|
||||||
match self {
|
match self {
|
||||||
DiagnosticArgValue::Str(s) => DiagnosticArgValue::Str(Cow::Owned(s.into_owned())),
|
DiagnosticArgValue::Str(s) => DiagnosticArgValue::Str(Cow::Owned(s.into_owned())),
|
||||||
DiagnosticArgValue::Number(n) => DiagnosticArgValue::Number(n),
|
DiagnosticArgValue::Number(n) => DiagnosticArgValue::Number(n),
|
||||||
|
DiagnosticArgValue::StrListSepByAnd(l) => DiagnosticArgValue::StrListSepByAnd(
|
||||||
|
l.into_iter().map(|s| Cow::Owned(s.into_owned())).collect(),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -58,6 +63,7 @@ impl<'source> Into<FluentValue<'source>> for DiagnosticArgValue<'source> {
|
||||||
match self {
|
match self {
|
||||||
DiagnosticArgValue::Str(s) => From::from(s),
|
DiagnosticArgValue::Str(s) => From::from(s),
|
||||||
DiagnosticArgValue::Number(n) => From::from(n),
|
DiagnosticArgValue::Number(n) => From::from(n),
|
||||||
|
DiagnosticArgValue::StrListSepByAnd(l) => fluent_value_from_str_list_sep_by_and(l),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ use rustc_target::abi::TargetDataLayoutErrors;
|
||||||
use rustc_target::spec::{PanicStrategy, SplitDebuginfo, StackProtector, TargetTriple};
|
use rustc_target::spec::{PanicStrategy, SplitDebuginfo, StackProtector, TargetTriple};
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::fmt::Write;
|
|
||||||
use std::num::ParseIntError;
|
use std::num::ParseIntError;
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use std::process::ExitStatus;
|
use std::process::ExitStatus;
|
||||||
|
@ -191,23 +190,9 @@ impl From<Vec<Symbol>> for DiagnosticSymbolList {
|
||||||
|
|
||||||
impl IntoDiagnosticArg for DiagnosticSymbolList {
|
impl IntoDiagnosticArg for DiagnosticSymbolList {
|
||||||
fn into_diagnostic_arg(self) -> DiagnosticArgValue<'static> {
|
fn into_diagnostic_arg(self) -> DiagnosticArgValue<'static> {
|
||||||
// FIXME: replace the logic here with a real list formatter
|
DiagnosticArgValue::StrListSepByAnd(
|
||||||
let symbols = match &self.0[..] {
|
self.0.into_iter().map(|sym| Cow::Owned(format!("`{sym}`"))).collect(),
|
||||||
[symbol] => format!("`{symbol}`"),
|
)
|
||||||
[symbol, last] => {
|
|
||||||
format!("`{symbol}` and `{last}`",)
|
|
||||||
}
|
|
||||||
[symbols @ .., last] => {
|
|
||||||
let mut result = String::new();
|
|
||||||
for symbol in symbols {
|
|
||||||
write!(result, "`{symbol}`, ").unwrap();
|
|
||||||
}
|
|
||||||
write!(result, "and `{last}`").unwrap();
|
|
||||||
result
|
|
||||||
}
|
|
||||||
[] => unreachable!(),
|
|
||||||
};
|
|
||||||
DiagnosticArgValue::Str(Cow::Owned(symbols))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -644,13 +644,14 @@ impl Handler {
|
||||||
inner.stashed_diagnostics = Default::default();
|
inner.stashed_diagnostics = Default::default();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Stash a given diagnostic with the given `Span` and `StashKey` as the key for later stealing.
|
/// Stash a given diagnostic with the given `Span` and [`StashKey`] as the key.
|
||||||
|
/// Retrieve a stashed diagnostic with `steal_diagnostic`.
|
||||||
pub fn stash_diagnostic(&self, span: Span, key: StashKey, diag: Diagnostic) {
|
pub fn stash_diagnostic(&self, span: Span, key: StashKey, diag: Diagnostic) {
|
||||||
let mut inner = self.inner.borrow_mut();
|
let mut inner = self.inner.borrow_mut();
|
||||||
inner.stash((span, key), diag);
|
inner.stash((span, key), diag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Steal a previously stashed diagnostic with the given `Span` and `StashKey` as the key.
|
/// Steal a previously stashed diagnostic with the given `Span` and [`StashKey`] as the key.
|
||||||
pub fn steal_diagnostic(&self, span: Span, key: StashKey) -> Option<DiagnosticBuilder<'_, ()>> {
|
pub fn steal_diagnostic(&self, span: Span, key: StashKey) -> Option<DiagnosticBuilder<'_, ()>> {
|
||||||
let mut inner = self.inner.borrow_mut();
|
let mut inner = self.inner.borrow_mut();
|
||||||
inner.steal((span, key)).map(|diag| DiagnosticBuilder::new_diagnostic(self, diag))
|
inner.steal((span, key)).map(|diag| DiagnosticBuilder::new_diagnostic(self, diag))
|
||||||
|
|
|
@ -278,6 +278,8 @@ language_item_table! {
|
||||||
TryTraitBranch, sym::branch, branch_fn, Target::Method(MethodKind::Trait { body: false }), GenericRequirement::None;
|
TryTraitBranch, sym::branch, branch_fn, Target::Method(MethodKind::Trait { body: false }), GenericRequirement::None;
|
||||||
TryTraitFromYeet, sym::from_yeet, from_yeet_fn, Target::Fn, GenericRequirement::None;
|
TryTraitFromYeet, sym::from_yeet, from_yeet_fn, Target::Fn, GenericRequirement::None;
|
||||||
|
|
||||||
|
PointerSized, sym::pointer_sized, pointer_sized, Target::Trait, GenericRequirement::Exact(0);
|
||||||
|
|
||||||
PollReady, sym::Ready, poll_ready_variant, Target::Variant, GenericRequirement::None;
|
PollReady, sym::Ready, poll_ready_variant, Target::Variant, GenericRequirement::None;
|
||||||
PollPending, sym::Pending, poll_pending_variant, Target::Variant, GenericRequirement::None;
|
PollPending, sym::Pending, poll_pending_variant, Target::Variant, GenericRequirement::None;
|
||||||
|
|
||||||
|
|
|
@ -775,7 +775,7 @@ impl<'f, 'tcx> Coerce<'f, 'tcx> {
|
||||||
|
|
||||||
// Check the obligations of the cast -- for example, when casting
|
// Check the obligations of the cast -- for example, when casting
|
||||||
// `usize` to `dyn* Clone + 'static`:
|
// `usize` to `dyn* Clone + 'static`:
|
||||||
let obligations = predicates
|
let mut obligations: Vec<_> = predicates
|
||||||
.iter()
|
.iter()
|
||||||
.map(|predicate| {
|
.map(|predicate| {
|
||||||
// For each existential predicate (e.g., `?Self: Clone`) substitute
|
// For each existential predicate (e.g., `?Self: Clone`) substitute
|
||||||
|
@ -785,17 +785,34 @@ impl<'f, 'tcx> Coerce<'f, 'tcx> {
|
||||||
let predicate = predicate.with_self_ty(self.tcx, a);
|
let predicate = predicate.with_self_ty(self.tcx, a);
|
||||||
Obligation::new(self.tcx, self.cause.clone(), self.param_env, predicate)
|
Obligation::new(self.tcx, self.cause.clone(), self.param_env, predicate)
|
||||||
})
|
})
|
||||||
|
.chain([
|
||||||
// Enforce the region bound (e.g., `usize: 'static`, in our example).
|
// Enforce the region bound (e.g., `usize: 'static`, in our example).
|
||||||
.chain([Obligation::new(
|
Obligation::new(
|
||||||
self.tcx,
|
self.tcx,
|
||||||
self.cause.clone(),
|
self.cause.clone(),
|
||||||
self.param_env,
|
self.param_env,
|
||||||
self.tcx.mk_predicate(ty::Binder::dummy(ty::PredicateKind::TypeOutlives(
|
ty::Binder::dummy(ty::PredicateKind::TypeOutlives(ty::OutlivesPredicate(
|
||||||
ty::OutlivesPredicate(a, b_region),
|
a, b_region,
|
||||||
))),
|
))),
|
||||||
)])
|
),
|
||||||
|
])
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
|
// Enforce that the type is `usize`/pointer-sized. For now, only those
|
||||||
|
// can be coerced to `dyn*`, except for `dyn* -> dyn*` upcasts.
|
||||||
|
if !a.is_dyn_star() {
|
||||||
|
obligations.push(Obligation::new(
|
||||||
|
self.tcx,
|
||||||
|
self.cause.clone(),
|
||||||
|
self.param_env,
|
||||||
|
ty::Binder::dummy(ty::TraitRef::new(
|
||||||
|
self.tcx.require_lang_item(hir::LangItem::PointerSized, Some(self.cause.span)),
|
||||||
|
self.tcx.mk_substs_trait(a, &[]),
|
||||||
|
))
|
||||||
|
.to_poly_trait_predicate(),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
Ok(InferOk {
|
Ok(InferOk {
|
||||||
value: (vec![Adjustment { kind: Adjust::DynStar, target: b }], b),
|
value: (vec![Adjustment { kind: Adjust::DynStar, target: b }], b),
|
||||||
obligations,
|
obligations,
|
||||||
|
|
|
@ -53,4 +53,4 @@ rustc_target = { path = "../rustc_target" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
llvm = ['rustc_codegen_llvm']
|
llvm = ['rustc_codegen_llvm']
|
||||||
rustc_use_parallel_compiler = ['rayon', 'rustc-rayon-core', 'rustc_query_impl/rustc_use_parallel_compiler']
|
rustc_use_parallel_compiler = ['rayon', 'rustc-rayon-core', 'rustc_query_impl/rustc_use_parallel_compiler', 'rustc_errors/rustc_use_parallel_compiler']
|
||||||
|
|
|
@ -1067,6 +1067,7 @@ symbols! {
|
||||||
plugins,
|
plugins,
|
||||||
pointee_trait,
|
pointee_trait,
|
||||||
pointer,
|
pointer,
|
||||||
|
pointer_sized,
|
||||||
poll,
|
poll,
|
||||||
position,
|
position,
|
||||||
post_dash_lto: "post-lto",
|
post_dash_lto: "post-lto",
|
||||||
|
|
|
@ -304,6 +304,8 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
|
||||||
self.assemble_candidates_for_transmutability(obligation, &mut candidates);
|
self.assemble_candidates_for_transmutability(obligation, &mut candidates);
|
||||||
} else if lang_items.tuple_trait() == Some(def_id) {
|
} else if lang_items.tuple_trait() == Some(def_id) {
|
||||||
self.assemble_candidate_for_tuple(obligation, &mut candidates);
|
self.assemble_candidate_for_tuple(obligation, &mut candidates);
|
||||||
|
} else if lang_items.pointer_sized() == Some(def_id) {
|
||||||
|
self.assemble_candidate_for_ptr_sized(obligation, &mut candidates);
|
||||||
} else {
|
} else {
|
||||||
if lang_items.clone_trait() == Some(def_id) {
|
if lang_items.clone_trait() == Some(def_id) {
|
||||||
// Same builtin conditions as `Copy`, i.e., every type which has builtin support
|
// Same builtin conditions as `Copy`, i.e., every type which has builtin support
|
||||||
|
@ -1049,4 +1051,30 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
|
||||||
| ty::Placeholder(_) => {}
|
| ty::Placeholder(_) => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn assemble_candidate_for_ptr_sized(
|
||||||
|
&mut self,
|
||||||
|
obligation: &TraitObligation<'tcx>,
|
||||||
|
candidates: &mut SelectionCandidateSet<'tcx>,
|
||||||
|
) {
|
||||||
|
// The regions of a type don't affect the size of the type
|
||||||
|
let self_ty = self
|
||||||
|
.tcx()
|
||||||
|
.erase_regions(self.tcx().erase_late_bound_regions(obligation.predicate.self_ty()));
|
||||||
|
|
||||||
|
// But if there are inference variables, we have to wait until it's resolved.
|
||||||
|
if self_ty.has_non_region_infer() {
|
||||||
|
candidates.ambiguous = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let usize_layout =
|
||||||
|
self.tcx().layout_of(ty::ParamEnv::empty().and(self.tcx().types.usize)).unwrap().layout;
|
||||||
|
if let Ok(layout) = self.tcx().layout_of(obligation.param_env.and(self_ty))
|
||||||
|
&& layout.layout.size() == usize_layout.size()
|
||||||
|
&& layout.layout.align().abi == usize_layout.align().abi
|
||||||
|
{
|
||||||
|
candidates.vec.push(BuiltinCandidate { has_nested: false });
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,6 +131,7 @@
|
||||||
#![feature(const_pin)]
|
#![feature(const_pin)]
|
||||||
#![feature(const_ptr_sub_ptr)]
|
#![feature(const_ptr_sub_ptr)]
|
||||||
#![feature(const_replace)]
|
#![feature(const_replace)]
|
||||||
|
#![feature(const_result_drop)]
|
||||||
#![feature(const_ptr_as_ref)]
|
#![feature(const_ptr_as_ref)]
|
||||||
#![feature(const_ptr_is_null)]
|
#![feature(const_ptr_is_null)]
|
||||||
#![feature(const_ptr_read)]
|
#![feature(const_ptr_read)]
|
||||||
|
@ -155,6 +156,7 @@
|
||||||
#![feature(maybe_uninit_uninit_array)]
|
#![feature(maybe_uninit_uninit_array)]
|
||||||
#![feature(ptr_alignment_type)]
|
#![feature(ptr_alignment_type)]
|
||||||
#![feature(ptr_metadata)]
|
#![feature(ptr_metadata)]
|
||||||
|
#![feature(set_ptr_value)]
|
||||||
#![feature(slice_ptr_get)]
|
#![feature(slice_ptr_get)]
|
||||||
#![feature(slice_split_at_unchecked)]
|
#![feature(slice_split_at_unchecked)]
|
||||||
#![feature(str_internals)]
|
#![feature(str_internals)]
|
||||||
|
|
|
@ -809,6 +809,15 @@ pub trait Destruct {}
|
||||||
#[cfg_attr(not(bootstrap), rustc_deny_explicit_impl)]
|
#[cfg_attr(not(bootstrap), rustc_deny_explicit_impl)]
|
||||||
pub trait Tuple {}
|
pub trait Tuple {}
|
||||||
|
|
||||||
|
/// A marker for things
|
||||||
|
#[unstable(feature = "pointer_sized_trait", issue = "none")]
|
||||||
|
#[cfg_attr(not(bootstrap), lang = "pointer_sized")]
|
||||||
|
#[rustc_on_unimplemented(
|
||||||
|
message = "`{Self}` needs to be a pointer-sized type",
|
||||||
|
label = "`{Self}` needs to be a pointer-sized type"
|
||||||
|
)]
|
||||||
|
pub trait PointerSized {}
|
||||||
|
|
||||||
/// Implementations of `Copy` for primitive types.
|
/// Implementations of `Copy` for primitive types.
|
||||||
///
|
///
|
||||||
/// Implementations that cannot be described in Rust
|
/// Implementations that cannot be described in Rust
|
||||||
|
|
|
@ -761,10 +761,11 @@ macro_rules! int_impl {
|
||||||
#[rustc_const_unstable(feature = "const_inherent_unchecked_arith", issue = "85122")]
|
#[rustc_const_unstable(feature = "const_inherent_unchecked_arith", issue = "85122")]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn unchecked_shl(self, rhs: Self) -> Self {
|
pub const unsafe fn unchecked_shl(self, rhs: u32) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for
|
// SAFETY: the caller must uphold the safety contract for
|
||||||
// `unchecked_shl`.
|
// `unchecked_shl`.
|
||||||
unsafe { intrinsics::unchecked_shl(self, rhs) }
|
// Any legal shift amount is losslessly representable in the self type.
|
||||||
|
unsafe { intrinsics::unchecked_shl(self, rhs.try_into().ok().unwrap_unchecked()) }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is
|
/// Checked shift right. Computes `self >> rhs`, returning `None` if `rhs` is
|
||||||
|
@ -808,10 +809,11 @@ macro_rules! int_impl {
|
||||||
#[rustc_const_unstable(feature = "const_inherent_unchecked_arith", issue = "85122")]
|
#[rustc_const_unstable(feature = "const_inherent_unchecked_arith", issue = "85122")]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn unchecked_shr(self, rhs: Self) -> Self {
|
pub const unsafe fn unchecked_shr(self, rhs: u32) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for
|
// SAFETY: the caller must uphold the safety contract for
|
||||||
// `unchecked_shr`.
|
// `unchecked_shr`.
|
||||||
unsafe { intrinsics::unchecked_shr(self, rhs) }
|
// Any legal shift amount is losslessly representable in the self type.
|
||||||
|
unsafe { intrinsics::unchecked_shr(self, rhs.try_into().ok().unwrap_unchecked()) }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Checked absolute value. Computes `self.abs()`, returning `None` if
|
/// Checked absolute value. Computes `self.abs()`, returning `None` if
|
||||||
|
@ -1358,11 +1360,12 @@ macro_rules! int_impl {
|
||||||
#[must_use = "this returns the result of the operation, \
|
#[must_use = "this returns the result of the operation, \
|
||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
#[rustc_allow_const_fn_unstable(const_inherent_unchecked_arith)]
|
||||||
pub const fn wrapping_shl(self, rhs: u32) -> Self {
|
pub const fn wrapping_shl(self, rhs: u32) -> Self {
|
||||||
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
|
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
|
||||||
// out of bounds
|
// out of bounds
|
||||||
unsafe {
|
unsafe {
|
||||||
intrinsics::unchecked_shl(self, (rhs & ($BITS - 1)) as $SelfT)
|
self.unchecked_shl(rhs & ($BITS - 1))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1387,11 +1390,12 @@ macro_rules! int_impl {
|
||||||
#[must_use = "this returns the result of the operation, \
|
#[must_use = "this returns the result of the operation, \
|
||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
#[rustc_allow_const_fn_unstable(const_inherent_unchecked_arith)]
|
||||||
pub const fn wrapping_shr(self, rhs: u32) -> Self {
|
pub const fn wrapping_shr(self, rhs: u32) -> Self {
|
||||||
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
|
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
|
||||||
// out of bounds
|
// out of bounds
|
||||||
unsafe {
|
unsafe {
|
||||||
intrinsics::unchecked_shr(self, (rhs & ($BITS - 1)) as $SelfT)
|
self.unchecked_shr(rhs & ($BITS - 1))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#![stable(feature = "rust1", since = "1.0.0")]
|
#![stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
|
||||||
use crate::ascii;
|
use crate::ascii;
|
||||||
|
use crate::convert::TryInto;
|
||||||
use crate::error::Error;
|
use crate::error::Error;
|
||||||
use crate::intrinsics;
|
use crate::intrinsics;
|
||||||
use crate::mem;
|
use crate::mem;
|
||||||
|
|
|
@ -908,10 +908,11 @@ macro_rules! uint_impl {
|
||||||
#[rustc_const_unstable(feature = "const_inherent_unchecked_arith", issue = "85122")]
|
#[rustc_const_unstable(feature = "const_inherent_unchecked_arith", issue = "85122")]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn unchecked_shl(self, rhs: Self) -> Self {
|
pub const unsafe fn unchecked_shl(self, rhs: u32) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for
|
// SAFETY: the caller must uphold the safety contract for
|
||||||
// `unchecked_shl`.
|
// `unchecked_shl`.
|
||||||
unsafe { intrinsics::unchecked_shl(self, rhs) }
|
// Any legal shift amount is losslessly representable in the self type.
|
||||||
|
unsafe { intrinsics::unchecked_shl(self, rhs.try_into().ok().unwrap_unchecked()) }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Checked shift right. Computes `self >> rhs`, returning `None`
|
/// Checked shift right. Computes `self >> rhs`, returning `None`
|
||||||
|
@ -955,10 +956,11 @@ macro_rules! uint_impl {
|
||||||
#[rustc_const_unstable(feature = "const_inherent_unchecked_arith", issue = "85122")]
|
#[rustc_const_unstable(feature = "const_inherent_unchecked_arith", issue = "85122")]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn unchecked_shr(self, rhs: Self) -> Self {
|
pub const unsafe fn unchecked_shr(self, rhs: u32) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for
|
// SAFETY: the caller must uphold the safety contract for
|
||||||
// `unchecked_shr`.
|
// `unchecked_shr`.
|
||||||
unsafe { intrinsics::unchecked_shr(self, rhs) }
|
// Any legal shift amount is losslessly representable in the self type.
|
||||||
|
unsafe { intrinsics::unchecked_shr(self, rhs.try_into().ok().unwrap_unchecked()) }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Checked exponentiation. Computes `self.pow(exp)`, returning `None` if
|
/// Checked exponentiation. Computes `self.pow(exp)`, returning `None` if
|
||||||
|
@ -1374,11 +1376,12 @@ macro_rules! uint_impl {
|
||||||
#[must_use = "this returns the result of the operation, \
|
#[must_use = "this returns the result of the operation, \
|
||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
#[rustc_allow_const_fn_unstable(const_inherent_unchecked_arith)]
|
||||||
pub const fn wrapping_shl(self, rhs: u32) -> Self {
|
pub const fn wrapping_shl(self, rhs: u32) -> Self {
|
||||||
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
|
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
|
||||||
// out of bounds
|
// out of bounds
|
||||||
unsafe {
|
unsafe {
|
||||||
intrinsics::unchecked_shl(self, (rhs & ($BITS - 1)) as $SelfT)
|
self.unchecked_shl(rhs & ($BITS - 1))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1406,11 +1409,12 @@ macro_rules! uint_impl {
|
||||||
#[must_use = "this returns the result of the operation, \
|
#[must_use = "this returns the result of the operation, \
|
||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
#[rustc_allow_const_fn_unstable(const_inherent_unchecked_arith)]
|
||||||
pub const fn wrapping_shr(self, rhs: u32) -> Self {
|
pub const fn wrapping_shr(self, rhs: u32) -> Self {
|
||||||
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
|
// SAFETY: the masking by the bitsize of the type ensures that we do not shift
|
||||||
// out of bounds
|
// out of bounds
|
||||||
unsafe {
|
unsafe {
|
||||||
intrinsics::unchecked_shr(self, (rhs & ($BITS - 1)) as $SelfT)
|
self.unchecked_shr(rhs & ($BITS - 1))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,19 +79,14 @@ impl<T: ?Sized> *const T {
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[unstable(feature = "set_ptr_value", issue = "75091")]
|
#[unstable(feature = "set_ptr_value", issue = "75091")]
|
||||||
|
#[rustc_const_unstable(feature = "set_ptr_value", issue = "75091")]
|
||||||
#[must_use = "returns a new pointer rather than modifying its argument"]
|
#[must_use = "returns a new pointer rather than modifying its argument"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn with_metadata_of<U>(self, mut val: *const U) -> *const U
|
pub const fn with_metadata_of<U>(self, meta: *const U) -> *const U
|
||||||
where
|
where
|
||||||
U: ?Sized,
|
U: ?Sized,
|
||||||
{
|
{
|
||||||
let target = &mut val as *mut *const U as *mut *const u8;
|
from_raw_parts::<U>(self as *const (), metadata(meta))
|
||||||
// SAFETY: In case of a thin pointer, this operations is identical
|
|
||||||
// to a simple assignment. In case of a fat pointer, with the current
|
|
||||||
// fat pointer layout implementation, the first field of such a
|
|
||||||
// pointer is always the data pointer, which is likewise assigned.
|
|
||||||
unsafe { *target = self as *const u8 };
|
|
||||||
val
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Changes constness without changing the type.
|
/// Changes constness without changing the type.
|
||||||
|
@ -478,8 +473,7 @@ impl<T: ?Sized> *const T {
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn byte_offset(self, count: isize) -> Self {
|
pub const unsafe fn byte_offset(self, count: isize) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for `offset`.
|
// SAFETY: the caller must uphold the safety contract for `offset`.
|
||||||
let this = unsafe { self.cast::<u8>().offset(count).cast::<()>() };
|
unsafe { self.cast::<u8>().offset(count).with_metadata_of(self) }
|
||||||
from_raw_parts::<T>(this, metadata(self))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculates the offset from a pointer using wrapping arithmetic.
|
/// Calculates the offset from a pointer using wrapping arithmetic.
|
||||||
|
@ -559,7 +553,7 @@ impl<T: ?Sized> *const T {
|
||||||
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
||||||
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
||||||
pub const fn wrapping_byte_offset(self, count: isize) -> Self {
|
pub const fn wrapping_byte_offset(self, count: isize) -> Self {
|
||||||
from_raw_parts::<T>(self.cast::<u8>().wrapping_offset(count).cast::<()>(), metadata(self))
|
self.cast::<u8>().wrapping_offset(count).with_metadata_of(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Masks out bits of the pointer according to a mask.
|
/// Masks out bits of the pointer according to a mask.
|
||||||
|
@ -597,8 +591,7 @@ impl<T: ?Sized> *const T {
|
||||||
#[must_use = "returns a new pointer rather than modifying its argument"]
|
#[must_use = "returns a new pointer rather than modifying its argument"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn mask(self, mask: usize) -> *const T {
|
pub fn mask(self, mask: usize) -> *const T {
|
||||||
let this = intrinsics::ptr_mask(self.cast::<()>(), mask);
|
intrinsics::ptr_mask(self.cast::<()>(), mask).with_metadata_of(self)
|
||||||
from_raw_parts::<T>(this, metadata(self))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculates the distance between two pointers. The returned value is in
|
/// Calculates the distance between two pointers. The returned value is in
|
||||||
|
@ -939,8 +932,7 @@ impl<T: ?Sized> *const T {
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn byte_add(self, count: usize) -> Self {
|
pub const unsafe fn byte_add(self, count: usize) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for `add`.
|
// SAFETY: the caller must uphold the safety contract for `add`.
|
||||||
let this = unsafe { self.cast::<u8>().add(count).cast::<()>() };
|
unsafe { self.cast::<u8>().add(count).with_metadata_of(self) }
|
||||||
from_raw_parts::<T>(this, metadata(self))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculates the offset from a pointer (convenience for
|
/// Calculates the offset from a pointer (convenience for
|
||||||
|
@ -1026,8 +1018,7 @@ impl<T: ?Sized> *const T {
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn byte_sub(self, count: usize) -> Self {
|
pub const unsafe fn byte_sub(self, count: usize) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for `sub`.
|
// SAFETY: the caller must uphold the safety contract for `sub`.
|
||||||
let this = unsafe { self.cast::<u8>().sub(count).cast::<()>() };
|
unsafe { self.cast::<u8>().sub(count).with_metadata_of(self) }
|
||||||
from_raw_parts::<T>(this, metadata(self))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculates the offset from a pointer using wrapping arithmetic.
|
/// Calculates the offset from a pointer using wrapping arithmetic.
|
||||||
|
@ -1107,7 +1098,7 @@ impl<T: ?Sized> *const T {
|
||||||
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
||||||
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
||||||
pub const fn wrapping_byte_add(self, count: usize) -> Self {
|
pub const fn wrapping_byte_add(self, count: usize) -> Self {
|
||||||
from_raw_parts::<T>(self.cast::<u8>().wrapping_add(count).cast::<()>(), metadata(self))
|
self.cast::<u8>().wrapping_add(count).with_metadata_of(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculates the offset from a pointer using wrapping arithmetic.
|
/// Calculates the offset from a pointer using wrapping arithmetic.
|
||||||
|
@ -1187,7 +1178,7 @@ impl<T: ?Sized> *const T {
|
||||||
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
||||||
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
||||||
pub const fn wrapping_byte_sub(self, count: usize) -> Self {
|
pub const fn wrapping_byte_sub(self, count: usize) -> Self {
|
||||||
from_raw_parts::<T>(self.cast::<u8>().wrapping_sub(count).cast::<()>(), metadata(self))
|
self.cast::<u8>().wrapping_sub(count).with_metadata_of(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Reads the value from `self` without moving it. This leaves the
|
/// Reads the value from `self` without moving it. This leaves the
|
||||||
|
|
|
@ -1591,8 +1591,8 @@ pub(crate) unsafe fn align_offset<T: Sized>(p: *const T, a: usize) -> usize {
|
||||||
// FIXME(#75598): Direct use of these intrinsics improves codegen significantly at opt-level <=
|
// FIXME(#75598): Direct use of these intrinsics improves codegen significantly at opt-level <=
|
||||||
// 1, where the method versions of these operations are not inlined.
|
// 1, where the method versions of these operations are not inlined.
|
||||||
use intrinsics::{
|
use intrinsics::{
|
||||||
cttz_nonzero, exact_div, unchecked_rem, unchecked_shl, unchecked_shr, unchecked_sub,
|
cttz_nonzero, exact_div, mul_with_overflow, unchecked_rem, unchecked_shl, unchecked_shr,
|
||||||
wrapping_add, wrapping_mul, wrapping_sub,
|
unchecked_sub, wrapping_add, wrapping_mul, wrapping_sub,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Calculate multiplicative modular inverse of `x` modulo `m`.
|
/// Calculate multiplicative modular inverse of `x` modulo `m`.
|
||||||
|
@ -1612,22 +1612,20 @@ pub(crate) unsafe fn align_offset<T: Sized>(p: *const T, a: usize) -> usize {
|
||||||
const INV_TABLE_MOD_16: [u8; 8] = [1, 11, 13, 7, 9, 3, 5, 15];
|
const INV_TABLE_MOD_16: [u8; 8] = [1, 11, 13, 7, 9, 3, 5, 15];
|
||||||
/// Modulo for which the `INV_TABLE_MOD_16` is intended.
|
/// Modulo for which the `INV_TABLE_MOD_16` is intended.
|
||||||
const INV_TABLE_MOD: usize = 16;
|
const INV_TABLE_MOD: usize = 16;
|
||||||
/// INV_TABLE_MOD²
|
|
||||||
const INV_TABLE_MOD_SQUARED: usize = INV_TABLE_MOD * INV_TABLE_MOD;
|
|
||||||
|
|
||||||
let table_inverse = INV_TABLE_MOD_16[(x & (INV_TABLE_MOD - 1)) >> 1] as usize;
|
|
||||||
// SAFETY: `m` is required to be a power-of-two, hence non-zero.
|
// SAFETY: `m` is required to be a power-of-two, hence non-zero.
|
||||||
let m_minus_one = unsafe { unchecked_sub(m, 1) };
|
let m_minus_one = unsafe { unchecked_sub(m, 1) };
|
||||||
if m <= INV_TABLE_MOD {
|
let mut inverse = INV_TABLE_MOD_16[(x & (INV_TABLE_MOD - 1)) >> 1] as usize;
|
||||||
table_inverse & m_minus_one
|
let mut mod_gate = INV_TABLE_MOD;
|
||||||
} else {
|
|
||||||
// We iterate "up" using the following formula:
|
// We iterate "up" using the following formula:
|
||||||
//
|
//
|
||||||
// $$ xy ≡ 1 (mod 2ⁿ) → xy (2 - xy) ≡ 1 (mod 2²ⁿ) $$
|
// $$ xy ≡ 1 (mod 2ⁿ) → xy (2 - xy) ≡ 1 (mod 2²ⁿ) $$
|
||||||
//
|
//
|
||||||
// until 2²ⁿ ≥ m. Then we can reduce to our desired `m` by taking the result `mod m`.
|
// This application needs to be applied at least until `2²ⁿ ≥ m`, at which point we can
|
||||||
let mut inverse = table_inverse;
|
// finally reduce the computation to our desired `m` by taking `inverse mod m`.
|
||||||
let mut going_mod = INV_TABLE_MOD_SQUARED;
|
//
|
||||||
|
// This computation is `O(log log m)`, which is to say, that on 64-bit machines this loop
|
||||||
|
// will always finish in at most 4 iterations.
|
||||||
loop {
|
loop {
|
||||||
// y = y * (2 - xy) mod n
|
// y = y * (2 - xy) mod n
|
||||||
//
|
//
|
||||||
|
@ -1635,13 +1633,17 @@ pub(crate) unsafe fn align_offset<T: Sized>(p: *const T, a: usize) -> usize {
|
||||||
// uses e.g., subtraction `mod n`. It is entirely fine to do them `mod
|
// uses e.g., subtraction `mod n`. It is entirely fine to do them `mod
|
||||||
// usize::MAX` instead, because we take the result `mod n` at the end
|
// usize::MAX` instead, because we take the result `mod n` at the end
|
||||||
// anyway.
|
// anyway.
|
||||||
|
if mod_gate >= m {
|
||||||
|
break;
|
||||||
|
}
|
||||||
inverse = wrapping_mul(inverse, wrapping_sub(2usize, wrapping_mul(x, inverse)));
|
inverse = wrapping_mul(inverse, wrapping_sub(2usize, wrapping_mul(x, inverse)));
|
||||||
if going_mod >= m {
|
let (new_gate, overflow) = mul_with_overflow(mod_gate, mod_gate);
|
||||||
return inverse & m_minus_one;
|
if overflow {
|
||||||
}
|
break;
|
||||||
going_mod = wrapping_mul(going_mod, going_mod);
|
|
||||||
}
|
}
|
||||||
|
mod_gate = new_gate;
|
||||||
}
|
}
|
||||||
|
inverse & m_minus_one
|
||||||
}
|
}
|
||||||
|
|
||||||
let addr = p.addr();
|
let addr = p.addr();
|
||||||
|
|
|
@ -78,23 +78,14 @@ impl<T: ?Sized> *mut T {
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[unstable(feature = "set_ptr_value", issue = "75091")]
|
#[unstable(feature = "set_ptr_value", issue = "75091")]
|
||||||
|
#[rustc_const_unstable(feature = "set_ptr_value", issue = "75091")]
|
||||||
#[must_use = "returns a new pointer rather than modifying its argument"]
|
#[must_use = "returns a new pointer rather than modifying its argument"]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn with_metadata_of<U>(self, val: *const U) -> *mut U
|
pub const fn with_metadata_of<U>(self, meta: *const U) -> *mut U
|
||||||
where
|
where
|
||||||
U: ?Sized,
|
U: ?Sized,
|
||||||
{
|
{
|
||||||
// Prepare in the type system that we will replace the pointer value with a mutable
|
from_raw_parts_mut::<U>(self as *mut (), metadata(meta))
|
||||||
// pointer, taking the mutable provenance from the `self` pointer.
|
|
||||||
let mut val = val as *mut U;
|
|
||||||
// Pointer to the pointer value within the value.
|
|
||||||
let target = &mut val as *mut *mut U as *mut *mut u8;
|
|
||||||
// SAFETY: In case of a thin pointer, this operations is identical
|
|
||||||
// to a simple assignment. In case of a fat pointer, with the current
|
|
||||||
// fat pointer layout implementation, the first field of such a
|
|
||||||
// pointer is always the data pointer, which is likewise assigned.
|
|
||||||
unsafe { *target = self as *mut u8 };
|
|
||||||
val
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Changes constness without changing the type.
|
/// Changes constness without changing the type.
|
||||||
|
@ -496,8 +487,7 @@ impl<T: ?Sized> *mut T {
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn byte_offset(self, count: isize) -> Self {
|
pub const unsafe fn byte_offset(self, count: isize) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for `offset`.
|
// SAFETY: the caller must uphold the safety contract for `offset`.
|
||||||
let this = unsafe { self.cast::<u8>().offset(count).cast::<()>() };
|
unsafe { self.cast::<u8>().offset(count).with_metadata_of(self) }
|
||||||
from_raw_parts_mut::<T>(this, metadata(self))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculates the offset from a pointer using wrapping arithmetic.
|
/// Calculates the offset from a pointer using wrapping arithmetic.
|
||||||
|
@ -576,10 +566,7 @@ impl<T: ?Sized> *mut T {
|
||||||
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
||||||
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
||||||
pub const fn wrapping_byte_offset(self, count: isize) -> Self {
|
pub const fn wrapping_byte_offset(self, count: isize) -> Self {
|
||||||
from_raw_parts_mut::<T>(
|
self.cast::<u8>().wrapping_offset(count).with_metadata_of(self)
|
||||||
self.cast::<u8>().wrapping_offset(count).cast::<()>(),
|
|
||||||
metadata(self),
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Masks out bits of the pointer according to a mask.
|
/// Masks out bits of the pointer according to a mask.
|
||||||
|
@ -620,8 +607,7 @@ impl<T: ?Sized> *mut T {
|
||||||
#[must_use = "returns a new pointer rather than modifying its argument"]
|
#[must_use = "returns a new pointer rather than modifying its argument"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn mask(self, mask: usize) -> *mut T {
|
pub fn mask(self, mask: usize) -> *mut T {
|
||||||
let this = intrinsics::ptr_mask(self.cast::<()>(), mask) as *mut ();
|
intrinsics::ptr_mask(self.cast::<()>(), mask).cast_mut().with_metadata_of(self)
|
||||||
from_raw_parts_mut::<T>(this, metadata(self))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns `None` if the pointer is null, or else returns a unique reference to
|
/// Returns `None` if the pointer is null, or else returns a unique reference to
|
||||||
|
@ -1048,8 +1034,7 @@ impl<T: ?Sized> *mut T {
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn byte_add(self, count: usize) -> Self {
|
pub const unsafe fn byte_add(self, count: usize) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for `add`.
|
// SAFETY: the caller must uphold the safety contract for `add`.
|
||||||
let this = unsafe { self.cast::<u8>().add(count).cast::<()>() };
|
unsafe { self.cast::<u8>().add(count).with_metadata_of(self) }
|
||||||
from_raw_parts_mut::<T>(this, metadata(self))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculates the offset from a pointer (convenience for
|
/// Calculates the offset from a pointer (convenience for
|
||||||
|
@ -1135,8 +1120,7 @@ impl<T: ?Sized> *mut T {
|
||||||
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
|
||||||
pub const unsafe fn byte_sub(self, count: usize) -> Self {
|
pub const unsafe fn byte_sub(self, count: usize) -> Self {
|
||||||
// SAFETY: the caller must uphold the safety contract for `sub`.
|
// SAFETY: the caller must uphold the safety contract for `sub`.
|
||||||
let this = unsafe { self.cast::<u8>().sub(count).cast::<()>() };
|
unsafe { self.cast::<u8>().sub(count).with_metadata_of(self) }
|
||||||
from_raw_parts_mut::<T>(this, metadata(self))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculates the offset from a pointer using wrapping arithmetic.
|
/// Calculates the offset from a pointer using wrapping arithmetic.
|
||||||
|
@ -1216,7 +1200,7 @@ impl<T: ?Sized> *mut T {
|
||||||
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
||||||
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
||||||
pub const fn wrapping_byte_add(self, count: usize) -> Self {
|
pub const fn wrapping_byte_add(self, count: usize) -> Self {
|
||||||
from_raw_parts_mut::<T>(self.cast::<u8>().wrapping_add(count).cast::<()>(), metadata(self))
|
self.cast::<u8>().wrapping_add(count).with_metadata_of(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculates the offset from a pointer using wrapping arithmetic.
|
/// Calculates the offset from a pointer using wrapping arithmetic.
|
||||||
|
@ -1296,7 +1280,7 @@ impl<T: ?Sized> *mut T {
|
||||||
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
#[unstable(feature = "pointer_byte_offsets", issue = "96283")]
|
||||||
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
#[rustc_const_unstable(feature = "const_pointer_byte_offsets", issue = "96283")]
|
||||||
pub const fn wrapping_byte_sub(self, count: usize) -> Self {
|
pub const fn wrapping_byte_sub(self, count: usize) -> Self {
|
||||||
from_raw_parts_mut::<T>(self.cast::<u8>().wrapping_sub(count).cast::<()>(), metadata(self))
|
self.cast::<u8>().wrapping_sub(count).with_metadata_of(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Reads the value from `self` without moving it. This leaves the
|
/// Reads the value from `self` without moving it. This leaves the
|
||||||
|
|
|
@ -3752,9 +3752,9 @@ impl<T> [T] {
|
||||||
/// [`is_sorted`]: slice::is_sorted
|
/// [`is_sorted`]: slice::is_sorted
|
||||||
#[unstable(feature = "is_sorted", reason = "new API", issue = "53485")]
|
#[unstable(feature = "is_sorted", reason = "new API", issue = "53485")]
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn is_sorted_by<F>(&self, mut compare: F) -> bool
|
pub fn is_sorted_by<'a, F>(&'a self, mut compare: F) -> bool
|
||||||
where
|
where
|
||||||
F: FnMut(&T, &T) -> Option<Ordering>,
|
F: FnMut(&'a T, &'a T) -> Option<Ordering>,
|
||||||
{
|
{
|
||||||
self.iter().is_sorted_by(|a, b| compare(*a, *b))
|
self.iter().is_sorted_by(|a, b| compare(*a, *b))
|
||||||
}
|
}
|
||||||
|
@ -3778,9 +3778,9 @@ impl<T> [T] {
|
||||||
#[inline]
|
#[inline]
|
||||||
#[unstable(feature = "is_sorted", reason = "new API", issue = "53485")]
|
#[unstable(feature = "is_sorted", reason = "new API", issue = "53485")]
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn is_sorted_by_key<F, K>(&self, f: F) -> bool
|
pub fn is_sorted_by_key<'a, F, K>(&'a self, f: F) -> bool
|
||||||
where
|
where
|
||||||
F: FnMut(&T) -> K,
|
F: FnMut(&'a T) -> K,
|
||||||
K: PartialOrd,
|
K: PartialOrd,
|
||||||
{
|
{
|
||||||
self.iter().is_sorted_by_key(f)
|
self.iter().is_sorted_by_key(f)
|
||||||
|
|
|
@ -455,6 +455,18 @@ fn align_offset_various_strides() {
|
||||||
assert!(!x);
|
assert!(!x);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn align_offset_issue_103361() {
|
||||||
|
#[cfg(target_pointer_width = "64")]
|
||||||
|
const SIZE: usize = 1 << 47;
|
||||||
|
#[cfg(target_pointer_width = "32")]
|
||||||
|
const SIZE: usize = 1 << 30;
|
||||||
|
#[cfg(target_pointer_width = "16")]
|
||||||
|
const SIZE: usize = 1 << 13;
|
||||||
|
struct HugeSize([u8; SIZE - 1]);
|
||||||
|
let _ = (SIZE as *const HugeSize).align_offset(SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn offset_from() {
|
fn offset_from() {
|
||||||
let mut a = [0; 5];
|
let mut a = [0; 5];
|
||||||
|
|
|
@ -19,8 +19,8 @@ use super::{
|
||||||
collect_paths_for_type, document, ensure_trailing_slash, get_filtered_impls_for_reference,
|
collect_paths_for_type, document, ensure_trailing_slash, get_filtered_impls_for_reference,
|
||||||
item_ty_to_section, notable_traits_button, notable_traits_json, render_all_impls,
|
item_ty_to_section, notable_traits_button, notable_traits_json, render_all_impls,
|
||||||
render_assoc_item, render_assoc_items, render_attributes_in_code, render_attributes_in_pre,
|
render_assoc_item, render_assoc_items, render_attributes_in_code, render_attributes_in_pre,
|
||||||
render_impl, render_rightside, render_stability_since_raw, AssocItemLink, Context,
|
render_impl, render_rightside, render_stability_since_raw,
|
||||||
ImplRenderingParameters,
|
render_stability_since_raw_with_extra, AssocItemLink, Context, ImplRenderingParameters,
|
||||||
};
|
};
|
||||||
use crate::clean;
|
use crate::clean;
|
||||||
use crate::config::ModuleSorting;
|
use crate::config::ModuleSorting;
|
||||||
|
@ -1267,30 +1267,30 @@ fn item_enum(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, e: &clean::
|
||||||
document_non_exhaustive_header(it)
|
document_non_exhaustive_header(it)
|
||||||
);
|
);
|
||||||
document_non_exhaustive(w, it);
|
document_non_exhaustive(w, it);
|
||||||
|
write!(w, "<div class=\"variants\">");
|
||||||
for variant in e.variants() {
|
for variant in e.variants() {
|
||||||
let id = cx.derive_id(format!("{}.{}", ItemType::Variant, variant.name.unwrap()));
|
let id = cx.derive_id(format!("{}.{}", ItemType::Variant, variant.name.unwrap()));
|
||||||
write!(
|
write!(
|
||||||
w,
|
w,
|
||||||
"<h3 id=\"{id}\" class=\"variant small-section-header\">\
|
"<section id=\"{id}\" class=\"variant\">\
|
||||||
<a href=\"#{id}\" class=\"anchor field\"></a>\
|
<a href=\"#{id}\" class=\"anchor\"></a>",
|
||||||
<code>{name}",
|
|
||||||
id = id,
|
id = id,
|
||||||
name = variant.name.unwrap()
|
|
||||||
);
|
);
|
||||||
if let clean::VariantItem(clean::Variant::Tuple(ref s)) = *variant.kind {
|
render_stability_since_raw_with_extra(
|
||||||
w.write_str("(");
|
|
||||||
print_tuple_struct_fields(w, cx, s);
|
|
||||||
w.write_str(")");
|
|
||||||
}
|
|
||||||
w.write_str("</code>");
|
|
||||||
render_stability_since_raw(
|
|
||||||
w,
|
w,
|
||||||
variant.stable_since(tcx),
|
variant.stable_since(tcx),
|
||||||
variant.const_stability(tcx),
|
variant.const_stability(tcx),
|
||||||
it.stable_since(tcx),
|
it.stable_since(tcx),
|
||||||
it.const_stable_since(tcx),
|
it.const_stable_since(tcx),
|
||||||
|
" rightside",
|
||||||
);
|
);
|
||||||
w.write_str("</h3>");
|
write!(w, "<h3 class=\"code-header\">{name}", name = variant.name.unwrap());
|
||||||
|
if let clean::VariantItem(clean::Variant::Tuple(ref s)) = *variant.kind {
|
||||||
|
w.write_str("(");
|
||||||
|
print_tuple_struct_fields(w, cx, s);
|
||||||
|
w.write_str(")");
|
||||||
|
}
|
||||||
|
w.write_str("</h3></section>");
|
||||||
|
|
||||||
use crate::clean::Variant;
|
use crate::clean::Variant;
|
||||||
|
|
||||||
|
@ -1324,7 +1324,7 @@ fn item_enum(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, e: &clean::
|
||||||
write!(
|
write!(
|
||||||
w,
|
w,
|
||||||
"<div class=\"sub-variant-field\">\
|
"<div class=\"sub-variant-field\">\
|
||||||
<span id=\"{id}\" class=\"variant small-section-header\">\
|
<span id=\"{id}\" class=\"small-section-header\">\
|
||||||
<a href=\"#{id}\" class=\"anchor field\"></a>\
|
<a href=\"#{id}\" class=\"anchor field\"></a>\
|
||||||
<code>{f}: {t}</code>\
|
<code>{f}: {t}</code>\
|
||||||
</span>",
|
</span>",
|
||||||
|
@ -1343,6 +1343,7 @@ fn item_enum(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, e: &clean::
|
||||||
|
|
||||||
document(w, cx, variant, Some(it), HeadingOffset::H4);
|
document(w, cx, variant, Some(it), HeadingOffset::H4);
|
||||||
}
|
}
|
||||||
|
write!(w, "</div>");
|
||||||
}
|
}
|
||||||
let def_id = it.item_id.expect_def_id();
|
let def_id = it.item_id.expect_def_id();
|
||||||
render_assoc_items(w, cx, it, def_id, AssocItemRender::All);
|
render_assoc_items(w, cx, it, def_id, AssocItemRender::All);
|
||||||
|
|
|
@ -700,8 +700,6 @@ a {
|
||||||
}
|
}
|
||||||
|
|
||||||
.small-section-header {
|
.small-section-header {
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -709,7 +707,7 @@ a {
|
||||||
display: initial;
|
display: initial;
|
||||||
}
|
}
|
||||||
|
|
||||||
.impl:hover > .anchor, .trait-impl:hover > .anchor {
|
.impl:hover > .anchor, .trait-impl:hover > .anchor, .variant:hover > .anchor {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
@ -1228,12 +1226,6 @@ a.test-arrow:hover {
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3.variant {
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: 1.125rem;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sub-variant h4 {
|
.sub-variant h4 {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
@ -1903,6 +1895,7 @@ in storage.js
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.variant,
|
||||||
.implementors-toggle > summary,
|
.implementors-toggle > summary,
|
||||||
.impl,
|
.impl,
|
||||||
#implementors-list > .docblock,
|
#implementors-list > .docblock,
|
||||||
|
@ -1914,6 +1907,7 @@ in storage.js
|
||||||
margin-bottom: 0.75em;
|
margin-bottom: 0.75em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.variants > .docblock,
|
||||||
.impl-items > .rustdoc-toggle[open]:not(:last-child),
|
.impl-items > .rustdoc-toggle[open]:not(:last-child),
|
||||||
.methods > .rustdoc-toggle[open]:not(:last-child),
|
.methods > .rustdoc-toggle[open]:not(:last-child),
|
||||||
.implementors-toggle[open]:not(:last-child) {
|
.implementors-toggle[open]:not(:last-child) {
|
||||||
|
|
66
src/test/codegen/unchecked_shifts.rs
Normal file
66
src/test/codegen/unchecked_shifts.rs
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
// compile-flags: -O
|
||||||
|
// min-llvm-version: 15.0 (LLVM 13 in CI does this differently from submodule LLVM)
|
||||||
|
// ignore-debug (because unchecked is checked in debug)
|
||||||
|
|
||||||
|
#![crate_type = "lib"]
|
||||||
|
#![feature(unchecked_math)]
|
||||||
|
|
||||||
|
// CHECK-LABEL: @unchecked_shl_unsigned_same
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe fn unchecked_shl_unsigned_same(a: u32, b: u32) -> u32 {
|
||||||
|
// CHECK-NOT: and i32
|
||||||
|
// CHECK: shl i32 %a, %b
|
||||||
|
// CHECK-NOT: and i32
|
||||||
|
a.unchecked_shl(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CHECK-LABEL: @unchecked_shl_unsigned_smaller
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe fn unchecked_shl_unsigned_smaller(a: u16, b: u32) -> u16 {
|
||||||
|
// This uses -DAG to avoid failing on irrelevant reorderings,
|
||||||
|
// like emitting the truncation earlier.
|
||||||
|
|
||||||
|
// CHECK-DAG: %[[INRANGE:.+]] = icmp ult i32 %b, 65536
|
||||||
|
// CHECK-DAG: tail call void @llvm.assume(i1 %[[INRANGE]])
|
||||||
|
// CHECK-DAG: %[[TRUNC:.+]] = trunc i32 %b to i16
|
||||||
|
// CHECK-DAG: shl i16 %a, %[[TRUNC]]
|
||||||
|
a.unchecked_shl(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CHECK-LABEL: @unchecked_shl_unsigned_bigger
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe fn unchecked_shl_unsigned_bigger(a: u64, b: u32) -> u64 {
|
||||||
|
// CHECK: %[[EXT:.+]] = zext i32 %b to i64
|
||||||
|
// CHECK: shl i64 %a, %[[EXT]]
|
||||||
|
a.unchecked_shl(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CHECK-LABEL: @unchecked_shr_signed_same
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe fn unchecked_shr_signed_same(a: i32, b: u32) -> i32 {
|
||||||
|
// CHECK-NOT: and i32
|
||||||
|
// CHECK: ashr i32 %a, %b
|
||||||
|
// CHECK-NOT: and i32
|
||||||
|
a.unchecked_shr(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CHECK-LABEL: @unchecked_shr_signed_smaller
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe fn unchecked_shr_signed_smaller(a: i16, b: u32) -> i16 {
|
||||||
|
// This uses -DAG to avoid failing on irrelevant reorderings,
|
||||||
|
// like emitting the truncation earlier.
|
||||||
|
|
||||||
|
// CHECK-DAG: %[[INRANGE:.+]] = icmp ult i32 %b, 32768
|
||||||
|
// CHECK-DAG: tail call void @llvm.assume(i1 %[[INRANGE]])
|
||||||
|
// CHECK-DAG: %[[TRUNC:.+]] = trunc i32 %b to i16
|
||||||
|
// CHECK-DAG: ashr i16 %a, %[[TRUNC]]
|
||||||
|
a.unchecked_shr(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CHECK-LABEL: @unchecked_shr_signed_bigger
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe fn unchecked_shr_signed_bigger(a: i64, b: u32) -> i64 {
|
||||||
|
// CHECK: %[[EXT:.+]] = zext i32 %b to i64
|
||||||
|
// CHECK: ashr i64 %a, %[[EXT]]
|
||||||
|
a.unchecked_shr(b)
|
||||||
|
}
|
5
src/test/rustdoc-gui/enum-variants.goml
Normal file
5
src/test/rustdoc-gui/enum-variants.goml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
// Verifies that there is non-zero margin on variants and their docblocks.
|
||||||
|
goto: "file://" + |DOC_PATH| + "/test_docs/enum.WhoLetTheDogOut.html"
|
||||||
|
|
||||||
|
assert-css: (".variants > .variant", {"margin": "0px 0px 12px"})
|
||||||
|
assert-css: (".variants > .docblock", {"margin": "0px 0px 32px 24px"})
|
|
@ -8,22 +8,22 @@ pub struct S;
|
||||||
|
|
||||||
// @has issue_88600/enum.FooEnum.html
|
// @has issue_88600/enum.FooEnum.html
|
||||||
pub enum FooEnum {
|
pub enum FooEnum {
|
||||||
// @has - '//*[@id="variant.HiddenTupleItem"]//code' 'HiddenTupleItem(_)'
|
// @has - '//*[@id="variant.HiddenTupleItem"]//h3' 'HiddenTupleItem(_)'
|
||||||
// @count - '//*[@id="variant.HiddenTupleItem.field.0"]' 0
|
// @count - '//*[@id="variant.HiddenTupleItem.field.0"]' 0
|
||||||
HiddenTupleItem(#[doc(hidden)] H),
|
HiddenTupleItem(#[doc(hidden)] H),
|
||||||
// @has - '//*[@id="variant.MultipleHidden"]//code' 'MultipleHidden(_, _)'
|
// @has - '//*[@id="variant.MultipleHidden"]//h3' 'MultipleHidden(_, _)'
|
||||||
// @count - '//*[@id="variant.MultipleHidden.field.0"]' 0
|
// @count - '//*[@id="variant.MultipleHidden.field.0"]' 0
|
||||||
// @count - '//*[@id="variant.MultipleHidden.field.1"]' 0
|
// @count - '//*[@id="variant.MultipleHidden.field.1"]' 0
|
||||||
MultipleHidden(#[doc(hidden)] H, #[doc(hidden)] H),
|
MultipleHidden(#[doc(hidden)] H, #[doc(hidden)] H),
|
||||||
// @has - '//*[@id="variant.MixedHiddenFirst"]//code' 'MixedHiddenFirst(_, S)'
|
// @has - '//*[@id="variant.MixedHiddenFirst"]//h3' 'MixedHiddenFirst(_, S)'
|
||||||
// @count - '//*[@id="variant.MixedHiddenFirst.field.0"]' 0
|
// @count - '//*[@id="variant.MixedHiddenFirst.field.0"]' 0
|
||||||
// @has - '//*[@id="variant.MixedHiddenFirst.field.1"]' '1: S'
|
// @has - '//*[@id="variant.MixedHiddenFirst.field.1"]' '1: S'
|
||||||
MixedHiddenFirst(#[doc(hidden)] H, /** dox */ S),
|
MixedHiddenFirst(#[doc(hidden)] H, /** dox */ S),
|
||||||
// @has - '//*[@id="variant.MixedHiddenLast"]//code' 'MixedHiddenLast(S, _)'
|
// @has - '//*[@id="variant.MixedHiddenLast"]//h3' 'MixedHiddenLast(S, _)'
|
||||||
// @has - '//*[@id="variant.MixedHiddenLast.field.0"]' '0: S'
|
// @has - '//*[@id="variant.MixedHiddenLast.field.0"]' '0: S'
|
||||||
// @count - '//*[@id="variant.MixedHiddenLast.field.1"]' 0
|
// @count - '//*[@id="variant.MixedHiddenLast.field.1"]' 0
|
||||||
MixedHiddenLast(/** dox */ S, #[doc(hidden)] H),
|
MixedHiddenLast(/** dox */ S, #[doc(hidden)] H),
|
||||||
// @has - '//*[@id="variant.HiddenStruct"]//code' 'HiddenStruct'
|
// @has - '//*[@id="variant.HiddenStruct"]//h3' 'HiddenStruct'
|
||||||
// @count - '//*[@id="variant.HiddenStruct.field.h"]' 0
|
// @count - '//*[@id="variant.HiddenStruct.field.h"]' 0
|
||||||
// @has - '//*[@id="variant.HiddenStruct.field.s"]' 's: S'
|
// @has - '//*[@id="variant.HiddenStruct.field.s"]' 's: S'
|
||||||
HiddenStruct {
|
HiddenStruct {
|
||||||
|
|
20
src/test/ui/array-slice-vec/slice_is_sorted_by_borrow.rs
Normal file
20
src/test/ui/array-slice-vec/slice_is_sorted_by_borrow.rs
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// check-pass
|
||||||
|
// regression test for https://github.com/rust-lang/rust/issues/53485#issuecomment-885393452
|
||||||
|
|
||||||
|
#![feature(is_sorted)]
|
||||||
|
|
||||||
|
struct A {
|
||||||
|
name: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let a = &[
|
||||||
|
A {
|
||||||
|
name: "1".to_string(),
|
||||||
|
},
|
||||||
|
A {
|
||||||
|
name: "2".to_string(),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
assert!(a.is_sorted_by_key(|a| a.name.as_str()));
|
||||||
|
}
|
11
src/test/ui/dyn-star/align.normal.stderr
Normal file
11
src/test/ui/dyn-star/align.normal.stderr
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
warning: the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||||
|
--> $DIR/align.rs:4:12
|
||||||
|
|
|
||||||
|
LL | #![feature(dyn_star)]
|
||||||
|
| ^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: see issue #91611 <https://github.com/rust-lang/rust/issues/91611> for more information
|
||||||
|
= note: `#[warn(incomplete_features)]` on by default
|
||||||
|
|
||||||
|
warning: 1 warning emitted
|
||||||
|
|
20
src/test/ui/dyn-star/align.over_aligned.stderr
Normal file
20
src/test/ui/dyn-star/align.over_aligned.stderr
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
warning: the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||||
|
--> $DIR/align.rs:4:12
|
||||||
|
|
|
||||||
|
LL | #![feature(dyn_star)]
|
||||||
|
| ^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: see issue #91611 <https://github.com/rust-lang/rust/issues/91611> for more information
|
||||||
|
= note: `#[warn(incomplete_features)]` on by default
|
||||||
|
|
||||||
|
error[E0277]: `AlignedUsize` needs to be a pointer-sized type
|
||||||
|
--> $DIR/align.rs:15:13
|
||||||
|
|
|
||||||
|
LL | let x = AlignedUsize(12) as dyn* Debug;
|
||||||
|
| ^^^^^^^^^^^^^^^^ `AlignedUsize` needs to be a pointer-sized type
|
||||||
|
|
|
||||||
|
= help: the trait `PointerSized` is not implemented for `AlignedUsize`
|
||||||
|
|
||||||
|
error: aborting due to previous error; 1 warning emitted
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0277`.
|
17
src/test/ui/dyn-star/align.rs
Normal file
17
src/test/ui/dyn-star/align.rs
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
// revisions: normal over_aligned
|
||||||
|
//[normal] check-pass
|
||||||
|
|
||||||
|
#![feature(dyn_star)]
|
||||||
|
//~^ WARN the feature `dyn_star` is incomplete and may not be safe to use and/or cause compiler crashes
|
||||||
|
|
||||||
|
use std::fmt::Debug;
|
||||||
|
|
||||||
|
#[cfg_attr(over_aligned, repr(C, align(1024)))]
|
||||||
|
#[cfg_attr(not(over_aligned), repr(C))]
|
||||||
|
#[derive(Debug)]
|
||||||
|
struct AlignedUsize(usize);
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let x = AlignedUsize(12) as dyn* Debug;
|
||||||
|
//[over_aligned]~^ ERROR `AlignedUsize` needs to be a pointer-sized type
|
||||||
|
}
|
15
src/test/ui/dyn-star/check-size-at-cast-polymorphic-bad.rs
Normal file
15
src/test/ui/dyn-star/check-size-at-cast-polymorphic-bad.rs
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#![feature(dyn_star)]
|
||||||
|
#![allow(incomplete_features)]
|
||||||
|
|
||||||
|
use std::fmt::Debug;
|
||||||
|
|
||||||
|
fn dyn_debug(_: (dyn* Debug + '_)) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fn polymorphic<T: Debug + ?Sized>(t: &T) {
|
||||||
|
dyn_debug(t);
|
||||||
|
//~^ ERROR `&T` needs to be a pointer-sized type
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
|
@ -0,0 +1,15 @@
|
||||||
|
error[E0277]: `&T` needs to be a pointer-sized type
|
||||||
|
--> $DIR/check-size-at-cast-polymorphic-bad.rs:11:15
|
||||||
|
|
|
||||||
|
LL | dyn_debug(t);
|
||||||
|
| ^ `&T` needs to be a pointer-sized type
|
||||||
|
|
|
||||||
|
= help: the trait `PointerSized` is not implemented for `&T`
|
||||||
|
help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
|
||||||
|
|
|
||||||
|
LL | fn polymorphic<T: Debug + ?Sized>(t: &T) where &T: PointerSized {
|
||||||
|
| ++++++++++++++++++++++
|
||||||
|
|
||||||
|
error: aborting due to previous error
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0277`.
|
16
src/test/ui/dyn-star/check-size-at-cast-polymorphic.rs
Normal file
16
src/test/ui/dyn-star/check-size-at-cast-polymorphic.rs
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
// check-pass
|
||||||
|
|
||||||
|
#![feature(dyn_star)]
|
||||||
|
#![allow(incomplete_features)]
|
||||||
|
|
||||||
|
use std::fmt::Debug;
|
||||||
|
|
||||||
|
fn dyn_debug(_: (dyn* Debug + '_)) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fn polymorphic<T: Debug>(t: &T) {
|
||||||
|
dyn_debug(t);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
10
src/test/ui/dyn-star/check-size-at-cast.rs
Normal file
10
src/test/ui/dyn-star/check-size-at-cast.rs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#![feature(dyn_star)]
|
||||||
|
#![allow(incomplete_features)]
|
||||||
|
|
||||||
|
use std::fmt::Debug;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let i = [1, 2, 3, 4] as dyn* Debug;
|
||||||
|
//~^ ERROR `[i32; 4]` needs to be a pointer-sized type
|
||||||
|
dbg!(i);
|
||||||
|
}
|
11
src/test/ui/dyn-star/check-size-at-cast.stderr
Normal file
11
src/test/ui/dyn-star/check-size-at-cast.stderr
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
error[E0277]: `[i32; 4]` needs to be a pointer-sized type
|
||||||
|
--> $DIR/check-size-at-cast.rs:7:13
|
||||||
|
|
|
||||||
|
LL | let i = [1, 2, 3, 4] as dyn* Debug;
|
||||||
|
| ^^^^^^^^^^^^ `[i32; 4]` needs to be a pointer-sized type
|
||||||
|
|
|
||||||
|
= help: the trait `PointerSized` is not implemented for `[i32; 4]`
|
||||||
|
|
||||||
|
error: aborting due to previous error
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0277`.
|
|
@ -133,6 +133,11 @@ const PERMITTED_RUSTC_DEPENDENCIES: &[&str] = &[
|
||||||
"hashbrown",
|
"hashbrown",
|
||||||
"hermit-abi",
|
"hermit-abi",
|
||||||
"humantime",
|
"humantime",
|
||||||
|
"icu_list",
|
||||||
|
"icu_locid",
|
||||||
|
"icu_provider",
|
||||||
|
"icu_provider_adapters",
|
||||||
|
"icu_provider_macros",
|
||||||
"if_chain",
|
"if_chain",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"instant",
|
"instant",
|
||||||
|
@ -145,6 +150,7 @@ const PERMITTED_RUSTC_DEPENDENCIES: &[&str] = &[
|
||||||
"libc",
|
"libc",
|
||||||
"libloading",
|
"libloading",
|
||||||
"libz-sys",
|
"libz-sys",
|
||||||
|
"litemap",
|
||||||
"lock_api",
|
"lock_api",
|
||||||
"log",
|
"log",
|
||||||
"matchers",
|
"matchers",
|
||||||
|
@ -253,9 +259,16 @@ const PERMITTED_RUSTC_DEPENDENCIES: &[&str] = &[
|
||||||
"winapi-i686-pc-windows-gnu",
|
"winapi-i686-pc-windows-gnu",
|
||||||
"winapi-util",
|
"winapi-util",
|
||||||
"winapi-x86_64-pc-windows-gnu",
|
"winapi-x86_64-pc-windows-gnu",
|
||||||
|
"writeable",
|
||||||
// this is a false-positive: it's only used by rustfmt, but because it's enabled through a
|
// this is a false-positive: it's only used by rustfmt, but because it's enabled through a
|
||||||
// feature, tidy thinks it's used by rustc as well.
|
// feature, tidy thinks it's used by rustc as well.
|
||||||
"yansi-term",
|
"yansi-term",
|
||||||
|
"yoke",
|
||||||
|
"yoke-derive",
|
||||||
|
"zerofrom",
|
||||||
|
"zerofrom-derive",
|
||||||
|
"zerovec",
|
||||||
|
"zerovec-derive",
|
||||||
];
|
];
|
||||||
|
|
||||||
const PERMITTED_CRANELIFT_DEPENDENCIES: &[&str] = &[
|
const PERMITTED_CRANELIFT_DEPENDENCIES: &[&str] = &[
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue