// @generated /// Implement `DataProvider` on the given struct using the data /// hardcoded in this file. This allows the struct to be used with /// `icu`'s `_unstable` constructors. /// /// Using this implementation will embed the following data in the binary's data segment: /// * 245B for the lookup data structure (47 data identifiers) /// * 4057B[^1] for the actual data (30 unique structs) /// /// [^1]: these numbers can be smaller in practice due to linker deduplication #[doc(hidden)] #[macro_export] macro_rules! __impl_time_zone_essentials_v1_marker { ($ provider : ty) => { #[clippy::msrv = "1.71.1"] const _: () = <$provider>::MUST_USE_MAKE_PROVIDER_MACRO; #[clippy::msrv = "1.71.1"] impl $provider { const DATA_TIME_ZONE_ESSENTIALS_V1_MARKER: icu_provider_baked::zerotrie::Data = icu_provider_baked::zerotrie::Data { trie: icu_provider_baked::zerotrie::ZeroTrieSimpleAscii { store: b"\xD3abcdefghiklmnosuvxy\x06\x17\x1A\x1C%68:CRUgpr\x98\xA5\xA8\xAC\xC2mr\x01\x80\x81\xC5glnrs\x01\x03\x04\x06\x82o\x83\x84x\x85\x84eb\x84a\x86\xC3eot\x01\x02\x87\x88\x84\xC4afir\x01\x07\x08\x89-Adlm\x8A\x8B\x88a\x8Ce\x8D\xC3dei\x01\x02\x86\x8E\x8F\xC2ms\x02\x90\0\x90\x01-Deva\x90\x02ij\x88\xC4alnr\x03\x05\x08i\x90\x03\x90\x04i\x90\x05\x90\x06\xC2dq\x02s\x88o\x90\x07c\x88\xC7adilruw\x05\x0C\x0E\x0F\x16\x17\x90\x08t\x90\t-Deva\x90\x03\x90\n\x84\x86-Latn\x86\x86\x84\xC2nr\x03d\x90\x0B\x84-IN\x90\x0Bec\x88nr\x90\x0Co\x90\r" }, values: &[icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{f}ጂ ኤም ቲ")), offset_zero: alloc::borrow::Cow::Borrowed("ጂ ኤም ቲ"), offset_unknown: alloc::borrow::Cow::Borrowed("ጂ ኤም ቲ+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\rغرينتش")), offset_zero: alloc::borrow::Cow::Borrowed("غرينتش"), offset_unknown: alloc::borrow::Cow::Borrowed("غرينتش+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{f}Гринуич")), offset_zero: alloc::borrow::Cow::Borrowed("Гринуич"), offset_unknown: alloc::borrow::Cow::Borrowed("Гринуич+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{1} Gk")), offset_zero: alloc::borrow::Cow::Borrowed("Gk"), offset_unknown: alloc::borrow::Cow::Borrowed("+? Gk") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{5}GMT ")), offset_zero: alloc::borrow::Cow::Borrowed("GMT"), offset_unknown: alloc::borrow::Cow::Borrowed("GMT +?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{16}जि.एम.ति ")), offset_zero: alloc::borrow::Cow::Borrowed("जि.एम.ति"), offset_unknown: alloc::borrow::Cow::Borrowed("जि.एम.ति +?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed("."), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{4}GMT")), offset_zero: alloc::borrow::Cow::Borrowed("GMT"), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{1} GMT")), offset_zero: alloc::borrow::Cow::Borrowed("GMT"), offset_unknown: alloc::borrow::Cow::Borrowed("+? GMT") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{4}UTC")), offset_zero: alloc::borrow::Cow::Borrowed("UTC"), offset_unknown: alloc::borrow::Cow::Borrowed("UTC+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{1} گرینویچ")), offset_zero: alloc::borrow::Cow::Borrowed("گرینویچ"), offset_unknown: alloc::borrow::Cow::Borrowed("+? گرینویچ") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\r𞤑𞤖𞤘")), offset_zero: alloc::borrow::Cow::Borrowed("𞤑𞤖𞤘"), offset_unknown: alloc::borrow::Cow::Borrowed("𞤑𞤖𞤘+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed("."), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{4}UTC")), offset_zero: alloc::borrow::Cow::Borrowed("UTC"), offset_unknown: alloc::borrow::Cow::Borrowed("UTC+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{4}MAG")), offset_zero: alloc::borrow::Cow::Borrowed("MAG"), offset_unknown: alloc::borrow::Cow::Borrowed("MAG+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{4}GMT\u{200e}")), offset_zero: alloc::borrow::Cow::Borrowed("GMT"), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?\u{200e}") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{4}TMG")), offset_zero: alloc::borrow::Cow::Borrowed("TMG"), offset_unknown: alloc::borrow::Cow::Borrowed("TMG+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{13}ꋧꃅꎕꏦꄮꈉ")), offset_zero: alloc::borrow::Cow::Borrowed("ꋧꃅꎕꏦꄮꈉ"), offset_unknown: alloc::borrow::Cow::Borrowed("ꋧꃅꎕꏦꄮꈉ+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{1a}ម\u{17c9}ោង\u{200b}សកល ")), offset_zero: alloc::borrow::Cow::Borrowed("ម\u{17c9}ោង\u{200b}សកល"), offset_unknown: alloc::borrow::Cow::Borrowed("ម\u{17c9}ោង\u{200b}សកល +?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{4}GMT")), offset_zero: alloc::borrow::Cow::Borrowed("جی ایم ٹی"), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{16}जी एम टी ")), offset_zero: alloc::borrow::Cow::Borrowed("जी एम टी"), offset_unknown: alloc::borrow::Cow::Borrowed("जी एम टी +?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{13}जीएमटी")), offset_zero: alloc::borrow::Cow::Borrowed("जीएमटी"), offset_unknown: alloc::borrow::Cow::Borrowed("जीएमटी+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{14}ജിഎംടി ")), offset_zero: alloc::borrow::Cow::Borrowed("ജിഎംടി"), offset_unknown: alloc::borrow::Cow::Borrowed("ജിഎംടി +?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{16}জি এম টি ")), offset_zero: alloc::borrow::Cow::Borrowed("জি এম টি"), offset_unknown: alloc::borrow::Cow::Borrowed("জি এম টি +?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{6}[GMT]")), offset_zero: alloc::borrow::Cow::Borrowed("[GMT]"), offset_unknown: alloc::borrow::Cow::Borrowed("[GMT]+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\tߜ\u{7ed}ߕߖ")), offset_zero: alloc::borrow::Cow::Borrowed("ߜ\u{7ed}ߕߖ"), offset_unknown: alloc::borrow::Cow::Borrowed("ߜ\u{7ed}ߕߖ+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{17}जी.एम.टी. ")), offset_zero: alloc::borrow::Cow::Borrowed("जी.एम.टी."), offset_unknown: alloc::borrow::Cow::Borrowed("जी.एम.टी. +?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{13}ᱡᱤᱮᱢᱴᱤ")), offset_zero: alloc::borrow::Cow::Borrowed("ᱡᱤᱮᱢᱴᱤ"), offset_unknown: alloc::borrow::Cow::Borrowed("ᱡᱤᱮᱢᱴᱤ+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed("."), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{19}ග\u{dca}\u{200d}ර\u{dd2}මවේ")), offset_zero: alloc::borrow::Cow::Borrowed("ග\u{dca}\u{200d}ර\u{dd2}මවේ"), offset_unknown: alloc::borrow::Cow::Borrowed("ග\u{dca}\u{200d}ර\u{dd2}මවේ+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{4}GMT")), offset_zero: alloc::borrow::Cow::Borrowed("GMT"), offset_unknown: alloc::borrow::Cow::Borrowed("GMT+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("$ग\u{94d}री॰ म\u{948}॰ ट\u{948}॰")), offset_zero: alloc::borrow::Cow::Borrowed("GMT"), offset_unknown: alloc::borrow::Cow::Borrowed("ग\u{94d}री॰ म\u{948}॰ ट\u{948}॰+?") }, icu::datetime::provider::time_zones::TimeZoneEssentialsV1 { offset_separator: alloc::borrow::Cow::Borrowed(":"), offset_pattern: alloc::borrow::Cow::Borrowed(icu_pattern::Pattern::::from_ref_store_unchecked("\u{4}WAT")), offset_zero: alloc::borrow::Cow::Borrowed("WAT"), offset_unknown: alloc::borrow::Cow::Borrowed("WAT+?") }] }; } #[clippy::msrv = "1.71.1"] impl icu_provider::DataProvider for $provider { fn load(&self, req: icu_provider::DataRequest) -> Result, icu_provider::DataError> { let mut metadata = icu_provider::DataResponseMetadata::default(); let payload = if let Some(payload) = icu_provider_baked::DataStore::get(&Self::DATA_TIME_ZONE_ESSENTIALS_V1_MARKER, req.id, req.metadata.attributes_prefix_match) { payload } else { const FALLBACKER: icu::locale::fallback::LocaleFallbackerWithConfig<'static> = icu::locale::fallback::LocaleFallbacker::new().for_config(::INFO.fallback_config); let mut fallback_iterator = FALLBACKER.fallback_for(req.id.locale.clone()); loop { if let Some(payload) = icu_provider_baked::DataStore::get(&Self::DATA_TIME_ZONE_ESSENTIALS_V1_MARKER, icu_provider::DataIdentifierBorrowed::for_marker_attributes_and_locale(req.id.marker_attributes, fallback_iterator.get()), req.metadata.attributes_prefix_match) { metadata.locale = Some(fallback_iterator.take()); break payload; } if fallback_iterator.get().is_default() { return Err(icu_provider::DataErrorKind::IdentifierNotFound.with_req(::INFO, req)); } fallback_iterator.step(); } }; Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(payload), metadata }) } } }; ($ provider : ty , ITER) => { __impl_time_zone_essentials_v1_marker!($provider); #[clippy::msrv = "1.71.1"] impl icu_provider::IterableDataProvider for $provider { fn iter_ids(&self) -> Result>, icu_provider::DataError> { Ok(icu_provider_baked::DataStore::iter(&Self::DATA_TIME_ZONE_ESSENTIALS_V1_MARKER).collect()) } } }; ($ provider : ty , DRY) => {}; ($ provider : ty , DRY , ITER) => { __impl_time_zone_essentials_v1_marker!($provider, ITER); }; } #[doc(inline)] pub use __impl_time_zone_essentials_v1_marker as impl_time_zone_essentials_v1_marker;