Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 0d6fdef

Browse files
author
Lukas Markeffsky
committedFeb 4, 2023
update ICU4X to 1.1.0
1 parent 3de7d7f commit 0d6fdef

File tree

27 files changed

+2734
-2303
lines changed

27 files changed

+2734
-2303
lines changed
 

‎Cargo.lock

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2027,23 +2027,21 @@ checksum = "3c1ad908cc71012b7bea4d0c53ba96a8cba9962f048fa68d143376143d863b7a"
20272027

20282028
[[package]]
20292029
name = "icu_list"
2030-
version = "1.0.0"
2030+
version = "1.1.0"
20312031
source = "registry+https://github.com/rust-lang/crates.io-index"
2032-
checksum = "c40218275f081c4493f190357c5395647b06734c2dc3dcb41cc099a0f60168b1"
2032+
checksum = "01a65ff0cab77c33c7e165c858eaa6e84a09f1e485dd495d9d0ae61083c6f786"
20332033
dependencies = [
20342034
"displaydoc",
2035-
"icu_locid",
20362035
"icu_provider",
20372036
"regex-automata 0.2.0",
20382037
"writeable",
2039-
"zerovec",
20402038
]
20412039

20422040
[[package]]
20432041
name = "icu_locid"
2044-
version = "1.0.0"
2042+
version = "1.1.0"
20452043
source = "registry+https://github.com/rust-lang/crates.io-index"
2046-
checksum = "34b3de5d99a0e275fe6193b9586dbf37364daebc0d39c89b5cf8376a53b789e8"
2044+
checksum = "71d7a98ecb812760b5f077e55a4763edeefa7ccc30d6eb5680a70841ede81928"
20472045
dependencies = [
20482046
"displaydoc",
20492047
"litemap",
@@ -2054,9 +2052,9 @@ dependencies = [
20542052

20552053
[[package]]
20562054
name = "icu_provider"
2057-
version = "1.0.1"
2055+
version = "1.1.0"
20582056
source = "registry+https://github.com/rust-lang/crates.io-index"
2059-
checksum = "2f911086e3c521a8a824d4f8bfd87769645ced2f07ff913b521c0d793be07100"
2057+
checksum = "a86816c97bc4e613086497f9479f63e120315e056763e8c4435604f98d21d82d"
20602058
dependencies = [
20612059
"displaydoc",
20622060
"icu_locid",
@@ -2070,9 +2068,9 @@ dependencies = [
20702068

20712069
[[package]]
20722070
name = "icu_provider_adapters"
2073-
version = "1.0.0"
2071+
version = "1.1.0"
20742072
source = "registry+https://github.com/rust-lang/crates.io-index"
2075-
checksum = "980c71d8a91b246ebbb97847178a4b816eea39d1d550c70ee566384555bb6545"
2073+
checksum = "8e89bf33962b24bb48a4a21330c20c9ff17949338ea376360dd9eda2c209dca1"
20762074
dependencies = [
20772075
"icu_locid",
20782076
"icu_provider",
@@ -2083,9 +2081,9 @@ dependencies = [
20832081

20842082
[[package]]
20852083
name = "icu_provider_macros"
2086-
version = "1.0.0"
2084+
version = "1.1.0"
20872085
source = "registry+https://github.com/rust-lang/crates.io-index"
2088-
checksum = "38cf6f5b65cf81f0b4298da647101acbfe6ae0e25263f92bd7a22597e9d6d606"
2086+
checksum = "9ddb07844c2ffc4c28840e799e9e54ff054393cf090740decf25624e9d94b93a"
20892087
dependencies = [
20902088
"proc-macro2",
20912089
"quote",
@@ -2460,9 +2458,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
24602458

24612459
[[package]]
24622460
name = "litemap"
2463-
version = "0.6.0"
2461+
version = "0.6.1"
24642462
source = "registry+https://github.com/rust-lang/crates.io-index"
2465-
checksum = "f34a3f4798fac63fb48cf277eefa38f94d3443baff555bb98e4f56bc9092368e"
2463+
checksum = "575d8a551c59104b4df91269921e5eab561aa1b77c618dac0414b5d44a4617de"
24662464

24672465
[[package]]
24682466
name = "lld-wrapper"
@@ -3759,7 +3757,6 @@ dependencies = [
37593757
"icu_locid",
37603758
"icu_provider",
37613759
"icu_provider_adapters",
3762-
"litemap",
37633760
"zerovec",
37643761
]
37653762

@@ -4004,7 +4001,6 @@ dependencies = [
40044001
"rustc_span",
40054002
"tracing",
40064003
"unic-langid",
4007-
"writeable",
40084004
]
40094005

40104006
[[package]]
@@ -5667,9 +5663,9 @@ dependencies = [
56675663

56685664
[[package]]
56695665
name = "tinystr"
5670-
version = "0.7.0"
5666+
version = "0.7.1"
56715667
source = "registry+https://github.com/rust-lang/crates.io-index"
5672-
checksum = "f8aeafdfd935e4a7fe16a91ab711fa52d54df84f9c8f7ca5837a9d1d902ef4c2"
5668+
checksum = "7ac3f5b6856e931e15e07b478e98c8045239829a65f9156d4fa7e7788197a5ef"
56735669
dependencies = [
56745670
"displaydoc",
56755671
"zerovec",
@@ -6312,9 +6308,9 @@ checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
63126308

63136309
[[package]]
63146310
name = "writeable"
6315-
version = "0.5.0"
6311+
version = "0.5.1"
63166312
source = "registry+https://github.com/rust-lang/crates.io-index"
6317-
checksum = "f8e6ab4f5da1b24daf2c590cfac801bacb27b15b4f050e84eb60149ea726f06b"
6313+
checksum = "92d74a687e3b9a7a129db0a8c82b4d464eb9c36f5a66ca68572a7e5f1cfdb5bc"
63186314

63196315
[[package]]
63206316
name = "xattr"
@@ -6371,9 +6367,9 @@ dependencies = [
63716367

63726368
[[package]]
63736369
name = "yoke"
6374-
version = "0.6.2"
6370+
version = "0.7.0"
63756371
source = "registry+https://github.com/rust-lang/crates.io-index"
6376-
checksum = "1fe1d55ca72c32d573bfbd5cb2f0ca65a497854c44762957a6d3da96041a5184"
6372+
checksum = "222180af14a6b54ef2c33493c1eff77ae95a3687a21b243e752624006fb8f26e"
63776373
dependencies = [
63786374
"serde",
63796375
"stable_deref_trait",
@@ -6383,9 +6379,9 @@ dependencies = [
63836379

63846380
[[package]]
63856381
name = "yoke-derive"
6386-
version = "0.6.1"
6382+
version = "0.7.0"
63876383
source = "registry+https://github.com/rust-lang/crates.io-index"
6388-
checksum = "1346e4cd025ae818b88566eac7eb65ab33a994ea55f355c86889af2e7e56b14e"
6384+
checksum = "ca800d73d6b7a7ee54f2608205c98b549fca71c9500c1abcb3abdc7708b4a8cb"
63896385
dependencies = [
63906386
"proc-macro2",
63916387
"quote",
@@ -6422,9 +6418,9 @@ checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
64226418

64236419
[[package]]
64246420
name = "zerovec"
6425-
version = "0.9.0"
6421+
version = "0.9.2"
64266422
source = "registry+https://github.com/rust-lang/crates.io-index"
6427-
checksum = "b9d919a74c17749ccb17beaf6405562e413cd94e98ba52ca1e64bbe7eefbd8b8"
6423+
checksum = "154df60c74c4a844bc04a53cef4fc18a909d3ea07e19f5225eaba86209da3aa6"
64286424
dependencies = [
64296425
"yoke",
64306426
"zerofrom",
@@ -6433,9 +6429,9 @@ dependencies = [
64336429

64346430
[[package]]
64356431
name = "zerovec-derive"
6436-
version = "0.9.0"
6432+
version = "0.9.3"
64376433
source = "registry+https://github.com/rust-lang/crates.io-index"
6438-
checksum = "490e5f878c2856225e884c35927e7ea6db3c24cdb7229b72542c7526ad7ed49e"
6434+
checksum = "2154cb6e2a748163354165e22c6a555effb09ca2d16334767bf66bb404f2206e"
64396435
dependencies = [
64406436
"proc-macro2",
64416437
"quote",

‎compiler/rustc_baked_icu_data/Cargo.toml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ version = "0.0.0"
44
edition = "2021"
55

66
[dependencies]
7-
icu_list = "1.0.0"
8-
icu_locid = "1.0.0"
9-
icu_provider = "1.0.1"
10-
icu_provider_adapters = "1.0.0"
11-
litemap = "0.6.0"
12-
zerovec = "0.9.0"
7+
icu_list = "1.1.0"
8+
icu_locid = "1.1.0"
9+
icu_provider = "1.1.0"
10+
icu_provider_adapters = "1.1.0"
11+
zerovec = "0.9.2"
1312

1413
[features]
1514
rustc_use_parallel_compiler = ['icu_provider/sync']
Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,2 @@
11
// @generated
2-
impl AnyProvider for BakedDataProvider {
3-
fn load_any(&self, key: DataKey, req: DataRequest) -> Result<AnyResponse, DataError> {
4-
const ANDLISTV1MARKER: ::icu_provider::DataKeyHash =
5-
::icu_list::provider::AndListV1Marker::KEY.hashed();
6-
const COLLATIONFALLBACKSUPPLEMENTV1MARKER: ::icu_provider::DataKeyHash =
7-
::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker::KEY
8-
.hashed();
9-
const LOCALEFALLBACKLIKELYSUBTAGSV1MARKER: ::icu_provider::DataKeyHash =
10-
::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker::KEY
11-
.hashed();
12-
const LOCALEFALLBACKPARENTSV1MARKER: ::icu_provider::DataKeyHash =
13-
::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker::KEY
14-
.hashed();
15-
#[allow(clippy::match_single_binding)]
16-
match key.hashed() {
17-
ANDLISTV1MARKER => list::and_v1::DATA
18-
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
19-
.copied()
20-
.map(AnyPayload::from_static_ref)
21-
.ok_or(DataErrorKind::MissingLocale),
22-
COLLATIONFALLBACKSUPPLEMENTV1MARKER => fallback::supplement::co_v1::DATA
23-
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
24-
.copied()
25-
.map(AnyPayload::from_static_ref)
26-
.ok_or(DataErrorKind::MissingLocale),
27-
LOCALEFALLBACKLIKELYSUBTAGSV1MARKER => fallback::likelysubtags_v1::DATA
28-
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
29-
.copied()
30-
.map(AnyPayload::from_static_ref)
31-
.ok_or(DataErrorKind::MissingLocale),
32-
LOCALEFALLBACKPARENTSV1MARKER => fallback::parents_v1::DATA
33-
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
34-
.copied()
35-
.map(AnyPayload::from_static_ref)
36-
.ok_or(DataErrorKind::MissingLocale),
37-
_ => Err(DataErrorKind::MissingDataKey),
38-
}
39-
.map_err(|e| e.with_req(key, req))
40-
.map(|payload| AnyResponse { payload: Some(payload), metadata: Default::default() })
41-
}
42-
}
2+
impl_any_provider!(BakedDataProvider);

‎compiler/rustc_baked_icu_data/src/data/fallback/likelysubtags_v1.rs

Lines changed: 0 additions & 733 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @generated
2+
type DataStruct = < :: icu_provider_adapters :: fallback :: provider :: LocaleFallbackLikelySubtagsV1Marker as :: icu_provider :: DataMarker > :: Yokeable ;
3+
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> {
4+
locale.is_empty().then(|| &UND)
5+
}
6+
static UND: DataStruct = include!("und.rs.data");

‎compiler/rustc_baked_icu_data/src/data/fallback/likelysubtags_v1/und.rs.data

Lines changed: 728 additions & 0 deletions
Large diffs are not rendered by default.

‎compiler/rustc_baked_icu_data/src/data/fallback/parents_v1.rs

Lines changed: 0 additions & 207 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @generated
2+
type DataStruct = < :: icu_provider_adapters :: fallback :: provider :: LocaleFallbackParentsV1Marker as :: icu_provider :: DataMarker > :: Yokeable ;
3+
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> {
4+
locale.is_empty().then(|| &UND)
5+
}
6+
static UND: DataStruct = include!("und.rs.data");

‎compiler/rustc_baked_icu_data/src/data/fallback/parents_v1/und.rs.data

Lines changed: 216 additions & 0 deletions
Large diffs are not rendered by default.

‎compiler/rustc_baked_icu_data/src/data/fallback/supplement/co_v1.rs

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @generated
2+
type DataStruct = < :: icu_provider_adapters :: fallback :: provider :: CollationFallbackSupplementV1Marker as :: icu_provider :: DataMarker > :: Yokeable ;
3+
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> {
4+
locale.is_empty().then(|| &UND)
5+
}
6+
static UND: DataStruct = include!("und.rs.data");
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
::icu_provider_adapters::fallback::provider::LocaleFallbackSupplementV1 {
2+
parents: unsafe {
3+
#[allow(unused_unsafe)]
4+
::zerovec::ZeroMap::from_parts_unchecked(
5+
unsafe {
6+
::zerovec::VarZeroVec::from_bytes_unchecked(&[
7+
1u8, 0u8, 0u8, 0u8, 0u8, 0u8, 121u8, 117u8, 101u8,
8+
])
9+
},
10+
unsafe {
11+
::zerovec::ZeroVec::from_bytes_unchecked(&[
12+
122u8, 104u8, 0u8, 1u8, 72u8, 97u8, 110u8, 116u8, 0u8, 0u8, 0u8, 0u8,
13+
])
14+
},
15+
)
16+
},
17+
unicode_extension_defaults: unsafe {
18+
#[allow(unused_unsafe)]
19+
::zerovec::ZeroMap2d::from_parts_unchecked(
20+
unsafe { ::zerovec::ZeroVec::from_bytes_unchecked(&[99u8, 111u8]) },
21+
unsafe { ::zerovec::ZeroVec::from_bytes_unchecked(&[2u8, 0u8, 0u8, 0u8]) },
22+
unsafe {
23+
::zerovec::VarZeroVec::from_bytes_unchecked(&[
24+
2u8, 0u8, 0u8, 0u8, 0u8, 0u8, 2u8, 0u8, 122u8, 104u8, 122u8, 104u8, 45u8,
25+
72u8, 97u8, 110u8, 116u8,
26+
])
27+
},
28+
unsafe {
29+
::zerovec::VarZeroVec::from_bytes_unchecked(&[
30+
2u8, 0u8, 0u8, 0u8, 0u8, 0u8, 6u8, 0u8, 112u8, 105u8, 110u8, 121u8, 105u8,
31+
110u8, 115u8, 116u8, 114u8, 111u8, 107u8, 101u8,
32+
])
33+
},
34+
)
35+
},
36+
}

‎compiler/rustc_baked_icu_data/src/data/list/and_v1.rs

Lines changed: 0 additions & 1161 deletions
This file was deleted.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", and ", 6u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" and ", 5u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", & ", 4u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" & ", 3u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
71+
},
72+
special_case: None,
73+
},
74+
])

‎compiler/rustc_baked_icu_data/src/data/list/and_v1/es.rs.data

Lines changed: 836 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" et ", 4u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" et ", 4u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" et ", 4u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" et ", 4u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
71+
},
72+
special_case: None,
73+
},
74+
])
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
71+
},
72+
special_case: None,
73+
},
74+
])
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
71+
},
72+
special_case: None,
73+
},
74+
])
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// @generated
2+
type DataStruct = <::icu_list::provider::AndListV1Marker as ::icu_provider::DataMarker>::Yokeable;
3+
pub fn lookup(locale: &icu_provider::DataLocale) -> Option<&'static DataStruct> {
4+
static KEYS: [&str; 12usize] =
5+
["en", "es", "fr", "it", "ja", "pt", "ru", "tr", "und", "zh", "zh-Hans", "zh-Hant"];
6+
static DATA: [&DataStruct; 12usize] =
7+
[&EN, &ES, &FR, &IT, &JA, &PT, &RU, &TR, &UND, &ZH, &ZH, &ZH_HANT];
8+
KEYS.binary_search_by(|k| locale.strict_cmp(k.as_bytes()).reverse())
9+
.ok()
10+
.map(|i| unsafe { *DATA.get_unchecked(i) })
11+
}
12+
static EN: DataStruct = include!("en.rs.data");
13+
static ES: DataStruct = include!("es.rs.data");
14+
static FR: DataStruct = include!("fr.rs.data");
15+
static IT: DataStruct = include!("it.rs.data");
16+
static JA: DataStruct = include!("ja.rs.data");
17+
static PT: DataStruct = include!("pt.rs.data");
18+
static RU: DataStruct = include!("ru.rs.data");
19+
static TR: DataStruct = include!("tr.rs.data");
20+
static UND: DataStruct = include!("und.rs.data");
21+
static ZH_HANT: DataStruct = include!("zh-Hant.rs.data");
22+
static ZH: DataStruct = include!("zh.rs.data");
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" e ", 3u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
71+
},
72+
special_case: None,
73+
},
74+
])
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" и ", 4u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" и ", 4u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" и ", 4u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" и ", 4u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
71+
},
72+
special_case: None,
73+
},
74+
])
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" ve ", 4u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" ve ", 4u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" ve ", 4u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(" ve ", 4u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
71+
},
72+
special_case: None,
73+
},
74+
])
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked(", ", 2u8)
71+
},
72+
special_case: None,
73+
},
74+
])
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
71+
},
72+
special_case: None,
73+
},
74+
])
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
::icu_list::provider::ListFormatterPatternsV1([
2+
::icu_list::provider::ConditionalListJoinerPattern {
3+
default: unsafe {
4+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
5+
},
6+
special_case: None,
7+
},
8+
::icu_list::provider::ConditionalListJoinerPattern {
9+
default: unsafe {
10+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
11+
},
12+
special_case: None,
13+
},
14+
::icu_list::provider::ConditionalListJoinerPattern {
15+
default: unsafe {
16+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
17+
},
18+
special_case: None,
19+
},
20+
::icu_list::provider::ConditionalListJoinerPattern {
21+
default: unsafe {
22+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
23+
},
24+
special_case: None,
25+
},
26+
::icu_list::provider::ConditionalListJoinerPattern {
27+
default: unsafe {
28+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
29+
},
30+
special_case: None,
31+
},
32+
::icu_list::provider::ConditionalListJoinerPattern {
33+
default: unsafe {
34+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
35+
},
36+
special_case: None,
37+
},
38+
::icu_list::provider::ConditionalListJoinerPattern {
39+
default: unsafe {
40+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
41+
},
42+
special_case: None,
43+
},
44+
::icu_list::provider::ConditionalListJoinerPattern {
45+
default: unsafe {
46+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("和", 3u8)
47+
},
48+
special_case: None,
49+
},
50+
::icu_list::provider::ConditionalListJoinerPattern {
51+
default: unsafe {
52+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
53+
},
54+
special_case: None,
55+
},
56+
::icu_list::provider::ConditionalListJoinerPattern {
57+
default: unsafe {
58+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
59+
},
60+
special_case: None,
61+
},
62+
::icu_list::provider::ConditionalListJoinerPattern {
63+
default: unsafe {
64+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
65+
},
66+
special_case: None,
67+
},
68+
::icu_list::provider::ConditionalListJoinerPattern {
69+
default: unsafe {
70+
::icu_list::provider::ListJoinerPattern::from_parts_unchecked("、", 3u8)
71+
},
72+
special_case: None,
73+
},
74+
])
Lines changed: 105 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,113 @@
11
// @generated
22
mod fallback;
33
mod list;
4-
/// This data provider was programmatically generated by [`icu_datagen`](
5-
/// https://unicode-org.github.io/icu4x-docs/doc/icu_datagen/enum.Out.html#variant.Module).
6-
#[non_exhaustive]
7-
pub struct BakedDataProvider;
84
use ::icu_provider::prelude::*;
9-
impl DataProvider<::icu_list::provider::AndListV1Marker> for BakedDataProvider {
10-
fn load(
11-
&self,
12-
req: DataRequest,
13-
) -> Result<DataResponse<::icu_list::provider::AndListV1Marker>, DataError> {
14-
Ok(DataResponse {
15-
metadata: Default::default(),
16-
payload: Some(DataPayload::from_owned(zerofrom::ZeroFrom::zero_from(
17-
*list::and_v1::DATA
18-
.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse())
5+
/// Implement [`DataProvider<M>`] on the given struct using the data
6+
/// hardcoded in this module. This allows the struct to be used with
7+
/// `icu`'s `_unstable` constructors.
8+
///
9+
/// This macro can only be called from its definition-site, i.e. right
10+
/// after `include!`-ing the generated module.
11+
///
12+
/// ```compile_fail
13+
/// struct MyDataProvider;
14+
/// include!("/path/to/generated/mod.rs");
15+
/// impl_data_provider(MyDataProvider);
16+
/// ```
17+
#[allow(unused_macros)]
18+
macro_rules! impl_data_provider {
19+
($ provider : path) => {
20+
impl DataProvider<::icu_list::provider::AndListV1Marker> for $provider {
21+
fn load(&self, req: DataRequest) -> Result<DataResponse<::icu_list::provider::AndListV1Marker>, DataError> {
22+
list::and_v1::lookup(&req.locale)
23+
.map(zerofrom::ZeroFrom::zero_from)
24+
.map(DataPayload::from_owned)
25+
.map(|payload| DataResponse { metadata: Default::default(), payload: Some(payload) })
26+
.ok_or_else(|| DataErrorKind::MissingLocale.with_req(::icu_list::provider::AndListV1Marker::KEY, req))
27+
}
28+
}
29+
impl DataProvider<::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker> for $provider {
30+
fn load(
31+
&self,
32+
req: DataRequest,
33+
) -> Result<DataResponse<::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker>, DataError> {
34+
fallback::supplement::co_v1::lookup(&req.locale)
35+
.map(zerofrom::ZeroFrom::zero_from)
36+
.map(DataPayload::from_owned)
37+
.map(|payload| DataResponse { metadata: Default::default(), payload: Some(payload) })
1938
.ok_or_else(|| {
2039
DataErrorKind::MissingLocale
21-
.with_req(::icu_list::provider::AndListV1Marker::KEY, req)
22-
})?,
23-
))),
24-
})
25-
}
26-
}
27-
impl DataProvider<::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker>
28-
for BakedDataProvider
29-
{
30-
fn load(
31-
&self,
32-
req: DataRequest,
33-
) -> Result<
34-
DataResponse<
35-
::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker,
36-
>,
37-
DataError,
38-
> {
39-
Ok(DataResponse {
40-
metadata: Default::default(),
41-
payload: Some(DataPayload::from_owned(zerofrom::ZeroFrom::zero_from(
42-
*fallback::supplement::co_v1::DATA.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse()).ok_or_else(|| {
43-
DataErrorKind::MissingLocale.with_req(::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker::KEY, req)
44-
})?,
45-
))),
46-
})
47-
}
48-
}
49-
impl DataProvider<::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker>
50-
for BakedDataProvider
51-
{
52-
fn load(
53-
&self,
54-
req: DataRequest,
55-
) -> Result<
56-
DataResponse<
57-
::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker,
58-
>,
59-
DataError,
60-
> {
61-
Ok(DataResponse {
62-
metadata: Default::default(),
63-
payload: Some(DataPayload::from_owned(zerofrom::ZeroFrom::zero_from(
64-
*fallback::likelysubtags_v1::DATA.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse()).ok_or_else(|| {
65-
DataErrorKind::MissingLocale.with_req(::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker::KEY, req)
66-
})?,
67-
))),
68-
})
69-
}
40+
.with_req(::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker::KEY, req)
41+
})
42+
}
43+
}
44+
impl DataProvider<::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker> for $provider {
45+
fn load(
46+
&self,
47+
req: DataRequest,
48+
) -> Result<DataResponse<::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker>, DataError> {
49+
fallback::likelysubtags_v1::lookup(&req.locale)
50+
.map(zerofrom::ZeroFrom::zero_from)
51+
.map(DataPayload::from_owned)
52+
.map(|payload| DataResponse { metadata: Default::default(), payload: Some(payload) })
53+
.ok_or_else(|| {
54+
DataErrorKind::MissingLocale
55+
.with_req(::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker::KEY, req)
56+
})
57+
}
58+
}
59+
impl DataProvider<::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker> for $provider {
60+
fn load(
61+
&self,
62+
req: DataRequest,
63+
) -> Result<DataResponse<::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker>, DataError> {
64+
fallback::parents_v1::lookup(&req.locale)
65+
.map(zerofrom::ZeroFrom::zero_from)
66+
.map(DataPayload::from_owned)
67+
.map(|payload| DataResponse { metadata: Default::default(), payload: Some(payload) })
68+
.ok_or_else(|| {
69+
DataErrorKind::MissingLocale.with_req(::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker::KEY, req)
70+
})
71+
}
72+
}
73+
};
7074
}
71-
impl DataProvider<::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker>
72-
for BakedDataProvider
73-
{
74-
fn load(
75-
&self,
76-
req: DataRequest,
77-
) -> Result<
78-
DataResponse<::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker>,
79-
DataError,
80-
> {
81-
Ok(DataResponse {
82-
metadata: Default::default(),
83-
payload: Some(DataPayload::from_owned(zerofrom::ZeroFrom::zero_from(
84-
*fallback::parents_v1::DATA.get_by(|k| req.locale.strict_cmp(k.as_bytes()).reverse()).ok_or_else(|| {
85-
DataErrorKind::MissingLocale.with_req(::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker::KEY, req)
86-
})?,
87-
))),
88-
})
89-
}
75+
/// Implement [`AnyProvider`] on the given struct using the data
76+
/// hardcoded in this module. This allows the struct to be used with
77+
/// `icu`'s `_any` constructors.
78+
///
79+
/// This macro can only be called from its definition-site, i.e. right
80+
/// after `include!`-ing the generated module.
81+
///
82+
/// ```compile_fail
83+
/// struct MyAnyProvider;
84+
/// include!("/path/to/generated/mod.rs");
85+
/// impl_any_provider(MyAnyProvider);
86+
/// ```
87+
#[allow(unused_macros)]
88+
macro_rules! impl_any_provider {
89+
($ provider : path) => {
90+
impl AnyProvider for $provider {
91+
fn load_any(&self, key: DataKey, req: DataRequest) -> Result<AnyResponse, DataError> {
92+
const ANDLISTV1MARKER: ::icu_provider::DataKeyHash = ::icu_list::provider::AndListV1Marker::KEY.hashed();
93+
const COLLATIONFALLBACKSUPPLEMENTV1MARKER: ::icu_provider::DataKeyHash =
94+
::icu_provider_adapters::fallback::provider::CollationFallbackSupplementV1Marker::KEY.hashed();
95+
const LOCALEFALLBACKLIKELYSUBTAGSV1MARKER: ::icu_provider::DataKeyHash =
96+
::icu_provider_adapters::fallback::provider::LocaleFallbackLikelySubtagsV1Marker::KEY.hashed();
97+
const LOCALEFALLBACKPARENTSV1MARKER: ::icu_provider::DataKeyHash =
98+
::icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker::KEY.hashed();
99+
match key.hashed() {
100+
ANDLISTV1MARKER => list::and_v1::lookup(&req.locale).map(AnyPayload::from_static_ref),
101+
COLLATIONFALLBACKSUPPLEMENTV1MARKER => fallback::supplement::co_v1::lookup(&req.locale).map(AnyPayload::from_static_ref),
102+
LOCALEFALLBACKLIKELYSUBTAGSV1MARKER => fallback::likelysubtags_v1::lookup(&req.locale).map(AnyPayload::from_static_ref),
103+
LOCALEFALLBACKPARENTSV1MARKER => fallback::parents_v1::lookup(&req.locale).map(AnyPayload::from_static_ref),
104+
_ => return Err(DataErrorKind::MissingDataKey.with_req(key, req)),
105+
}
106+
.map(|payload| AnyResponse { payload: Some(payload), metadata: Default::default() })
107+
.ok_or_else(|| DataErrorKind::MissingLocale.with_req(key, req))
108+
}
109+
}
110+
};
90111
}
112+
pub struct BakedDataProvider;
113+
impl_data_provider!(BakedDataProvider);

‎compiler/rustc_error_messages/Cargo.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@ rustc_span = { path = "../rustc_span" }
1616
rustc_macros = { path = "../rustc_macros" }
1717
tracing = "0.1"
1818
unic-langid = { version = "0.9.0", features = ["macros"] }
19-
icu_list = "1.0.0"
20-
writeable = "0.5.0"
21-
icu_locid = "1.0.0"
22-
icu_provider_adapters = "1.0.0"
19+
icu_list = "1.1.0"
20+
icu_locid = "1.1.0"
21+
icu_provider_adapters = "1.1.0"
2322

2423
[features]
2524
rustc_use_parallel_compiler = ['rustc_baked_icu_data/rustc_use_parallel_compiler']

0 commit comments

Comments
 (0)
Please sign in to comment.