rustc_baked_icu_data/data/
mod.rs
1include!("macros.rs");
3macro_rules! impl_data_provider {
4 ($ provider : ty) => {
5 make_provider!($provider);
6 impl_fallback_likelysubtags_v1!($provider);
7 impl_fallback_parents_v1!($provider);
8 impl_fallback_supplement_co_v1!($provider);
9 impl_list_and_v1!($provider);
10 };
11}
12#[allow(unused_macros)]
13macro_rules! impl_any_provider {
14 ($ provider : ty) => {
15 #[clippy::msrv = "1.66"]
16 impl icu_provider::AnyProvider for $provider {
17 fn load_any(&self, key: icu_provider::DataKey, req: icu_provider::DataRequest) -> Result<icu_provider::AnyResponse, icu_provider::DataError> {
18 match key.hashed() {
19 h if h == <icu_locid_transform::provider::LocaleFallbackLikelySubtagsV1Marker as icu_provider::KeyedDataMarker>::KEY.hashed() => icu_provider::DataProvider::<icu_locid_transform::provider::LocaleFallbackLikelySubtagsV1Marker>::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response),
20 h if h == <icu_locid_transform::provider::LocaleFallbackParentsV1Marker as icu_provider::KeyedDataMarker>::KEY.hashed() => icu_provider::DataProvider::<icu_locid_transform::provider::LocaleFallbackParentsV1Marker>::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response),
21 h if h == <icu_locid_transform::provider::CollationFallbackSupplementV1Marker as icu_provider::KeyedDataMarker>::KEY.hashed() => icu_provider::DataProvider::<icu_locid_transform::provider::CollationFallbackSupplementV1Marker>::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response),
22 h if h == <icu_list::provider::AndListV1Marker as icu_provider::KeyedDataMarker>::KEY.hashed() => icu_provider::DataProvider::<icu_list::provider::AndListV1Marker>::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response),
23 _ => Err(icu_provider::DataErrorKind::MissingDataKey.with_req(key, req)),
24 }
25 }
26 }
27 };
28}
29#[clippy::msrv = "1.66"]
30pub struct BakedDataProvider;
31impl_data_provider!(BakedDataProvider);