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 84314af

Browse files
committedFeb 14, 2023
Update baked data
1 parent 458e09c commit 84314af

File tree

25 files changed

+2707
-2268
lines changed

25 files changed

+2707
-2268
lines changed
 
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+
struct BakedDataProvider;
113+
impl_data_provider!(BakedDataProvider);

‎compiler/rustc_baked_icu_data/src/lib.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@
2323

2424
mod data {
2525
include!("data/mod.rs");
26-
include!("data/any.rs");
26+
impl_data_provider!(super::BakedDataProvider);
27+
impl_any_provider!(super::BakedDataProvider);
2728
}
2829

29-
pub use data::BakedDataProvider;
30+
#[non_exhaustive]
31+
pub struct BakedDataProvider;
3032

3133
pub const fn baked_data_provider() -> BakedDataProvider {
32-
data::BakedDataProvider
34+
BakedDataProvider
3335
}
3436

3537
pub mod supported_locales {

0 commit comments

Comments
 (0)
Please sign in to comment.