diff --git a/Cargo.lock b/Cargo.lock index d30dd9ccf5f..bdb5c096435 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1592,6 +1592,7 @@ dependencies = [ "icu_locale_core", "icu_provider", "icu_provider_export", + "icu_provider_registry", "log", "postcard", "serde", diff --git a/components/icu/src/datagen.rs b/components/icu/src/datagen.rs index a396a0d86a4..09bbe8e5818 100644 --- a/components/icu/src/datagen.rs +++ b/components/icu/src/datagen.rs @@ -36,42 +36,32 @@ macro_rules! cb { use crate as icu; let lookup = [ - ("core/helloworld@1", Some(icu_provider::hello_world::HelloWorldV1Marker::INFO)), + (icu_provider::marker::data_marker_id!("core/helloworld@1").hashed().to_bytes(), Ok(icu_provider::hello_world::HelloWorldV1Marker::INFO)), $( - ($path, Some(<$marker>::INFO)), + (icu_provider::marker::data_marker_id!($path).hashed().to_bytes(), Ok(<$marker>::INFO)), )+ $( #[cfg(feature = "experimental")] - ($epath, Some(<$emarker>::INFO)), + (icu_provider::marker::data_marker_id!($epath).hashed().to_bytes(), Ok(<$emarker>::INFO)), #[cfg(not(feature = "experimental"))] - ($epath, None), + (icu_provider::marker::data_marker_id!($epath).hashed().to_bytes(), Err($epath)), )+ ] .into_iter() - .collect::>(); + .collect::>>(); use memchr::memmem::*; - const LEADING_TAG: &[u8] = icu_provider::leading_tag!().as_bytes(); - const TRAILING_TAG: &[u8] = icu_provider::trailing_tag!().as_bytes(); - - let trailing_tag = Finder::new(TRAILING_TAG); + const LEADING_TAG: &[u8] = b"tdmh"; find_iter(bytes, LEADING_TAG) .map(|tag_position| tag_position + LEADING_TAG.len()) - .filter_map(|marker_start| bytes.get(marker_start..)) - .filter_map(move |marker_fragment| { - trailing_tag - .find(marker_fragment) - .and_then(|end| marker_fragment.get(..end)) - }) - .map(core::str::from_utf8) - .filter_map(Result::ok) + .filter_map(|marker_start| bytes.get(marker_start..marker_start+4)) .filter_map(|p| { match lookup.get(p) { - Some(Some(marker)) => Some(Ok(*marker)), - Some(None) => Some(Err(DataError::custom("This marker requires the `experimental` Cargo feature").with_display_context(p))), + Some(Ok(marker)) => Some(Ok(*marker)), + Some(Err(p)) => Some(Err(DataError::custom("This marker requires the `experimental` Cargo feature").with_display_context(p))), None => None, } }) diff --git a/components/icu/tests/data/tutorial_buffer.wasm b/components/icu/tests/data/tutorial_buffer.wasm index 69c469210bf..8d19f5a4d5e 100755 Binary files a/components/icu/tests/data/tutorial_buffer.wasm and b/components/icu/tests/data/tutorial_buffer.wasm differ diff --git a/components/properties/src/provider.rs b/components/properties/src/provider.rs index c748d1a650e..868ed1168be 100644 --- a/components/properties/src/provider.rs +++ b/components/properties/src/provider.rs @@ -492,7 +492,7 @@ macro_rules! data_struct_generic { } impl icu_provider::DataMarker for $marker { const INFO: icu_provider::DataMarkerInfo = { - let mut info = DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!($path)); + let mut info = DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!($path)); info.is_singleton = true; info }; diff --git a/provider/adapters/src/fixed.rs b/provider/adapters/src/fixed.rs index 604c3ca9c49..b84bffe1304 100644 --- a/provider/adapters/src/fixed.rs +++ b/provider/adapters/src/fixed.rs @@ -41,7 +41,7 @@ use yoke::Yokeable; /// # type DataStruct = ::DataStruct; /// # } /// # impl DataMarker for DummyMarker { -/// # const INFO: DataMarkerInfo = DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("dummy@1")); +/// # const INFO: DataMarkerInfo = DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("dummy@1")); /// # } /// // Requests for invalid markers get MissingDataMarker /// assert!(matches!( diff --git a/provider/baked/src/export.rs b/provider/baked/src/export.rs index 025d296d56b..9af2dbcf888 100644 --- a/provider/baked/src/export.rs +++ b/provider/baked/src/export.rs @@ -744,9 +744,9 @@ impl DataExporter for BakedExporter { #maybe_msrv impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { + match marker.id.hashed() { #( - h if h == <#marker_bakes as icu_provider::DataMarker>::INFO.path.hashed() => + h if h == <#marker_bakes as icu_provider::DataMarker>::INFO.id.hashed() => icu_provider::DataProvider::<#marker_bakes>::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), )* _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), @@ -781,12 +781,12 @@ impl DataExporter for BakedExporter { macro_rules! cb { ($($marker:path = $path:literal,)+ #[experimental] $($emarker:path = $epath:literal,)+) => { fn bake_marker(marker: DataMarkerInfo) -> databake::TokenStream { - if marker.path.as_str() == icu_provider::hello_world::HelloWorldV1Marker::INFO.path.as_str() { + if marker.id == icu_provider::hello_world::HelloWorldV1Marker::INFO.id { return databake::quote!(icu_provider::hello_world::HelloWorldV1Marker); } $( - if marker.path.as_str() == $path { + if marker.id == icu_provider::marker::data_marker_id!($path) { return stringify!($marker) .replace("icu :: ", "icu_") .parse() @@ -795,7 +795,7 @@ macro_rules! cb { )+ $( - if marker.path.as_str() == $epath { + if marker.id == icu_provider::marker::data_marker_id!($epath) { return stringify!($emarker) .replace("icu :: ", "icu_") .parse() diff --git a/provider/baked/tests/data/mod.rs b/provider/baked/tests/data/mod.rs index 25c3ca9c451..c37d1d5204f 100644 --- a/provider/baked/tests/data/mod.rs +++ b/provider/baked/tests/data/mod.rs @@ -38,8 +38,8 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/blob/src/blob_schema.rs b/provider/blob/src/blob_schema.rs index db540ea9970..27d0bbd36e4 100644 --- a/provider/blob/src/blob_schema.rs +++ b/provider/blob/src/blob_schema.rs @@ -5,7 +5,7 @@ use alloc::boxed::Box; use alloc::collections::BTreeSet; use core::fmt::Write; -use icu_provider::{marker::DataMarkerPathHash, prelude::*}; +use icu_provider::{marker::DataMarkerIdHash, prelude::*}; use serde::Deserialize; use writeable::Writeable; use zerotrie::ZeroTrieSimpleAscii; @@ -99,7 +99,7 @@ pub(crate) struct BlobSchemaV3<'data, LocaleVecFormat: VarZeroVecFormat> { /// Map from marker hash to locale trie. /// Weak invariant: should be sorted. #[serde(borrow)] - pub markers: &'data ZeroSlice, + pub markers: &'data ZeroSlice, /// Map from locale to buffer index. /// Weak invariant: the `usize` values are valid indices into `self.buffers` /// Weak invariant: there is at least one value for every integer in 0..self.buffers.len() @@ -126,7 +126,7 @@ impl<'data, LocaleVecFormat: VarZeroVecFormat> BlobSchemaV3<'data, LocaleVecForm pub fn load(&self, marker: DataMarkerInfo, req: DataRequest) -> Result<&'data [u8], DataError> { let marker_index = self .markers - .binary_search(&marker.path.hashed()) + .binary_search(&marker.id.hashed()) .ok() .ok_or_else(|| DataErrorKind::MarkerNotFound.with_req(marker, req))?; if marker.is_singleton && !req.id.locale.is_default() { @@ -169,7 +169,7 @@ impl<'data, LocaleVecFormat: VarZeroVecFormat> BlobSchemaV3<'data, LocaleVecForm ) -> Result, DataError> { let marker_index = self .markers - .binary_search(&marker.path.hashed()) + .binary_search(&marker.id.hashed()) .ok() .ok_or_else(|| DataErrorKind::MarkerNotFound.with_marker(marker))?; let zerotrie = self diff --git a/provider/blob/src/export/blob_exporter.rs b/provider/blob/src/export/blob_exporter.rs index 9ba5ff03c3a..5998ca0e86f 100644 --- a/provider/blob/src/export/blob_exporter.rs +++ b/provider/blob/src/export/blob_exporter.rs @@ -7,7 +7,7 @@ use crate::blob_schema::*; use icu_provider::export::*; -use icu_provider::{marker::DataMarkerPathHash, prelude::*}; +use icu_provider::{marker::DataMarkerIdHash, prelude::*}; use std::collections::{BTreeMap, BTreeSet, HashMap}; use std::sync::Mutex; use zerotrie::ZeroTrieSimpleAscii; @@ -23,9 +23,9 @@ use postcard::ser_flavors::{AllocVec, Flavor}; pub struct BlobExporter<'w> { /// Map of marker path hash -> locale byte string -> blob ID #[allow(clippy::type_complexity)] - resources: Mutex, usize>>>, + resources: Mutex, usize>>>, // All seen markers - all_markers: Mutex>, + all_markers: Mutex>, /// Map from blob to blob ID unique_resources: Mutex, usize>>, sink: Box, @@ -81,7 +81,7 @@ impl DataExporter for BlobExporter<'_> { self.resources .lock() .expect("poison") - .entry(marker.path.hashed()) + .entry(marker.id.hashed()) .or_default() .entry({ let mut key = id.locale.to_string(); @@ -99,7 +99,7 @@ impl DataExporter for BlobExporter<'_> { self.all_markers .lock() .expect("poison") - .insert(marker.path.hashed()); + .insert(marker.id.hashed()); Ok(()) } @@ -150,7 +150,7 @@ impl BlobExporter<'_> { let all_markers = self.all_markers.lock().expect("poison"); let resources = self.resources.lock().expect("poison"); - let markers: ZeroVec = all_markers.iter().copied().collect(); + let markers: ZeroVec = all_markers.iter().copied().collect(); let locales_vec: Vec> = all_markers .iter() diff --git a/provider/core/macros/src/lib.rs b/provider/core/macros/src/lib.rs index c82ea8827df..cd93cc1884c 100644 --- a/provider/core/macros/src/lib.rs +++ b/provider/core/macros/src/lib.rs @@ -75,13 +75,11 @@ mod tests; /// // Note: FooV1Marker implements `DynamicDataMarker` but not `DataMarker`. /// // The other two implement `DataMarker`. /// -/// assert_eq!(BarV1Marker::INFO.path.as_str(), "demo/bar@1"); /// assert_eq!( /// BarV1Marker::INFO.fallback_config.priority, /// LocaleFallbackPriority::Language /// ); /// -/// assert_eq!(BazV1Marker::INFO.path.as_str(), "demo/baz@1"); /// assert_eq!( /// BazV1Marker::INFO.fallback_config.priority, /// LocaleFallbackPriority::Region @@ -331,14 +329,14 @@ fn data_struct_impl(attr: DataStructArgs, input: DeriveInput) -> TokenStream2 { quote! {icu_provider::fallback::LocaleFallbackPriority::default()} }; let attributes_domain_setter = if let Some(attributes_domain_lit) = attributes_domain { - quote! { info.attributes_domain = #attributes_domain_lit; } + quote! { info = info.with_attributes_domain(#attributes_domain_lit); } } else { quote!() }; result.extend(quote!( impl icu_provider::DataMarker for #marker_name { const INFO: icu_provider::DataMarkerInfo = { - let mut info = icu_provider::DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!(#path_str)); + let mut info = icu_provider::DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!(#path_str)); info.is_singleton = #singleton; info.fallback_config.priority = #fallback_by_expr; #attributes_domain_setter diff --git a/provider/core/macros/src/tests.rs b/provider/core/macros/src/tests.rs index fef192fa8ba..ae178bf3445 100644 --- a/provider/core/macros/src/tests.rs +++ b/provider/core/macros/src/tests.rs @@ -63,7 +63,7 @@ fn test_data_marker() { } impl icu_provider::DataMarker for BarV1Marker { const INFO: icu_provider::DataMarkerInfo = { - let mut info = icu_provider::DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("demo/bar@1")); + let mut info = icu_provider::DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("demo/bar@1")); info.is_singleton = false; info.fallback_config.priority = icu_provider::fallback::LocaleFallbackPriority::default(); info @@ -100,7 +100,7 @@ fn test_multi_named_keyed_data_marker() { } impl icu_provider::DataMarker for BarV1Marker { const INFO: icu_provider::DataMarkerInfo = { - let mut info = icu_provider::DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("demo/bar@1")); + let mut info = icu_provider::DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("demo/bar@1")); info.is_singleton = false; info.fallback_config.priority = icu_provider::fallback::LocaleFallbackPriority::default(); info @@ -113,7 +113,7 @@ fn test_multi_named_keyed_data_marker() { } impl icu_provider::DataMarker for BazV1Marker { const INFO: icu_provider::DataMarkerInfo = { - let mut info = icu_provider::DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("demo/baz@1")); + let mut info = icu_provider::DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("demo/baz@1")); info.is_singleton = false; info.fallback_config.priority = icu_provider::fallback::LocaleFallbackPriority::default(); info @@ -149,7 +149,7 @@ fn test_attributes() { } impl icu_provider::DataMarker for BarV1Marker { const INFO: icu_provider::DataMarkerInfo = { - let mut info = icu_provider::DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("demo/bar@1")); + let mut info = icu_provider::DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("demo/bar@1")); info.is_singleton = true; info.fallback_config.priority = icu_provider::fallback::LocaleFallbackPriority::Region; info diff --git a/provider/core/src/data_provider.rs b/provider/core/src/data_provider.rs index 9e265820b5e..e794ca9cfb5 100644 --- a/provider/core/src/data_provider.rs +++ b/provider/core/src/data_provider.rs @@ -456,7 +456,7 @@ mod test { /// Key for HelloAlt, used for testing mismatched types const HELLO_ALT_KEY: DataMarkerInfo = - DataMarkerInfo::from_path(crate::marker::data_marker_path!("core/helloalt1@1")); + DataMarkerInfo::from_id(crate::marker::data_marker_id!("core/helloalt1@1")); /// A data struct serialization-compatible with HelloWorldV1 used for testing mismatched types #[derive( diff --git a/provider/core/src/dynutil.rs b/provider/core/src/dynutil.rs index 48dadec87ef..fc1e8be0ccf 100644 --- a/provider/core/src/dynutil.rs +++ b/provider/core/src/dynutil.rs @@ -123,7 +123,7 @@ pub use __impl_casting_upcast as impl_casting_upcast; /// # type DataStruct = ::DataStruct; /// # } /// # impl DataMarker for DummyMarker { -/// # const INFO: DataMarkerInfo = DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("dummy@1")); +/// # const INFO: DataMarkerInfo = DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("dummy@1")); /// # } /// // MissingDataMarker error as the marker does not match: /// assert_eq!( @@ -174,7 +174,7 @@ pub use __impl_casting_upcast as impl_casting_upcast; /// type DataStruct = ::DataStruct; /// } /// impl DataMarker for DummyMarker { -/// const INFO: DataMarkerInfo = DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("dummy@1")); +/// const INFO: DataMarkerInfo = DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("dummy@1")); /// } /// HelloWorldProvider.as_any_provider().load_any(DummyMarker::INFO, DataRequest { /// id: DataIdentifierBorrowed::for_locale(&langid!("de").into()), @@ -216,9 +216,9 @@ macro_rules! __impl_dynamic_data_provider { $crate::DataResponse<$dyn_m>, $crate::DataError, > { - match marker.path.hashed() { + match marker.id.hashed() { $( - h if h == $marker.path.hashed() => { + h if h == $marker.id.hashed() => { let result: $crate::DataResponse<$struct_m> = $crate::DynamicDataProvider::<$struct_m>::load_data(self, marker, req)?; Ok($crate::DataResponse { @@ -254,10 +254,10 @@ macro_rules! __impl_dynamic_data_provider { $crate::DataResponse<$dyn_m>, $crate::DataError, > { - match marker.path.hashed() { + match marker.id.hashed() { $( $(#[$cfg])? - h if h == <$struct_m as $crate::DataMarker>::INFO.path.hashed() => { + h if h == <$struct_m as $crate::DataMarker>::INFO.id.hashed() => { let result: $crate::DataResponse<$struct_m> = $crate::DataProvider::load(self, req)?; Ok($crate::DataResponse { @@ -281,10 +281,10 @@ macro_rules! __impl_iterable_dynamic_data_provider { ($provider:ty, [ $($(#[$cfg:meta])? $struct_m:ty),+, ], $dyn_m:path) => { impl $crate::IterableDynamicDataProvider<$dyn_m> for $provider { fn iter_ids_for_marker(&self, marker: $crate::DataMarkerInfo) -> Result, $crate::DataError> { - match marker.path.hashed() { + match marker.id.hashed() { $( $(#[$cfg])? - h if h == <$struct_m as $crate::DataMarker>::INFO.path.hashed() => { + h if h == <$struct_m as $crate::DataMarker>::INFO.id.hashed() => { $crate::IterableDataProvider::<$struct_m>::iter_ids(self) } )+, diff --git a/provider/core/src/error.rs b/provider/core/src/error.rs index 71524e32d1c..15ba3e16cee 100644 --- a/provider/core/src/error.rs +++ b/provider/core/src/error.rs @@ -3,7 +3,7 @@ // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). use crate::log; -use crate::{marker::DataMarkerPath, prelude::*}; +use crate::{marker::DataMarkerId, prelude::*}; use core::fmt; use displaydoc::Display; @@ -80,7 +80,7 @@ pub struct DataError { pub kind: DataErrorKind, /// The data marker of the request, if available. - pub marker_path: Option, + pub marker: Option, /// Additional context, if available. pub str_context: Option<&'static str>, @@ -95,8 +95,8 @@ impl fmt::Display for DataError { if self.kind != DataErrorKind::Custom { write!(f, ": {}", self.kind)?; } - if let Some(marker) = self.marker_path { - write!(f, " (marker: {})", marker.as_str())?; + if let Some(marker) = self.marker { + write!(f, " (marker: {marker:?})")?; } if let Some(str_context) = self.str_context { write!(f, ": {str_context}")?; @@ -113,7 +113,7 @@ impl DataErrorKind { pub const fn into_error(self) -> DataError { DataError { kind: self, - marker_path: None, + marker: None, str_context: None, silent: false, } @@ -150,7 +150,7 @@ impl DataError { pub const fn custom(str_context: &'static str) -> Self { Self { kind: DataErrorKind::Custom, - marker_path: None, + marker: None, str_context: Some(str_context), silent: false, } @@ -161,7 +161,7 @@ impl DataError { pub const fn with_marker(self, marker: DataMarkerInfo) -> Self { Self { kind: self.kind, - marker_path: Some(marker.path), + marker: Some(marker.id), str_context: self.str_context, silent: self.silent, } @@ -172,7 +172,7 @@ impl DataError { pub const fn with_str_context(self, context: &'static str) -> Self { Self { kind: self.kind, - marker_path: self.marker_path, + marker: self.marker, str_context: Some(context), silent: self.silent, } @@ -244,7 +244,7 @@ impl DataError { pub(crate) fn for_type() -> DataError { DataError { kind: DataErrorKind::Downcast(core::any::type_name::()), - marker_path: None, + marker: None, str_context: None, silent: false, } diff --git a/provider/core/src/hello_world.rs b/provider/core/src/hello_world.rs index 2be854bc965..e3c720014db 100644 --- a/provider/core/src/hello_world.rs +++ b/provider/core/src/hello_world.rs @@ -51,7 +51,7 @@ impl DynamicDataMarker for HelloWorldV1Marker { impl DataMarker for HelloWorldV1Marker { const INFO: icu_provider::DataMarkerInfo = - DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("core/helloworld@1")); + DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("core/helloworld@1")); } /// A data provider returning Hello World strings in different languages. diff --git a/provider/core/src/lib.rs b/provider/core/src/lib.rs index 7134ce25d83..e6a4ff199a5 100644 --- a/provider/core/src/lib.rs +++ b/provider/core/src/lib.rs @@ -150,8 +150,8 @@ pub mod marker { //! Additional [`DataMarker`](super::DataMarker) helpers. pub use super::marker_full::{ - data_marker_path, impl_data_provider_never_marker, DataMarkerExt, DataMarkerPath, - DataMarkerPathHash, ErasedMarker, NeverMarker, + data_marker_id, impl_data_provider_never_marker, DataMarkerExt, DataMarkerId, + DataMarkerIdHash, ErasedMarker, NeverMarker, }; } diff --git a/provider/core/src/marker.rs b/provider/core/src/marker.rs index 69919701f25..f5e0cd8357a 100644 --- a/provider/core/src/marker.rs +++ b/provider/core/src/marker.rs @@ -159,7 +159,7 @@ impl DataMarker for NeverMarker where for<'a> Y: Yokeable<'a>, { - const INFO: DataMarkerInfo = DataMarkerInfo::from_path(data_marker_path!("_never@1")); + const INFO: DataMarkerInfo = DataMarkerInfo::from_id(data_marker_id!("_never@1")); } /// Implements `DataProvider>` on a struct. @@ -218,43 +218,15 @@ macro_rules! __impl_data_provider_never_marker { #[doc(inline)] pub use __impl_data_provider_never_marker as impl_data_provider_never_marker; -#[doc(hidden)] // macro -#[macro_export] -macro_rules! leading_tag { - () => { - "\nicu4x_key_tag" - }; -} - -#[doc(hidden)] // macro -#[macro_export] -macro_rules! trailing_tag { - () => { - "\n" - }; -} - -#[doc(hidden)] // macro -#[macro_export] -macro_rules! tagged { - ($without_tags:expr) => { - concat!( - $crate::leading_tag!(), - $without_tags, - $crate::trailing_tag!() - ) - }; -} - /// A compact hash of a [`DataMarkerInfo`]. Useful for keys in maps. /// /// The hash will be stable over time within major releases. #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Copy, Clone, Hash, ULE)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[repr(transparent)] -pub struct DataMarkerPathHash([u8; 4]); +pub struct DataMarkerIdHash([u8; 4]); -impl DataMarkerPathHash { +impl DataMarkerIdHash { /// Gets the hash value as a byte array. pub const fn to_bytes(self) -> [u8; 4] { self.0 @@ -278,7 +250,7 @@ impl DataMarkerPathHash { /// the benefit of a cryptographically secure algorithm // The indexing operations in this function have been reviewed in detail and won't panic. #[allow(clippy::indexing_slicing)] -const fn fxhash_32(bytes: &[u8], ignore_leading: usize, ignore_trailing: usize) -> u32 { +const fn fxhash_32(bytes: &[u8]) -> u32 { // This code is adapted from https://github.com/rust-lang/rustc-hash, // whose license text is reproduced below. // @@ -292,10 +264,6 @@ const fn fxhash_32(bytes: &[u8], ignore_leading: usize, ignore_trailing: usize) // option. This file may not be copied, modified, or distributed // except according to those terms. - if ignore_leading + ignore_trailing >= bytes.len() { - return 0; - } - #[inline] const fn hash_word_32(mut hash: u32, word: u32) -> u32 { const ROTATE: u32 = 5; @@ -306,8 +274,8 @@ const fn fxhash_32(bytes: &[u8], ignore_leading: usize, ignore_trailing: usize) hash } - let mut cursor = ignore_leading; - let end = bytes.len() - ignore_trailing; + let mut cursor = 0; + let end = bytes.len(); let mut hash = 0; while end - cursor >= 4 { @@ -334,14 +302,14 @@ const fn fxhash_32(bytes: &[u8], ignore_leading: usize, ignore_trailing: usize) hash } -impl<'a> zerovec::maps::ZeroMapKV<'a> for DataMarkerPathHash { - type Container = zerovec::ZeroVec<'a, DataMarkerPathHash>; - type Slice = zerovec::ZeroSlice; - type GetType = ::ULE; - type OwnedType = DataMarkerPathHash; +impl<'a> zerovec::maps::ZeroMapKV<'a> for DataMarkerIdHash { + type Container = zerovec::ZeroVec<'a, DataMarkerIdHash>; + type Slice = zerovec::ZeroSlice; + type GetType = ::ULE; + type OwnedType = DataMarkerIdHash; } -impl AsULE for DataMarkerPathHash { +impl AsULE for DataMarkerIdHash { type ULE = Self; #[inline] fn to_unaligned(self) -> Self::ULE { @@ -354,115 +322,84 @@ impl AsULE for DataMarkerPathHash { } // Safe since the ULE type is `self`. -unsafe impl EqULE for DataMarkerPathHash {} +unsafe impl EqULE for DataMarkerIdHash {} /// The string path of a data marker. For example, "foo@1" /// /// ``` -/// # use icu_provider::marker::DataMarkerPath; -/// const K: DataMarkerPath = -/// icu_provider::marker::data_marker_path!("foo/bar@1"); +/// # use icu_provider::marker::DataMarkerId; +/// const K: DataMarkerId = +/// icu_provider::marker::data_marker_id!("foo/bar@1"); /// ``` /// /// The human-readable path string ends with `@` followed by one or more digits (the version /// number). Paths do not contain characters other than ASCII letters and digits, `_`, `/`. /// -/// Invalid paths are compile-time errors (as [`data_marker_path!`](crate::marker::data_marker_path) uses `const`). +/// Invalid paths are compile-time errors (as [`data_marker_id!`](crate::marker::data_marker_id) uses `const`). /// /// ```compile_fail,E0080 -/// # use icu_provider::marker::DataMarkerPath; -/// const K: DataMarkerPath = icu_provider::marker::data_marker_path!("foo/../bar@1"); +/// # use icu_provider::marker::DataMarkerId; +/// const K: DataMarkerId = icu_provider::marker::data_marker_id!("foo/../bar@1"); /// ``` #[derive(Debug, Copy, Clone, Eq)] -pub struct DataMarkerPath { - // This string literal is wrapped in leading_tag!() and trailing_tag!() to make it detectable - // in a compiled binary. - tagged: &'static str, - hash: DataMarkerPathHash, +pub struct DataMarkerId { + /// The human-readable path string ends with `@` followed by one or more digits (the version + /// number). Paths do not contain characters other than ASCII letters and digits, `_`, `/`. + #[cfg(any(feature = "export", debug_assertions))] + debug: &'static str, + hash: [u8; 8], } -impl PartialEq for DataMarkerPath { +impl PartialEq for DataMarkerId { #[inline] fn eq(&self, other: &Self) -> bool { - self.hash == other.hash && self.tagged == other.tagged + self.hash == other.hash } } -impl Ord for DataMarkerPath { +impl Ord for DataMarkerId { #[inline] fn cmp(&self, other: &Self) -> core::cmp::Ordering { - self.tagged.cmp(other.tagged) + self.hash.cmp(&other.hash) } } -impl PartialOrd for DataMarkerPath { +impl PartialOrd for DataMarkerId { #[inline] fn partial_cmp(&self, other: &Self) -> Option { - Some(self.tagged.cmp(other.tagged)) + Some(self.hash.cmp(&other.hash)) } } -impl core::hash::Hash for DataMarkerPath { +impl core::hash::Hash for DataMarkerId { #[inline] fn hash(&self, state: &mut H) { self.hash.hash(state) } } -impl DataMarkerPath { +impl DataMarkerId { #[doc(hidden)] // macro use // Error is a str of the expected character class and the index where it wasn't encountered // The indexing operations in this function have been reviewed in detail and won't panic. #[allow(clippy::indexing_slicing)] - pub const fn construct_internal(tagged: &'static str) -> Result { - if tagged.len() < leading_tag!().len() + trailing_tag!().len() { - return Err(("tag", 0)); - } - // Start and end of the untagged part - let start = leading_tag!().len(); - let end = tagged.len() - trailing_tag!().len(); - - // Check tags - let mut i = 0; - while i < leading_tag!().len() { - if tagged.as_bytes()[i] != leading_tag!().as_bytes()[i] { - return Err(("tag", 0)); - } - i += 1; - } - i = 0; - while i < trailing_tag!().len() { - if tagged.as_bytes()[end + i] != trailing_tag!().as_bytes()[i] { - return Err(("tag", end + 1)); - } - i += 1; - } - - match Self::validate_path_manual_slice(tagged, start, end) { + pub const fn construct_internal(path: &'static str) -> Result { + match Self::validate_path_manual_slice(path) { Ok(()) => (), Err(e) => return Err(e), }; - let hash = DataMarkerPathHash( - fxhash_32( - tagged.as_bytes(), - leading_tag!().len(), - trailing_tag!().len(), - ) - .to_le_bytes(), - ); + let hash = fxhash_32(path.as_bytes()).to_le_bytes(); - Ok(Self { tagged, hash }) + Ok(Self { + #[cfg(any(feature = "export", debug_assertions))] + debug: path, + hash: [b't', b'd', b'm', b'h', hash[0], hash[1], hash[2], hash[3]], + }) } - const fn validate_path_manual_slice( - path: &'static str, - start: usize, - end: usize, - ) -> Result<(), (&'static str, usize)> { - debug_assert!(start <= end); - debug_assert!(end <= path.len()); + const fn validate_path_manual_slice(path: &'static str) -> Result<(), (&'static str, usize)> { // Regex: [a-zA-Z0-9_][a-zA-Z0-9_/]*@[0-9]+ enum State { Empty, @@ -471,10 +408,10 @@ impl DataMarkerPath { Version, } use State::*; - let mut i = start; + let mut i = 0; let mut state = Empty; loop { - let byte = if i < end { + let byte = if i < path.len() { #[allow(clippy::indexing_slicing)] // protected by debug assertion Some(path.as_bytes()[i]) } else { @@ -499,37 +436,26 @@ impl DataMarkerPath { } } - /// Gets the path as a static string slice. - #[inline] - pub const fn as_str(self) -> &'static str { - unsafe { - // Safe due to invariant that self.path is tagged correctly - core::str::from_utf8_unchecked(core::slice::from_raw_parts( - self.tagged.as_ptr().add(leading_tag!().len()), - self.tagged.len() - trailing_tag!().len() - leading_tag!().len(), - )) - } - } - - /// Gets a platform-independent hash of a [`DataMarkerPath`]. + /// Gets a platform-independent hash of a [`DataMarkerId`]. /// /// The hash is 4 bytes and allows for fast comparison. /// /// # Example /// /// ``` - /// use icu_provider::marker::DataMarkerPath; - /// use icu_provider::marker::DataMarkerPathHash; + /// use icu_provider::marker::DataMarkerId; + /// use icu_provider::marker::DataMarkerIdHash; /// - /// const PATH: DataMarkerPath = - /// icu_provider::marker::data_marker_path!("foo@1"); - /// const PATH_HASH: DataMarkerPathHash = PATH.hashed(); + /// const ID: DataMarkerId = + /// icu_provider::marker::data_marker_id!("foo@1"); + /// const ID_HASH: DataMarkerIdHash = ID.hashed(); /// - /// assert_eq!(PATH_HASH.to_bytes(), [0xe2, 0xb6, 0x17, 0x71]); + /// assert_eq!(ID_HASH.to_bytes(), [0xe2, 0xb6, 0x17, 0x71]); /// ``` #[inline] - pub const fn hashed(self) -> DataMarkerPathHash { - self.hash + pub const fn hashed(self) -> DataMarkerIdHash { + let [.., h1, h2, h3, h4] = self.hash; + DataMarkerIdHash([h1, h2, h3, h4]) } } @@ -542,45 +468,54 @@ impl DataMarkerPath { #[derive(Copy, Clone, PartialEq, Eq)] #[non_exhaustive] pub struct DataMarkerInfo { - /// The human-readable path string ends with `@` followed by one or more digits (the version - /// number). Paths do not contain characters other than ASCII letters and digits, `_`, `/`. - /// - /// Useful for reading and writing data to a file system. - pub path: DataMarkerPath, /// TODO - pub attributes_domain: &'static str, + pub id: DataMarkerId, /// TODO pub is_singleton: bool, /// TODO pub fallback_config: LocaleFallbackConfig, + /// TODO + #[cfg(feature = "export")] + pub attributes_domain: &'static str, } impl PartialOrd for DataMarkerInfo { fn partial_cmp(&self, other: &Self) -> Option { - Some(self.path.cmp(&other.path)) + Some(self.id.cmp(&other.id)) } } impl Ord for DataMarkerInfo { fn cmp(&self, other: &Self) -> core::cmp::Ordering { - self.path.cmp(&other.path) + self.id.cmp(&other.id) } } impl core::hash::Hash for DataMarkerInfo { fn hash(&self, state: &mut H) { - self.path.hash(state) + self.id.hash(state) } } impl DataMarkerInfo { /// See [`Default::default`] - pub const fn from_path(path: DataMarkerPath) -> Self { + pub const fn from_id(id: DataMarkerId) -> Self { Self { - path, + id, + fallback_config: LocaleFallbackConfig::default(), is_singleton: false, + #[cfg(feature = "export")] attributes_domain: "", - fallback_config: LocaleFallbackConfig::default(), + } + } + + /// TODO + #[cfg_attr(not(feature = "export"), allow(unused_variables))] + pub const fn with_attributes_domain(self, attributes_domain: &'static str) -> Self { + Self { + #[cfg(feature = "export")] + attributes_domain, + ..self } } @@ -598,7 +533,7 @@ impl DataMarkerInfo { /// # type DataStruct = ::DataStruct; /// # } /// # impl DataMarker for DummyMarker { - /// # const INFO: DataMarkerInfo = DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("dummy@1")); + /// # const INFO: DataMarkerInfo = DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("dummy@1")); /// # } /// /// assert!(matches!(HelloWorldV1Marker::INFO.match_marker(HelloWorldV1Marker::INFO), Ok(()))); @@ -611,7 +546,7 @@ impl DataMarkerInfo { /// )); /// /// // The error context contains the argument: - /// assert_eq!(HelloWorldV1Marker::INFO.match_marker(DummyMarker::INFO).unwrap_err().marker_path, Some(DummyMarker::INFO.path)); + /// assert_eq!(HelloWorldV1Marker::INFO.match_marker(DummyMarker::INFO).unwrap_err().marker, Some(DummyMarker::INFO.id)); /// ``` pub fn match_marker(self, marker: Self) -> Result<(), DataError> { if self == marker { @@ -634,11 +569,11 @@ impl DataMarkerInfo { /// See [`DataMarkerInfo`]. #[doc(hidden)] // macro #[macro_export] -macro_rules! __data_marker_path { +macro_rules! __data_marker_id { ($path:expr) => {{ // Force the DataMarkerInfo into a const context - const X: $crate::marker::DataMarkerPath = - match $crate::marker::DataMarkerPath::construct_internal($crate::tagged!($path)) { + const X: $crate::marker::DataMarkerId = + match $crate::marker::DataMarkerId::construct_internal($path) { Ok(path) => path, #[allow(clippy::panic)] // Const context Err(_) => panic!(concat!("Invalid path: ", $path)), @@ -647,18 +582,21 @@ macro_rules! __data_marker_path { // "Invalid resource key {:?}: expected {:?}, found {:?} ", // $path, // expected, - // $crate::tagged!($path).get(index..)) + // $path.get(index..)) // ); }; X }}; } #[doc(inline)] -pub use __data_marker_path as data_marker_path; +pub use __data_marker_id as data_marker_id; impl fmt::Debug for DataMarkerInfo { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(self.path.as_str()) + #[cfg(any(feature = "export", debug_assertions))] + return f.write_str(self.id.debug); + #[cfg(not(any(feature = "export", debug_assertions)))] + return write!(f, "{:?}", self.id); } } @@ -672,157 +610,135 @@ impl Yokeable<'a>> DynamicDataMarker for ErasedMarker { make_provider!($provider); - impl_chinese_cache_v1_marker!($provider); - impl_dangi_cache_v1_marker!($provider); + impl_week_data_v2_marker!($provider); + impl_japanese_eras_v1_marker!($provider); impl_islamic_observational_cache_v1_marker!($provider); + impl_dangi_cache_v1_marker!($provider); impl_islamic_umm_al_qura_cache_v1_marker!($provider); - impl_japanese_eras_v1_marker!($provider); + impl_chinese_cache_v1_marker!($provider); impl_japanese_extended_eras_v1_marker!($provider); - impl_week_data_v2_marker!($provider); }; } #[allow(unused_macros)] @@ -50,14 +50,14 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/calendar/stubdata/mod.rs b/provider/data/calendar/stubdata/mod.rs index 7826eefea62..15e6b614de7 100644 --- a/provider/data/calendar/stubdata/mod.rs +++ b/provider/data/calendar/stubdata/mod.rs @@ -1,11 +1,11 @@ // @generated -include!("chinese_cache_v1_marker.rs.data"); -include!("dangi_cache_v1_marker.rs.data"); +include!("week_data_v2_marker.rs.data"); +include!("japanese_eras_v1_marker.rs.data"); include!("islamic_observational_cache_v1_marker.rs.data"); +include!("dangi_cache_v1_marker.rs.data"); include!("islamic_umm_al_qura_cache_v1_marker.rs.data"); -include!("japanese_eras_v1_marker.rs.data"); +include!("chinese_cache_v1_marker.rs.data"); include!("japanese_extended_eras_v1_marker.rs.data"); -include!("week_data_v2_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -35,13 +35,13 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_chinese_cache_v1_marker!($provider); - impl_dangi_cache_v1_marker!($provider); + impl_week_data_v2_marker!($provider); + impl_japanese_eras_v1_marker!($provider); impl_islamic_observational_cache_v1_marker!($provider); + impl_dangi_cache_v1_marker!($provider); impl_islamic_umm_al_qura_cache_v1_marker!($provider); - impl_japanese_eras_v1_marker!($provider); + impl_chinese_cache_v1_marker!($provider); impl_japanese_extended_eras_v1_marker!($provider); - impl_week_data_v2_marker!($provider); }; } #[allow(unused_macros)] @@ -50,14 +50,14 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/casemap/data/mod.rs b/provider/data/casemap/data/mod.rs index 4932b60d285..788b926e884 100644 --- a/provider/data/casemap/data/mod.rs +++ b/provider/data/casemap/data/mod.rs @@ -40,9 +40,9 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/casemap/stubdata/mod.rs b/provider/data/casemap/stubdata/mod.rs index 4932b60d285..788b926e884 100644 --- a/provider/data/casemap/stubdata/mod.rs +++ b/provider/data/casemap/stubdata/mod.rs @@ -40,9 +40,9 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/collator/data/mod.rs b/provider/data/collator/data/mod.rs index f9ae8d2ca81..3779b6e9ec1 100644 --- a/provider/data/collator/data/mod.rs +++ b/provider/data/collator/data/mod.rs @@ -1,11 +1,11 @@ // @generated -include!("collation_diacritics_v1_marker.rs.data"); include!("collation_jamo_v1_marker.rs.data"); -include!("collation_metadata_v1_marker.rs.data"); include!("collation_special_primaries_v1_marker.rs.data"); include!("collation_reordering_v1_marker.rs.data"); -include!("collation_root_v1_marker.rs.data"); +include!("collation_diacritics_v1_marker.rs.data"); include!("collation_tailoring_v1_marker.rs.data"); +include!("collation_root_v1_marker.rs.data"); +include!("collation_metadata_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -35,13 +35,13 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_collation_diacritics_v1_marker!($provider); impl_collation_jamo_v1_marker!($provider); - impl_collation_metadata_v1_marker!($provider); impl_collation_special_primaries_v1_marker!($provider); impl_collation_reordering_v1_marker!($provider); - impl_collation_root_v1_marker!($provider); + impl_collation_diacritics_v1_marker!($provider); impl_collation_tailoring_v1_marker!($provider); + impl_collation_root_v1_marker!($provider); + impl_collation_metadata_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -50,14 +50,14 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/collator/stubdata/mod.rs b/provider/data/collator/stubdata/mod.rs index f9ae8d2ca81..3779b6e9ec1 100644 --- a/provider/data/collator/stubdata/mod.rs +++ b/provider/data/collator/stubdata/mod.rs @@ -1,11 +1,11 @@ // @generated -include!("collation_diacritics_v1_marker.rs.data"); include!("collation_jamo_v1_marker.rs.data"); -include!("collation_metadata_v1_marker.rs.data"); include!("collation_special_primaries_v1_marker.rs.data"); include!("collation_reordering_v1_marker.rs.data"); -include!("collation_root_v1_marker.rs.data"); +include!("collation_diacritics_v1_marker.rs.data"); include!("collation_tailoring_v1_marker.rs.data"); +include!("collation_root_v1_marker.rs.data"); +include!("collation_metadata_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -35,13 +35,13 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_collation_diacritics_v1_marker!($provider); impl_collation_jamo_v1_marker!($provider); - impl_collation_metadata_v1_marker!($provider); impl_collation_special_primaries_v1_marker!($provider); impl_collation_reordering_v1_marker!($provider); - impl_collation_root_v1_marker!($provider); + impl_collation_diacritics_v1_marker!($provider); impl_collation_tailoring_v1_marker!($provider); + impl_collation_root_v1_marker!($provider); + impl_collation_metadata_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -50,14 +50,14 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/datetime/data/mod.rs b/provider/data/datetime/data/mod.rs index 04798255a0b..0515dfca88c 100644 --- a/provider/data/datetime/data/mod.rs +++ b/provider/data/datetime/data/mod.rs @@ -1,54 +1,54 @@ // @generated -include!("buddhist_month_names_v1_marker.rs.data"); -include!("buddhist_year_names_v1_marker.rs.data"); -include!("chinese_month_names_v1_marker.rs.data"); -include!("chinese_year_names_v1_marker.rs.data"); -include!("coptic_month_names_v1_marker.rs.data"); +include!("hebrew_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("japanese_year_names_v1_marker.rs.data"); +include!("gregorian_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("japanese_month_names_v1_marker.rs.data"); include!("coptic_year_names_v1_marker.rs.data"); include!("dangi_month_names_v1_marker.rs.data"); -include!("dangi_year_names_v1_marker.rs.data"); -include!("day_period_names_v1_marker.rs.data"); -include!("ethiopian_month_names_v1_marker.rs.data"); -include!("ethiopian_year_names_v1_marker.rs.data"); -include!("gregorian_month_names_v1_marker.rs.data"); -include!("gregorian_year_names_v1_marker.rs.data"); -include!("hebrew_month_names_v1_marker.rs.data"); +include!("metazone_specific_names_short_v1_marker.rs.data"); +include!("buddhist_date_neo_skeleton_patterns_v1_marker.rs.data"); include!("hebrew_year_names_v1_marker.rs.data"); -include!("indian_month_names_v1_marker.rs.data"); include!("indian_year_names_v1_marker.rs.data"); +include!("time_neo_skeleton_patterns_v1_marker.rs.data"); +include!("dangi_year_names_v1_marker.rs.data"); +include!("dangi_date_neo_skeleton_patterns_v1_marker.rs.data"); include!("islamic_month_names_v1_marker.rs.data"); -include!("islamic_year_names_v1_marker.rs.data"); -include!("japanese_month_names_v1_marker.rs.data"); -include!("japanese_year_names_v1_marker.rs.data"); -include!("japanese_extended_month_names_v1_marker.rs.data"); +include!("metazone_generic_names_long_v1_marker.rs.data"); +include!("buddhist_year_names_v1_marker.rs.data"); +include!("chinese_month_names_v1_marker.rs.data"); +include!("ethiopian_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("day_period_names_v1_marker.rs.data"); +include!("chinese_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("roc_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("islamic_date_neo_skeleton_patterns_v1_marker.rs.data"); include!("japanese_extended_year_names_v1_marker.rs.data"); +include!("ethiopian_month_names_v1_marker.rs.data"); +include!("metazone_period_v1_marker.rs.data"); +include!("coptic_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("chinese_year_names_v1_marker.rs.data"); include!("persian_month_names_v1_marker.rs.data"); -include!("persian_year_names_v1_marker.rs.data"); -include!("roc_month_names_v1_marker.rs.data"); include!("roc_year_names_v1_marker.rs.data"); -include!("weekday_names_v1_marker.rs.data"); -include!("buddhist_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("chinese_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("coptic_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("dangi_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("ethiopian_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("persian_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("locations_v1_marker.rs.data"); +include!("buddhist_month_names_v1_marker.rs.data"); +include!("ethiopian_year_names_v1_marker.rs.data"); +include!("japanese_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("gregorian_month_names_v1_marker.rs.data"); +include!("time_zone_essentials_v1_marker.rs.data"); +include!("roc_month_names_v1_marker.rs.data"); +include!("japanese_extended_month_names_v1_marker.rs.data"); +include!("islamic_year_names_v1_marker.rs.data"); include!("glue_pattern_v1_marker.rs.data"); -include!("gregorian_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("hebrew_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("indian_month_names_v1_marker.rs.data"); include!("indian_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("islamic_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("japanese_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("persian_year_names_v1_marker.rs.data"); include!("japanese_extended_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("persian_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("roc_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("time_neo_skeleton_patterns_v1_marker.rs.data"); -include!("time_zone_essentials_v1_marker.rs.data"); -include!("metazone_generic_names_long_v1_marker.rs.data"); -include!("metazone_generic_names_short_v1_marker.rs.data"); -include!("locations_v1_marker.rs.data"); -include!("metazone_period_v1_marker.rs.data"); include!("metazone_specific_names_long_v1_marker.rs.data"); -include!("metazone_specific_names_short_v1_marker.rs.data"); +include!("hebrew_month_names_v1_marker.rs.data"); +include!("weekday_names_v1_marker.rs.data"); +include!("gregorian_year_names_v1_marker.rs.data"); +include!("coptic_month_names_v1_marker.rs.data"); +include!("metazone_generic_names_short_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -78,56 +78,56 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_buddhist_month_names_v1_marker!($provider); - impl_buddhist_year_names_v1_marker!($provider); - impl_chinese_month_names_v1_marker!($provider); - impl_chinese_year_names_v1_marker!($provider); - impl_coptic_month_names_v1_marker!($provider); + impl_hebrew_date_neo_skeleton_patterns_v1_marker!($provider); + impl_japanese_year_names_v1_marker!($provider); + impl_gregorian_date_neo_skeleton_patterns_v1_marker!($provider); + impl_japanese_month_names_v1_marker!($provider); impl_coptic_year_names_v1_marker!($provider); impl_dangi_month_names_v1_marker!($provider); - impl_dangi_year_names_v1_marker!($provider); - impl_day_period_names_v1_marker!($provider); - impl_ethiopian_month_names_v1_marker!($provider); - impl_ethiopian_year_names_v1_marker!($provider); - impl_gregorian_month_names_v1_marker!($provider); - impl_gregorian_year_names_v1_marker!($provider); - impl_hebrew_month_names_v1_marker!($provider); + impl_metazone_specific_names_short_v1_marker!($provider); + impl_buddhist_date_neo_skeleton_patterns_v1_marker!($provider); impl_hebrew_year_names_v1_marker!($provider); - impl_indian_month_names_v1_marker!($provider); impl_indian_year_names_v1_marker!($provider); + impl_time_neo_skeleton_patterns_v1_marker!($provider); + impl_dangi_year_names_v1_marker!($provider); + impl_dangi_date_neo_skeleton_patterns_v1_marker!($provider); impl_islamic_month_names_v1_marker!($provider); - impl_islamic_year_names_v1_marker!($provider); - impl_japanese_month_names_v1_marker!($provider); - impl_japanese_year_names_v1_marker!($provider); - impl_japanese_extended_month_names_v1_marker!($provider); + impl_metazone_generic_names_long_v1_marker!($provider); + impl_buddhist_year_names_v1_marker!($provider); + impl_chinese_month_names_v1_marker!($provider); + impl_ethiopian_date_neo_skeleton_patterns_v1_marker!($provider); + impl_day_period_names_v1_marker!($provider); + impl_chinese_date_neo_skeleton_patterns_v1_marker!($provider); + impl_roc_date_neo_skeleton_patterns_v1_marker!($provider); + impl_islamic_date_neo_skeleton_patterns_v1_marker!($provider); impl_japanese_extended_year_names_v1_marker!($provider); + impl_ethiopian_month_names_v1_marker!($provider); + impl_metazone_period_v1_marker!($provider); + impl_coptic_date_neo_skeleton_patterns_v1_marker!($provider); + impl_chinese_year_names_v1_marker!($provider); impl_persian_month_names_v1_marker!($provider); - impl_persian_year_names_v1_marker!($provider); - impl_roc_month_names_v1_marker!($provider); impl_roc_year_names_v1_marker!($provider); - impl_weekday_names_v1_marker!($provider); - impl_buddhist_date_neo_skeleton_patterns_v1_marker!($provider); - impl_chinese_date_neo_skeleton_patterns_v1_marker!($provider); - impl_coptic_date_neo_skeleton_patterns_v1_marker!($provider); - impl_dangi_date_neo_skeleton_patterns_v1_marker!($provider); - impl_ethiopian_date_neo_skeleton_patterns_v1_marker!($provider); + impl_persian_date_neo_skeleton_patterns_v1_marker!($provider); + impl_locations_v1_marker!($provider); + impl_buddhist_month_names_v1_marker!($provider); + impl_ethiopian_year_names_v1_marker!($provider); + impl_japanese_date_neo_skeleton_patterns_v1_marker!($provider); + impl_gregorian_month_names_v1_marker!($provider); + impl_time_zone_essentials_v1_marker!($provider); + impl_roc_month_names_v1_marker!($provider); + impl_japanese_extended_month_names_v1_marker!($provider); + impl_islamic_year_names_v1_marker!($provider); impl_glue_pattern_v1_marker!($provider); - impl_gregorian_date_neo_skeleton_patterns_v1_marker!($provider); - impl_hebrew_date_neo_skeleton_patterns_v1_marker!($provider); + impl_indian_month_names_v1_marker!($provider); impl_indian_date_neo_skeleton_patterns_v1_marker!($provider); - impl_islamic_date_neo_skeleton_patterns_v1_marker!($provider); - impl_japanese_date_neo_skeleton_patterns_v1_marker!($provider); + impl_persian_year_names_v1_marker!($provider); impl_japanese_extended_date_neo_skeleton_patterns_v1_marker!($provider); - impl_persian_date_neo_skeleton_patterns_v1_marker!($provider); - impl_roc_date_neo_skeleton_patterns_v1_marker!($provider); - impl_time_neo_skeleton_patterns_v1_marker!($provider); - impl_time_zone_essentials_v1_marker!($provider); - impl_metazone_generic_names_long_v1_marker!($provider); - impl_metazone_generic_names_short_v1_marker!($provider); - impl_locations_v1_marker!($provider); - impl_metazone_period_v1_marker!($provider); impl_metazone_specific_names_long_v1_marker!($provider); - impl_metazone_specific_names_short_v1_marker!($provider); + impl_hebrew_month_names_v1_marker!($provider); + impl_weekday_names_v1_marker!($provider); + impl_gregorian_year_names_v1_marker!($provider); + impl_coptic_month_names_v1_marker!($provider); + impl_metazone_generic_names_short_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -136,57 +136,57 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/datetime/stubdata/mod.rs b/provider/data/datetime/stubdata/mod.rs index 04798255a0b..0515dfca88c 100644 --- a/provider/data/datetime/stubdata/mod.rs +++ b/provider/data/datetime/stubdata/mod.rs @@ -1,54 +1,54 @@ // @generated -include!("buddhist_month_names_v1_marker.rs.data"); -include!("buddhist_year_names_v1_marker.rs.data"); -include!("chinese_month_names_v1_marker.rs.data"); -include!("chinese_year_names_v1_marker.rs.data"); -include!("coptic_month_names_v1_marker.rs.data"); +include!("hebrew_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("japanese_year_names_v1_marker.rs.data"); +include!("gregorian_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("japanese_month_names_v1_marker.rs.data"); include!("coptic_year_names_v1_marker.rs.data"); include!("dangi_month_names_v1_marker.rs.data"); -include!("dangi_year_names_v1_marker.rs.data"); -include!("day_period_names_v1_marker.rs.data"); -include!("ethiopian_month_names_v1_marker.rs.data"); -include!("ethiopian_year_names_v1_marker.rs.data"); -include!("gregorian_month_names_v1_marker.rs.data"); -include!("gregorian_year_names_v1_marker.rs.data"); -include!("hebrew_month_names_v1_marker.rs.data"); +include!("metazone_specific_names_short_v1_marker.rs.data"); +include!("buddhist_date_neo_skeleton_patterns_v1_marker.rs.data"); include!("hebrew_year_names_v1_marker.rs.data"); -include!("indian_month_names_v1_marker.rs.data"); include!("indian_year_names_v1_marker.rs.data"); +include!("time_neo_skeleton_patterns_v1_marker.rs.data"); +include!("dangi_year_names_v1_marker.rs.data"); +include!("dangi_date_neo_skeleton_patterns_v1_marker.rs.data"); include!("islamic_month_names_v1_marker.rs.data"); -include!("islamic_year_names_v1_marker.rs.data"); -include!("japanese_month_names_v1_marker.rs.data"); -include!("japanese_year_names_v1_marker.rs.data"); -include!("japanese_extended_month_names_v1_marker.rs.data"); +include!("metazone_generic_names_long_v1_marker.rs.data"); +include!("buddhist_year_names_v1_marker.rs.data"); +include!("chinese_month_names_v1_marker.rs.data"); +include!("ethiopian_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("day_period_names_v1_marker.rs.data"); +include!("chinese_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("roc_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("islamic_date_neo_skeleton_patterns_v1_marker.rs.data"); include!("japanese_extended_year_names_v1_marker.rs.data"); +include!("ethiopian_month_names_v1_marker.rs.data"); +include!("metazone_period_v1_marker.rs.data"); +include!("coptic_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("chinese_year_names_v1_marker.rs.data"); include!("persian_month_names_v1_marker.rs.data"); -include!("persian_year_names_v1_marker.rs.data"); -include!("roc_month_names_v1_marker.rs.data"); include!("roc_year_names_v1_marker.rs.data"); -include!("weekday_names_v1_marker.rs.data"); -include!("buddhist_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("chinese_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("coptic_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("dangi_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("ethiopian_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("persian_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("locations_v1_marker.rs.data"); +include!("buddhist_month_names_v1_marker.rs.data"); +include!("ethiopian_year_names_v1_marker.rs.data"); +include!("japanese_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("gregorian_month_names_v1_marker.rs.data"); +include!("time_zone_essentials_v1_marker.rs.data"); +include!("roc_month_names_v1_marker.rs.data"); +include!("japanese_extended_month_names_v1_marker.rs.data"); +include!("islamic_year_names_v1_marker.rs.data"); include!("glue_pattern_v1_marker.rs.data"); -include!("gregorian_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("hebrew_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("indian_month_names_v1_marker.rs.data"); include!("indian_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("islamic_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("japanese_date_neo_skeleton_patterns_v1_marker.rs.data"); +include!("persian_year_names_v1_marker.rs.data"); include!("japanese_extended_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("persian_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("roc_date_neo_skeleton_patterns_v1_marker.rs.data"); -include!("time_neo_skeleton_patterns_v1_marker.rs.data"); -include!("time_zone_essentials_v1_marker.rs.data"); -include!("metazone_generic_names_long_v1_marker.rs.data"); -include!("metazone_generic_names_short_v1_marker.rs.data"); -include!("locations_v1_marker.rs.data"); -include!("metazone_period_v1_marker.rs.data"); include!("metazone_specific_names_long_v1_marker.rs.data"); -include!("metazone_specific_names_short_v1_marker.rs.data"); +include!("hebrew_month_names_v1_marker.rs.data"); +include!("weekday_names_v1_marker.rs.data"); +include!("gregorian_year_names_v1_marker.rs.data"); +include!("coptic_month_names_v1_marker.rs.data"); +include!("metazone_generic_names_short_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -78,56 +78,56 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_buddhist_month_names_v1_marker!($provider); - impl_buddhist_year_names_v1_marker!($provider); - impl_chinese_month_names_v1_marker!($provider); - impl_chinese_year_names_v1_marker!($provider); - impl_coptic_month_names_v1_marker!($provider); + impl_hebrew_date_neo_skeleton_patterns_v1_marker!($provider); + impl_japanese_year_names_v1_marker!($provider); + impl_gregorian_date_neo_skeleton_patterns_v1_marker!($provider); + impl_japanese_month_names_v1_marker!($provider); impl_coptic_year_names_v1_marker!($provider); impl_dangi_month_names_v1_marker!($provider); - impl_dangi_year_names_v1_marker!($provider); - impl_day_period_names_v1_marker!($provider); - impl_ethiopian_month_names_v1_marker!($provider); - impl_ethiopian_year_names_v1_marker!($provider); - impl_gregorian_month_names_v1_marker!($provider); - impl_gregorian_year_names_v1_marker!($provider); - impl_hebrew_month_names_v1_marker!($provider); + impl_metazone_specific_names_short_v1_marker!($provider); + impl_buddhist_date_neo_skeleton_patterns_v1_marker!($provider); impl_hebrew_year_names_v1_marker!($provider); - impl_indian_month_names_v1_marker!($provider); impl_indian_year_names_v1_marker!($provider); + impl_time_neo_skeleton_patterns_v1_marker!($provider); + impl_dangi_year_names_v1_marker!($provider); + impl_dangi_date_neo_skeleton_patterns_v1_marker!($provider); impl_islamic_month_names_v1_marker!($provider); - impl_islamic_year_names_v1_marker!($provider); - impl_japanese_month_names_v1_marker!($provider); - impl_japanese_year_names_v1_marker!($provider); - impl_japanese_extended_month_names_v1_marker!($provider); + impl_metazone_generic_names_long_v1_marker!($provider); + impl_buddhist_year_names_v1_marker!($provider); + impl_chinese_month_names_v1_marker!($provider); + impl_ethiopian_date_neo_skeleton_patterns_v1_marker!($provider); + impl_day_period_names_v1_marker!($provider); + impl_chinese_date_neo_skeleton_patterns_v1_marker!($provider); + impl_roc_date_neo_skeleton_patterns_v1_marker!($provider); + impl_islamic_date_neo_skeleton_patterns_v1_marker!($provider); impl_japanese_extended_year_names_v1_marker!($provider); + impl_ethiopian_month_names_v1_marker!($provider); + impl_metazone_period_v1_marker!($provider); + impl_coptic_date_neo_skeleton_patterns_v1_marker!($provider); + impl_chinese_year_names_v1_marker!($provider); impl_persian_month_names_v1_marker!($provider); - impl_persian_year_names_v1_marker!($provider); - impl_roc_month_names_v1_marker!($provider); impl_roc_year_names_v1_marker!($provider); - impl_weekday_names_v1_marker!($provider); - impl_buddhist_date_neo_skeleton_patterns_v1_marker!($provider); - impl_chinese_date_neo_skeleton_patterns_v1_marker!($provider); - impl_coptic_date_neo_skeleton_patterns_v1_marker!($provider); - impl_dangi_date_neo_skeleton_patterns_v1_marker!($provider); - impl_ethiopian_date_neo_skeleton_patterns_v1_marker!($provider); + impl_persian_date_neo_skeleton_patterns_v1_marker!($provider); + impl_locations_v1_marker!($provider); + impl_buddhist_month_names_v1_marker!($provider); + impl_ethiopian_year_names_v1_marker!($provider); + impl_japanese_date_neo_skeleton_patterns_v1_marker!($provider); + impl_gregorian_month_names_v1_marker!($provider); + impl_time_zone_essentials_v1_marker!($provider); + impl_roc_month_names_v1_marker!($provider); + impl_japanese_extended_month_names_v1_marker!($provider); + impl_islamic_year_names_v1_marker!($provider); impl_glue_pattern_v1_marker!($provider); - impl_gregorian_date_neo_skeleton_patterns_v1_marker!($provider); - impl_hebrew_date_neo_skeleton_patterns_v1_marker!($provider); + impl_indian_month_names_v1_marker!($provider); impl_indian_date_neo_skeleton_patterns_v1_marker!($provider); - impl_islamic_date_neo_skeleton_patterns_v1_marker!($provider); - impl_japanese_date_neo_skeleton_patterns_v1_marker!($provider); + impl_persian_year_names_v1_marker!($provider); impl_japanese_extended_date_neo_skeleton_patterns_v1_marker!($provider); - impl_persian_date_neo_skeleton_patterns_v1_marker!($provider); - impl_roc_date_neo_skeleton_patterns_v1_marker!($provider); - impl_time_neo_skeleton_patterns_v1_marker!($provider); - impl_time_zone_essentials_v1_marker!($provider); - impl_metazone_generic_names_long_v1_marker!($provider); - impl_metazone_generic_names_short_v1_marker!($provider); - impl_locations_v1_marker!($provider); - impl_metazone_period_v1_marker!($provider); impl_metazone_specific_names_long_v1_marker!($provider); - impl_metazone_specific_names_short_v1_marker!($provider); + impl_hebrew_month_names_v1_marker!($provider); + impl_weekday_names_v1_marker!($provider); + impl_gregorian_year_names_v1_marker!($provider); + impl_coptic_month_names_v1_marker!($provider); + impl_metazone_generic_names_short_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -136,57 +136,57 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/decimal/data/mod.rs b/provider/data/decimal/data/mod.rs index ae34df69c59..7cf60888146 100644 --- a/provider/data/decimal/data/mod.rs +++ b/provider/data/decimal/data/mod.rs @@ -1,6 +1,6 @@ // @generated -include!("decimal_digits_v1_marker.rs.data"); include!("decimal_symbols_v2_marker.rs.data"); +include!("decimal_digits_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -30,8 +30,8 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_decimal_digits_v1_marker!($provider); impl_decimal_symbols_v2_marker!($provider); + impl_decimal_digits_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -40,9 +40,9 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/decimal/stubdata/mod.rs b/provider/data/decimal/stubdata/mod.rs index ae34df69c59..7cf60888146 100644 --- a/provider/data/decimal/stubdata/mod.rs +++ b/provider/data/decimal/stubdata/mod.rs @@ -1,6 +1,6 @@ // @generated -include!("decimal_digits_v1_marker.rs.data"); include!("decimal_symbols_v2_marker.rs.data"); +include!("decimal_digits_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -30,8 +30,8 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_decimal_digits_v1_marker!($provider); impl_decimal_symbols_v2_marker!($provider); + impl_decimal_digits_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -40,9 +40,9 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/experimental/data/mod.rs b/provider/data/experimental/data/mod.rs index e3e1ed091d7..f159786824b 100644 --- a/provider/data/experimental/data/mod.rs +++ b/provider/data/experimental/data/mod.rs @@ -1,48 +1,48 @@ // @generated -include!("long_compact_decimal_format_data_v1_marker.rs.data"); -include!("short_compact_decimal_format_data_v1_marker.rs.data"); include!("short_currency_compact_v1_marker.rs.data"); -include!("currency_displayname_v1_marker.rs.data"); +include!("long_week_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_minute_relative_time_format_data_v1_marker.rs.data"); +include!("transliterator_rules_v1_marker.rs.data"); +include!("short_compact_decimal_format_data_v1_marker.rs.data"); +include!("digital_duration_data_v1_marker.rs.data"); +include!("narrow_week_relative_time_format_data_v1_marker.rs.data"); +include!("short_second_relative_time_format_data_v1_marker.rs.data"); +include!("long_month_relative_time_format_data_v1_marker.rs.data"); +include!("short_year_relative_time_format_data_v1_marker.rs.data"); include!("currency_essentials_v1_marker.rs.data"); -include!("currency_extended_data_v1_marker.rs.data"); -include!("currency_patterns_data_v1_marker.rs.data"); -include!("language_display_names_v1_marker.rs.data"); -include!("locale_display_names_v1_marker.rs.data"); +include!("short_week_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_second_relative_time_format_data_v1_marker.rs.data"); +include!("short_quarter_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_hour_relative_time_format_data_v1_marker.rs.data"); +include!("short_minute_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_quarter_relative_time_format_data_v1_marker.rs.data"); +include!("long_minute_relative_time_format_data_v1_marker.rs.data"); include!("region_display_names_v1_marker.rs.data"); -include!("script_display_names_v1_marker.rs.data"); -include!("variant_display_names_v1_marker.rs.data"); -include!("digital_duration_data_v1_marker.rs.data"); +include!("units_trie_v1_marker.rs.data"); +include!("language_display_names_v1_marker.rs.data"); +include!("long_quarter_relative_time_format_data_v1_marker.rs.data"); +include!("short_day_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_day_relative_time_format_data_v1_marker.rs.data"); +include!("units_essentials_v1_marker.rs.data"); include!("percent_essentials_v1_marker.rs.data"); +include!("variant_display_names_v1_marker.rs.data"); +include!("short_month_relative_time_format_data_v1_marker.rs.data"); include!("person_names_format_v1_marker.rs.data"); include!("long_day_relative_time_format_data_v1_marker.rs.data"); -include!("long_hour_relative_time_format_data_v1_marker.rs.data"); -include!("long_minute_relative_time_format_data_v1_marker.rs.data"); -include!("long_month_relative_time_format_data_v1_marker.rs.data"); -include!("long_quarter_relative_time_format_data_v1_marker.rs.data"); -include!("long_second_relative_time_format_data_v1_marker.rs.data"); -include!("long_week_relative_time_format_data_v1_marker.rs.data"); +include!("units_info_v1_marker.rs.data"); +include!("short_hour_relative_time_format_data_v1_marker.rs.data"); include!("long_year_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_day_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_hour_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_minute_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_month_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_quarter_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_second_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_week_relative_time_format_data_v1_marker.rs.data"); +include!("long_second_relative_time_format_data_v1_marker.rs.data"); +include!("long_hour_relative_time_format_data_v1_marker.rs.data"); +include!("long_compact_decimal_format_data_v1_marker.rs.data"); +include!("locale_display_names_v1_marker.rs.data"); +include!("script_display_names_v1_marker.rs.data"); include!("narrow_year_relative_time_format_data_v1_marker.rs.data"); -include!("short_day_relative_time_format_data_v1_marker.rs.data"); -include!("short_hour_relative_time_format_data_v1_marker.rs.data"); -include!("short_minute_relative_time_format_data_v1_marker.rs.data"); -include!("short_month_relative_time_format_data_v1_marker.rs.data"); -include!("short_quarter_relative_time_format_data_v1_marker.rs.data"); -include!("short_second_relative_time_format_data_v1_marker.rs.data"); -include!("short_week_relative_time_format_data_v1_marker.rs.data"); -include!("short_year_relative_time_format_data_v1_marker.rs.data"); -include!("transliterator_rules_v1_marker.rs.data"); +include!("currency_extended_data_v1_marker.rs.data"); include!("units_display_name_v1_marker.rs.data"); -include!("units_essentials_v1_marker.rs.data"); -include!("units_info_v1_marker.rs.data"); -include!("units_trie_v1_marker.rs.data"); +include!("narrow_month_relative_time_format_data_v1_marker.rs.data"); +include!("currency_displayname_v1_marker.rs.data"); +include!("currency_patterns_data_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -72,50 +72,50 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_long_compact_decimal_format_data_v1_marker!($provider); - impl_short_compact_decimal_format_data_v1_marker!($provider); impl_short_currency_compact_v1_marker!($provider); - impl_currency_displayname_v1_marker!($provider); + impl_long_week_relative_time_format_data_v1_marker!($provider); + impl_narrow_minute_relative_time_format_data_v1_marker!($provider); + impl_transliterator_rules_v1_marker!($provider); + impl_short_compact_decimal_format_data_v1_marker!($provider); + impl_digital_duration_data_v1_marker!($provider); + impl_narrow_week_relative_time_format_data_v1_marker!($provider); + impl_short_second_relative_time_format_data_v1_marker!($provider); + impl_long_month_relative_time_format_data_v1_marker!($provider); + impl_short_year_relative_time_format_data_v1_marker!($provider); impl_currency_essentials_v1_marker!($provider); - impl_currency_extended_data_v1_marker!($provider); - impl_currency_patterns_data_v1_marker!($provider); - impl_language_display_names_v1_marker!($provider); - impl_locale_display_names_v1_marker!($provider); + impl_short_week_relative_time_format_data_v1_marker!($provider); + impl_narrow_second_relative_time_format_data_v1_marker!($provider); + impl_short_quarter_relative_time_format_data_v1_marker!($provider); + impl_narrow_hour_relative_time_format_data_v1_marker!($provider); + impl_short_minute_relative_time_format_data_v1_marker!($provider); + impl_narrow_quarter_relative_time_format_data_v1_marker!($provider); + impl_long_minute_relative_time_format_data_v1_marker!($provider); impl_region_display_names_v1_marker!($provider); - impl_script_display_names_v1_marker!($provider); - impl_variant_display_names_v1_marker!($provider); - impl_digital_duration_data_v1_marker!($provider); + impl_units_trie_v1_marker!($provider); + impl_language_display_names_v1_marker!($provider); + impl_long_quarter_relative_time_format_data_v1_marker!($provider); + impl_short_day_relative_time_format_data_v1_marker!($provider); + impl_narrow_day_relative_time_format_data_v1_marker!($provider); + impl_units_essentials_v1_marker!($provider); impl_percent_essentials_v1_marker!($provider); + impl_variant_display_names_v1_marker!($provider); + impl_short_month_relative_time_format_data_v1_marker!($provider); impl_person_names_format_v1_marker!($provider); impl_long_day_relative_time_format_data_v1_marker!($provider); - impl_long_hour_relative_time_format_data_v1_marker!($provider); - impl_long_minute_relative_time_format_data_v1_marker!($provider); - impl_long_month_relative_time_format_data_v1_marker!($provider); - impl_long_quarter_relative_time_format_data_v1_marker!($provider); - impl_long_second_relative_time_format_data_v1_marker!($provider); - impl_long_week_relative_time_format_data_v1_marker!($provider); + impl_units_info_v1_marker!($provider); + impl_short_hour_relative_time_format_data_v1_marker!($provider); impl_long_year_relative_time_format_data_v1_marker!($provider); - impl_narrow_day_relative_time_format_data_v1_marker!($provider); - impl_narrow_hour_relative_time_format_data_v1_marker!($provider); - impl_narrow_minute_relative_time_format_data_v1_marker!($provider); - impl_narrow_month_relative_time_format_data_v1_marker!($provider); - impl_narrow_quarter_relative_time_format_data_v1_marker!($provider); - impl_narrow_second_relative_time_format_data_v1_marker!($provider); - impl_narrow_week_relative_time_format_data_v1_marker!($provider); + impl_long_second_relative_time_format_data_v1_marker!($provider); + impl_long_hour_relative_time_format_data_v1_marker!($provider); + impl_long_compact_decimal_format_data_v1_marker!($provider); + impl_locale_display_names_v1_marker!($provider); + impl_script_display_names_v1_marker!($provider); impl_narrow_year_relative_time_format_data_v1_marker!($provider); - impl_short_day_relative_time_format_data_v1_marker!($provider); - impl_short_hour_relative_time_format_data_v1_marker!($provider); - impl_short_minute_relative_time_format_data_v1_marker!($provider); - impl_short_month_relative_time_format_data_v1_marker!($provider); - impl_short_quarter_relative_time_format_data_v1_marker!($provider); - impl_short_second_relative_time_format_data_v1_marker!($provider); - impl_short_week_relative_time_format_data_v1_marker!($provider); - impl_short_year_relative_time_format_data_v1_marker!($provider); - impl_transliterator_rules_v1_marker!($provider); + impl_currency_extended_data_v1_marker!($provider); impl_units_display_name_v1_marker!($provider); - impl_units_essentials_v1_marker!($provider); - impl_units_info_v1_marker!($provider); - impl_units_trie_v1_marker!($provider); + impl_narrow_month_relative_time_format_data_v1_marker!($provider); + impl_currency_displayname_v1_marker!($provider); + impl_currency_patterns_data_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -124,51 +124,51 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/experimental/stubdata/mod.rs b/provider/data/experimental/stubdata/mod.rs index e3e1ed091d7..f159786824b 100644 --- a/provider/data/experimental/stubdata/mod.rs +++ b/provider/data/experimental/stubdata/mod.rs @@ -1,48 +1,48 @@ // @generated -include!("long_compact_decimal_format_data_v1_marker.rs.data"); -include!("short_compact_decimal_format_data_v1_marker.rs.data"); include!("short_currency_compact_v1_marker.rs.data"); -include!("currency_displayname_v1_marker.rs.data"); +include!("long_week_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_minute_relative_time_format_data_v1_marker.rs.data"); +include!("transliterator_rules_v1_marker.rs.data"); +include!("short_compact_decimal_format_data_v1_marker.rs.data"); +include!("digital_duration_data_v1_marker.rs.data"); +include!("narrow_week_relative_time_format_data_v1_marker.rs.data"); +include!("short_second_relative_time_format_data_v1_marker.rs.data"); +include!("long_month_relative_time_format_data_v1_marker.rs.data"); +include!("short_year_relative_time_format_data_v1_marker.rs.data"); include!("currency_essentials_v1_marker.rs.data"); -include!("currency_extended_data_v1_marker.rs.data"); -include!("currency_patterns_data_v1_marker.rs.data"); -include!("language_display_names_v1_marker.rs.data"); -include!("locale_display_names_v1_marker.rs.data"); +include!("short_week_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_second_relative_time_format_data_v1_marker.rs.data"); +include!("short_quarter_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_hour_relative_time_format_data_v1_marker.rs.data"); +include!("short_minute_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_quarter_relative_time_format_data_v1_marker.rs.data"); +include!("long_minute_relative_time_format_data_v1_marker.rs.data"); include!("region_display_names_v1_marker.rs.data"); -include!("script_display_names_v1_marker.rs.data"); -include!("variant_display_names_v1_marker.rs.data"); -include!("digital_duration_data_v1_marker.rs.data"); +include!("units_trie_v1_marker.rs.data"); +include!("language_display_names_v1_marker.rs.data"); +include!("long_quarter_relative_time_format_data_v1_marker.rs.data"); +include!("short_day_relative_time_format_data_v1_marker.rs.data"); +include!("narrow_day_relative_time_format_data_v1_marker.rs.data"); +include!("units_essentials_v1_marker.rs.data"); include!("percent_essentials_v1_marker.rs.data"); +include!("variant_display_names_v1_marker.rs.data"); +include!("short_month_relative_time_format_data_v1_marker.rs.data"); include!("person_names_format_v1_marker.rs.data"); include!("long_day_relative_time_format_data_v1_marker.rs.data"); -include!("long_hour_relative_time_format_data_v1_marker.rs.data"); -include!("long_minute_relative_time_format_data_v1_marker.rs.data"); -include!("long_month_relative_time_format_data_v1_marker.rs.data"); -include!("long_quarter_relative_time_format_data_v1_marker.rs.data"); -include!("long_second_relative_time_format_data_v1_marker.rs.data"); -include!("long_week_relative_time_format_data_v1_marker.rs.data"); +include!("units_info_v1_marker.rs.data"); +include!("short_hour_relative_time_format_data_v1_marker.rs.data"); include!("long_year_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_day_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_hour_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_minute_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_month_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_quarter_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_second_relative_time_format_data_v1_marker.rs.data"); -include!("narrow_week_relative_time_format_data_v1_marker.rs.data"); +include!("long_second_relative_time_format_data_v1_marker.rs.data"); +include!("long_hour_relative_time_format_data_v1_marker.rs.data"); +include!("long_compact_decimal_format_data_v1_marker.rs.data"); +include!("locale_display_names_v1_marker.rs.data"); +include!("script_display_names_v1_marker.rs.data"); include!("narrow_year_relative_time_format_data_v1_marker.rs.data"); -include!("short_day_relative_time_format_data_v1_marker.rs.data"); -include!("short_hour_relative_time_format_data_v1_marker.rs.data"); -include!("short_minute_relative_time_format_data_v1_marker.rs.data"); -include!("short_month_relative_time_format_data_v1_marker.rs.data"); -include!("short_quarter_relative_time_format_data_v1_marker.rs.data"); -include!("short_second_relative_time_format_data_v1_marker.rs.data"); -include!("short_week_relative_time_format_data_v1_marker.rs.data"); -include!("short_year_relative_time_format_data_v1_marker.rs.data"); -include!("transliterator_rules_v1_marker.rs.data"); +include!("currency_extended_data_v1_marker.rs.data"); include!("units_display_name_v1_marker.rs.data"); -include!("units_essentials_v1_marker.rs.data"); -include!("units_info_v1_marker.rs.data"); -include!("units_trie_v1_marker.rs.data"); +include!("narrow_month_relative_time_format_data_v1_marker.rs.data"); +include!("currency_displayname_v1_marker.rs.data"); +include!("currency_patterns_data_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -72,50 +72,50 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_long_compact_decimal_format_data_v1_marker!($provider); - impl_short_compact_decimal_format_data_v1_marker!($provider); impl_short_currency_compact_v1_marker!($provider); - impl_currency_displayname_v1_marker!($provider); + impl_long_week_relative_time_format_data_v1_marker!($provider); + impl_narrow_minute_relative_time_format_data_v1_marker!($provider); + impl_transliterator_rules_v1_marker!($provider); + impl_short_compact_decimal_format_data_v1_marker!($provider); + impl_digital_duration_data_v1_marker!($provider); + impl_narrow_week_relative_time_format_data_v1_marker!($provider); + impl_short_second_relative_time_format_data_v1_marker!($provider); + impl_long_month_relative_time_format_data_v1_marker!($provider); + impl_short_year_relative_time_format_data_v1_marker!($provider); impl_currency_essentials_v1_marker!($provider); - impl_currency_extended_data_v1_marker!($provider); - impl_currency_patterns_data_v1_marker!($provider); - impl_language_display_names_v1_marker!($provider); - impl_locale_display_names_v1_marker!($provider); + impl_short_week_relative_time_format_data_v1_marker!($provider); + impl_narrow_second_relative_time_format_data_v1_marker!($provider); + impl_short_quarter_relative_time_format_data_v1_marker!($provider); + impl_narrow_hour_relative_time_format_data_v1_marker!($provider); + impl_short_minute_relative_time_format_data_v1_marker!($provider); + impl_narrow_quarter_relative_time_format_data_v1_marker!($provider); + impl_long_minute_relative_time_format_data_v1_marker!($provider); impl_region_display_names_v1_marker!($provider); - impl_script_display_names_v1_marker!($provider); - impl_variant_display_names_v1_marker!($provider); - impl_digital_duration_data_v1_marker!($provider); + impl_units_trie_v1_marker!($provider); + impl_language_display_names_v1_marker!($provider); + impl_long_quarter_relative_time_format_data_v1_marker!($provider); + impl_short_day_relative_time_format_data_v1_marker!($provider); + impl_narrow_day_relative_time_format_data_v1_marker!($provider); + impl_units_essentials_v1_marker!($provider); impl_percent_essentials_v1_marker!($provider); + impl_variant_display_names_v1_marker!($provider); + impl_short_month_relative_time_format_data_v1_marker!($provider); impl_person_names_format_v1_marker!($provider); impl_long_day_relative_time_format_data_v1_marker!($provider); - impl_long_hour_relative_time_format_data_v1_marker!($provider); - impl_long_minute_relative_time_format_data_v1_marker!($provider); - impl_long_month_relative_time_format_data_v1_marker!($provider); - impl_long_quarter_relative_time_format_data_v1_marker!($provider); - impl_long_second_relative_time_format_data_v1_marker!($provider); - impl_long_week_relative_time_format_data_v1_marker!($provider); + impl_units_info_v1_marker!($provider); + impl_short_hour_relative_time_format_data_v1_marker!($provider); impl_long_year_relative_time_format_data_v1_marker!($provider); - impl_narrow_day_relative_time_format_data_v1_marker!($provider); - impl_narrow_hour_relative_time_format_data_v1_marker!($provider); - impl_narrow_minute_relative_time_format_data_v1_marker!($provider); - impl_narrow_month_relative_time_format_data_v1_marker!($provider); - impl_narrow_quarter_relative_time_format_data_v1_marker!($provider); - impl_narrow_second_relative_time_format_data_v1_marker!($provider); - impl_narrow_week_relative_time_format_data_v1_marker!($provider); + impl_long_second_relative_time_format_data_v1_marker!($provider); + impl_long_hour_relative_time_format_data_v1_marker!($provider); + impl_long_compact_decimal_format_data_v1_marker!($provider); + impl_locale_display_names_v1_marker!($provider); + impl_script_display_names_v1_marker!($provider); impl_narrow_year_relative_time_format_data_v1_marker!($provider); - impl_short_day_relative_time_format_data_v1_marker!($provider); - impl_short_hour_relative_time_format_data_v1_marker!($provider); - impl_short_minute_relative_time_format_data_v1_marker!($provider); - impl_short_month_relative_time_format_data_v1_marker!($provider); - impl_short_quarter_relative_time_format_data_v1_marker!($provider); - impl_short_second_relative_time_format_data_v1_marker!($provider); - impl_short_week_relative_time_format_data_v1_marker!($provider); - impl_short_year_relative_time_format_data_v1_marker!($provider); - impl_transliterator_rules_v1_marker!($provider); + impl_currency_extended_data_v1_marker!($provider); impl_units_display_name_v1_marker!($provider); - impl_units_essentials_v1_marker!($provider); - impl_units_info_v1_marker!($provider); - impl_units_trie_v1_marker!($provider); + impl_narrow_month_relative_time_format_data_v1_marker!($provider); + impl_currency_displayname_v1_marker!($provider); + impl_currency_patterns_data_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -124,51 +124,51 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/list/data/mod.rs b/provider/data/list/data/mod.rs index ca52b751b41..438677adbbb 100644 --- a/provider/data/list/data/mod.rs +++ b/provider/data/list/data/mod.rs @@ -1,7 +1,7 @@ // @generated -include!("and_list_v2_marker.rs.data"); include!("or_list_v2_marker.rs.data"); include!("unit_list_v2_marker.rs.data"); +include!("and_list_v2_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -31,9 +31,9 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_and_list_v2_marker!($provider); impl_or_list_v2_marker!($provider); impl_unit_list_v2_marker!($provider); + impl_and_list_v2_marker!($provider); }; } #[allow(unused_macros)] @@ -42,10 +42,10 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/list/stubdata/mod.rs b/provider/data/list/stubdata/mod.rs index ca52b751b41..438677adbbb 100644 --- a/provider/data/list/stubdata/mod.rs +++ b/provider/data/list/stubdata/mod.rs @@ -1,7 +1,7 @@ // @generated -include!("and_list_v2_marker.rs.data"); include!("or_list_v2_marker.rs.data"); include!("unit_list_v2_marker.rs.data"); +include!("and_list_v2_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -31,9 +31,9 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_and_list_v2_marker!($provider); impl_or_list_v2_marker!($provider); impl_unit_list_v2_marker!($provider); + impl_and_list_v2_marker!($provider); }; } #[allow(unused_macros)] @@ -42,10 +42,10 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/locale/data/mod.rs b/provider/data/locale/data/mod.rs index 589f5a49032..e172079ddd5 100644 --- a/provider/data/locale/data/mod.rs +++ b/provider/data/locale/data/mod.rs @@ -1,15 +1,15 @@ // @generated -include!("aliases_v2_marker.rs.data"); include!("exemplar_characters_auxiliary_v1_marker.rs.data"); -include!("exemplar_characters_index_v1_marker.rs.data"); -include!("exemplar_characters_main_v1_marker.rs.data"); -include!("exemplar_characters_numbers_v1_marker.rs.data"); include!("exemplar_characters_punctuation_v1_marker.rs.data"); -include!("likely_subtags_extended_v1_marker.rs.data"); -include!("likely_subtags_for_language_v1_marker.rs.data"); -include!("likely_subtags_for_script_region_v1_marker.rs.data"); include!("parents_v1_marker.rs.data"); +include!("likely_subtags_for_script_region_v1_marker.rs.data"); +include!("likely_subtags_for_language_v1_marker.rs.data"); include!("script_direction_v1_marker.rs.data"); +include!("exemplar_characters_main_v1_marker.rs.data"); +include!("aliases_v2_marker.rs.data"); +include!("exemplar_characters_index_v1_marker.rs.data"); +include!("likely_subtags_extended_v1_marker.rs.data"); +include!("exemplar_characters_numbers_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -39,17 +39,17 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_aliases_v2_marker!($provider); impl_exemplar_characters_auxiliary_v1_marker!($provider); - impl_exemplar_characters_index_v1_marker!($provider); - impl_exemplar_characters_main_v1_marker!($provider); - impl_exemplar_characters_numbers_v1_marker!($provider); impl_exemplar_characters_punctuation_v1_marker!($provider); - impl_likely_subtags_extended_v1_marker!($provider); - impl_likely_subtags_for_language_v1_marker!($provider); - impl_likely_subtags_for_script_region_v1_marker!($provider); impl_parents_v1_marker!($provider); + impl_likely_subtags_for_script_region_v1_marker!($provider); + impl_likely_subtags_for_language_v1_marker!($provider); impl_script_direction_v1_marker!($provider); + impl_exemplar_characters_main_v1_marker!($provider); + impl_aliases_v2_marker!($provider); + impl_exemplar_characters_index_v1_marker!($provider); + impl_likely_subtags_extended_v1_marker!($provider); + impl_exemplar_characters_numbers_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -58,18 +58,18 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/locale/stubdata/mod.rs b/provider/data/locale/stubdata/mod.rs index 589f5a49032..e172079ddd5 100644 --- a/provider/data/locale/stubdata/mod.rs +++ b/provider/data/locale/stubdata/mod.rs @@ -1,15 +1,15 @@ // @generated -include!("aliases_v2_marker.rs.data"); include!("exemplar_characters_auxiliary_v1_marker.rs.data"); -include!("exemplar_characters_index_v1_marker.rs.data"); -include!("exemplar_characters_main_v1_marker.rs.data"); -include!("exemplar_characters_numbers_v1_marker.rs.data"); include!("exemplar_characters_punctuation_v1_marker.rs.data"); -include!("likely_subtags_extended_v1_marker.rs.data"); -include!("likely_subtags_for_language_v1_marker.rs.data"); -include!("likely_subtags_for_script_region_v1_marker.rs.data"); include!("parents_v1_marker.rs.data"); +include!("likely_subtags_for_script_region_v1_marker.rs.data"); +include!("likely_subtags_for_language_v1_marker.rs.data"); include!("script_direction_v1_marker.rs.data"); +include!("exemplar_characters_main_v1_marker.rs.data"); +include!("aliases_v2_marker.rs.data"); +include!("exemplar_characters_index_v1_marker.rs.data"); +include!("likely_subtags_extended_v1_marker.rs.data"); +include!("exemplar_characters_numbers_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -39,17 +39,17 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_aliases_v2_marker!($provider); impl_exemplar_characters_auxiliary_v1_marker!($provider); - impl_exemplar_characters_index_v1_marker!($provider); - impl_exemplar_characters_main_v1_marker!($provider); - impl_exemplar_characters_numbers_v1_marker!($provider); impl_exemplar_characters_punctuation_v1_marker!($provider); - impl_likely_subtags_extended_v1_marker!($provider); - impl_likely_subtags_for_language_v1_marker!($provider); - impl_likely_subtags_for_script_region_v1_marker!($provider); impl_parents_v1_marker!($provider); + impl_likely_subtags_for_script_region_v1_marker!($provider); + impl_likely_subtags_for_language_v1_marker!($provider); impl_script_direction_v1_marker!($provider); + impl_exemplar_characters_main_v1_marker!($provider); + impl_aliases_v2_marker!($provider); + impl_exemplar_characters_index_v1_marker!($provider); + impl_likely_subtags_extended_v1_marker!($provider); + impl_exemplar_characters_numbers_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -58,18 +58,18 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/normalizer/data/mod.rs b/provider/data/normalizer/data/mod.rs index e6ea048039b..39917597c2c 100644 --- a/provider/data/normalizer/data/mod.rs +++ b/provider/data/normalizer/data/mod.rs @@ -1,11 +1,11 @@ // @generated +include!("uts46_decomposition_data_v2_marker.rs.data"); +include!("compatibility_decomposition_tables_v1_marker.rs.data"); include!("canonical_compositions_v1_marker.rs.data"); include!("non_recursive_decomposition_supplement_v1_marker.rs.data"); -include!("canonical_decomposition_data_v2_marker.rs.data"); include!("canonical_decomposition_tables_v1_marker.rs.data"); +include!("canonical_decomposition_data_v2_marker.rs.data"); include!("compatibility_decomposition_data_v2_marker.rs.data"); -include!("compatibility_decomposition_tables_v1_marker.rs.data"); -include!("uts46_decomposition_data_v2_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -35,13 +35,13 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); + impl_uts46_decomposition_data_v2_marker!($provider); + impl_compatibility_decomposition_tables_v1_marker!($provider); impl_canonical_compositions_v1_marker!($provider); impl_non_recursive_decomposition_supplement_v1_marker!($provider); - impl_canonical_decomposition_data_v2_marker!($provider); impl_canonical_decomposition_tables_v1_marker!($provider); + impl_canonical_decomposition_data_v2_marker!($provider); impl_compatibility_decomposition_data_v2_marker!($provider); - impl_compatibility_decomposition_tables_v1_marker!($provider); - impl_uts46_decomposition_data_v2_marker!($provider); }; } #[allow(unused_macros)] @@ -50,14 +50,14 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/normalizer/stubdata/mod.rs b/provider/data/normalizer/stubdata/mod.rs index e6ea048039b..39917597c2c 100644 --- a/provider/data/normalizer/stubdata/mod.rs +++ b/provider/data/normalizer/stubdata/mod.rs @@ -1,11 +1,11 @@ // @generated +include!("uts46_decomposition_data_v2_marker.rs.data"); +include!("compatibility_decomposition_tables_v1_marker.rs.data"); include!("canonical_compositions_v1_marker.rs.data"); include!("non_recursive_decomposition_supplement_v1_marker.rs.data"); -include!("canonical_decomposition_data_v2_marker.rs.data"); include!("canonical_decomposition_tables_v1_marker.rs.data"); +include!("canonical_decomposition_data_v2_marker.rs.data"); include!("compatibility_decomposition_data_v2_marker.rs.data"); -include!("compatibility_decomposition_tables_v1_marker.rs.data"); -include!("uts46_decomposition_data_v2_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -35,13 +35,13 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); + impl_uts46_decomposition_data_v2_marker!($provider); + impl_compatibility_decomposition_tables_v1_marker!($provider); impl_canonical_compositions_v1_marker!($provider); impl_non_recursive_decomposition_supplement_v1_marker!($provider); - impl_canonical_decomposition_data_v2_marker!($provider); impl_canonical_decomposition_tables_v1_marker!($provider); + impl_canonical_decomposition_data_v2_marker!($provider); impl_compatibility_decomposition_data_v2_marker!($provider); - impl_compatibility_decomposition_tables_v1_marker!($provider); - impl_uts46_decomposition_data_v2_marker!($provider); }; } #[allow(unused_macros)] @@ -50,14 +50,14 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/plurals/data/mod.rs b/provider/data/plurals/data/mod.rs index 066e53df28c..6abf10b4f28 100644 --- a/provider/data/plurals/data/mod.rs +++ b/provider/data/plurals/data/mod.rs @@ -1,7 +1,7 @@ // @generated -include!("cardinal_v1_marker.rs.data"); -include!("ordinal_v1_marker.rs.data"); include!("plural_ranges_v1_marker.rs.data"); +include!("ordinal_v1_marker.rs.data"); +include!("cardinal_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -31,9 +31,9 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_cardinal_v1_marker!($provider); - impl_ordinal_v1_marker!($provider); impl_plural_ranges_v1_marker!($provider); + impl_ordinal_v1_marker!($provider); + impl_cardinal_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -42,10 +42,10 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/plurals/stubdata/mod.rs b/provider/data/plurals/stubdata/mod.rs index 066e53df28c..6abf10b4f28 100644 --- a/provider/data/plurals/stubdata/mod.rs +++ b/provider/data/plurals/stubdata/mod.rs @@ -1,7 +1,7 @@ // @generated -include!("cardinal_v1_marker.rs.data"); -include!("ordinal_v1_marker.rs.data"); include!("plural_ranges_v1_marker.rs.data"); +include!("ordinal_v1_marker.rs.data"); +include!("cardinal_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -31,9 +31,9 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_cardinal_v1_marker!($provider); - impl_ordinal_v1_marker!($provider); impl_plural_ranges_v1_marker!($provider); + impl_ordinal_v1_marker!($provider); + impl_cardinal_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -42,10 +42,10 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/properties/data/mod.rs b/provider/data/properties/data/mod.rs index aaf2725a2a1..bbe975ef2ae 100644 --- a/provider/data/properties/data/mod.rs +++ b/provider/data/properties/data/mod.rs @@ -1,121 +1,121 @@ // @generated -include!("grapheme_cluster_break_name_to_value_v2_marker.rs.data"); -include!("indic_syllabic_category_name_to_value_v2_marker.rs.data"); -include!("sentence_break_name_to_value_v2_marker.rs.data"); -include!("word_break_name_to_value_v2_marker.rs.data"); -include!("bidi_class_name_to_value_v2_marker.rs.data"); -include!("canonical_combining_class_name_to_value_v2_marker.rs.data"); -include!("east_asian_width_name_to_value_v2_marker.rs.data"); -include!("general_category_name_to_value_v2_marker.rs.data"); -include!("general_category_mask_name_to_value_v2_marker.rs.data"); +include!("word_break_value_to_long_name_v1_marker.rs.data"); +include!("terminal_punctuation_v1_marker.rs.data"); include!("hangul_syllable_type_name_to_value_v2_marker.rs.data"); -include!("joining_type_name_to_value_v2_marker.rs.data"); +include!("bidi_class_v1_marker.rs.data"); +include!("nfd_inert_v1_marker.rs.data"); +include!("grapheme_cluster_break_v1_marker.rs.data"); +include!("hangul_syllable_type_value_to_long_name_v1_marker.rs.data"); +include!("xdigit_v1_marker.rs.data"); +include!("east_asian_width_value_to_short_name_v1_marker.rs.data"); +include!("line_break_v1_marker.rs.data"); +include!("pattern_white_space_v1_marker.rs.data"); include!("line_break_name_to_value_v2_marker.rs.data"); -include!("script_name_to_value_v2_marker.rs.data"); -include!("grapheme_cluster_break_value_to_long_name_v1_marker.rs.data"); -include!("indic_syllabic_category_value_to_long_name_v1_marker.rs.data"); include!("sentence_break_value_to_long_name_v1_marker.rs.data"); -include!("word_break_value_to_long_name_v1_marker.rs.data"); -include!("bidi_class_value_to_long_name_v1_marker.rs.data"); -include!("east_asian_width_value_to_long_name_v1_marker.rs.data"); -include!("general_category_value_to_long_name_v1_marker.rs.data"); -include!("hangul_syllable_type_value_to_long_name_v1_marker.rs.data"); -include!("joining_type_value_to_long_name_v1_marker.rs.data"); -include!("line_break_value_to_long_name_v1_marker.rs.data"); -include!("script_value_to_long_name_v1_marker.rs.data"); -include!("canonical_combining_class_value_to_long_name_v1_marker.rs.data"); -include!("grapheme_cluster_break_value_to_short_name_v1_marker.rs.data"); include!("indic_syllabic_category_value_to_short_name_v1_marker.rs.data"); -include!("sentence_break_value_to_short_name_v1_marker.rs.data"); -include!("word_break_value_to_short_name_v1_marker.rs.data"); -include!("bidi_class_value_to_short_name_v1_marker.rs.data"); -include!("east_asian_width_value_to_short_name_v1_marker.rs.data"); -include!("general_category_value_to_short_name_v1_marker.rs.data"); +include!("sentence_break_name_to_value_v2_marker.rs.data"); +include!("grapheme_extend_v1_marker.rs.data"); +include!("case_sensitive_v1_marker.rs.data"); +include!("script_v1_marker.rs.data"); +include!("grapheme_cluster_break_value_to_short_name_v1_marker.rs.data"); +include!("grapheme_link_v1_marker.rs.data"); +include!("nfc_inert_v1_marker.rs.data"); +include!("word_break_name_to_value_v2_marker.rs.data"); include!("hangul_syllable_type_value_to_short_name_v1_marker.rs.data"); +include!("script_name_to_value_v2_marker.rs.data"); +include!("joining_type_v1_marker.rs.data"); +include!("noncharacter_code_point_v1_marker.rs.data"); +include!("changes_when_uppercased_v1_marker.rs.data"); +include!("emoji_v1_marker.rs.data"); +include!("join_control_v1_marker.rs.data"); +include!("word_break_value_to_short_name_v1_marker.rs.data"); +include!("east_asian_width_value_to_long_name_v1_marker.rs.data"); include!("joining_type_value_to_short_name_v1_marker.rs.data"); -include!("line_break_value_to_short_name_v1_marker.rs.data"); -include!("script_value_to_short_name_v1_marker.rs.data"); -include!("canonical_combining_class_value_to_short_name_v1_marker.rs.data"); -include!("ascii_hex_digit_v1_marker.rs.data"); -include!("alphabetic_v1_marker.rs.data"); -include!("basic_emoji_v1_marker.rs.data"); -include!("bidi_control_v1_marker.rs.data"); -include!("bidi_mirroring_glyph_v1_marker.rs.data"); -include!("bidi_mirrored_v1_marker.rs.data"); +include!("emoji_presentation_v1_marker.rs.data"); +include!("indic_syllabic_category_value_to_long_name_v1_marker.rs.data"); +include!("indic_syllabic_category_v1_marker.rs.data"); +include!("general_category_name_to_value_v2_marker.rs.data"); +include!("logical_order_exception_v1_marker.rs.data"); +include!("regional_indicator_v1_marker.rs.data"); +include!("hex_digit_v1_marker.rs.data"); +include!("segment_starter_v1_marker.rs.data"); +include!("deprecated_v1_marker.rs.data"); +include!("soft_dotted_v1_marker.rs.data"); include!("case_ignorable_v1_marker.rs.data"); +include!("id_continue_v1_marker.rs.data"); +include!("blank_v1_marker.rs.data"); +include!("grapheme_cluster_break_value_to_long_name_v1_marker.rs.data"); +include!("sentence_break_value_to_short_name_v1_marker.rs.data"); +include!("math_v1_marker.rs.data"); +include!("variation_selector_v1_marker.rs.data"); include!("changes_when_casefolded_v1_marker.rs.data"); include!("changes_when_casemapped_v1_marker.rs.data"); -include!("changes_when_nfkc_casefolded_v1_marker.rs.data"); -include!("changes_when_lowercased_v1_marker.rs.data"); -include!("changes_when_titlecased_v1_marker.rs.data"); -include!("changes_when_uppercased_v1_marker.rs.data"); +include!("uppercase_v1_marker.rs.data"); +include!("east_asian_width_name_to_value_v2_marker.rs.data"); include!("cased_v1_marker.rs.data"); -include!("full_composition_exclusion_v1_marker.rs.data"); -include!("default_ignorable_code_point_v1_marker.rs.data"); -include!("dash_v1_marker.rs.data"); -include!("deprecated_v1_marker.rs.data"); -include!("diacritic_v1_marker.rs.data"); -include!("emoji_modifier_base_v1_marker.rs.data"); -include!("emoji_component_v1_marker.rs.data"); -include!("emoji_modifier_v1_marker.rs.data"); -include!("emoji_presentation_v1_marker.rs.data"); -include!("emoji_v1_marker.rs.data"); -include!("extender_v1_marker.rs.data"); -include!("extended_pictographic_v1_marker.rs.data"); -include!("grapheme_cluster_break_v1_marker.rs.data"); -include!("grapheme_base_v1_marker.rs.data"); -include!("grapheme_extend_v1_marker.rs.data"); -include!("grapheme_link_v1_marker.rs.data"); -include!("hex_digit_v1_marker.rs.data"); -include!("hyphen_v1_marker.rs.data"); -include!("id_continue_v1_marker.rs.data"); -include!("id_start_v1_marker.rs.data"); -include!("ids_binary_operator_v1_marker.rs.data"); -include!("ids_trinary_operator_v1_marker.rs.data"); -include!("ideographic_v1_marker.rs.data"); -include!("indic_syllabic_category_v1_marker.rs.data"); -include!("join_control_v1_marker.rs.data"); -include!("logical_order_exception_v1_marker.rs.data"); +include!("print_v1_marker.rs.data"); +include!("quotation_mark_v1_marker.rs.data"); include!("lowercase_v1_marker.rs.data"); -include!("math_v1_marker.rs.data"); -include!("noncharacter_code_point_v1_marker.rs.data"); +include!("basic_emoji_v1_marker.rs.data"); +include!("line_break_value_to_short_name_v1_marker.rs.data"); include!("prepended_concatenation_mark_v1_marker.rs.data"); -include!("pattern_syntax_v1_marker.rs.data"); -include!("pattern_white_space_v1_marker.rs.data"); -include!("quotation_mark_v1_marker.rs.data"); -include!("regional_indicator_v1_marker.rs.data"); -include!("radical_v1_marker.rs.data"); include!("sentence_break_v1_marker.rs.data"); -include!("soft_dotted_v1_marker.rs.data"); +include!("east_asian_width_v1_marker.rs.data"); +include!("changes_when_lowercased_v1_marker.rs.data"); +include!("joining_type_value_to_long_name_v1_marker.rs.data"); +include!("general_category_value_to_short_name_v1_marker.rs.data"); +include!("bidi_mirroring_glyph_v1_marker.rs.data"); +include!("bidi_class_value_to_short_name_v1_marker.rs.data"); +include!("extender_v1_marker.rs.data"); +include!("hyphen_v1_marker.rs.data"); +include!("default_ignorable_code_point_v1_marker.rs.data"); +include!("changes_when_titlecased_v1_marker.rs.data"); include!("sentence_terminal_v1_marker.rs.data"); -include!("case_sensitive_v1_marker.rs.data"); -include!("terminal_punctuation_v1_marker.rs.data"); -include!("unified_ideograph_v1_marker.rs.data"); -include!("uppercase_v1_marker.rs.data"); -include!("variation_selector_v1_marker.rs.data"); -include!("word_break_v1_marker.rs.data"); -include!("white_space_v1_marker.rs.data"); -include!("xid_continue_v1_marker.rs.data"); +include!("bidi_mirrored_v1_marker.rs.data"); +include!("extended_pictographic_v1_marker.rs.data"); +include!("bidi_class_value_to_long_name_v1_marker.rs.data"); +include!("canonical_combining_class_value_to_long_name_v1_marker.rs.data"); +include!("id_start_v1_marker.rs.data"); include!("xid_start_v1_marker.rs.data"); -include!("alnum_v1_marker.rs.data"); -include!("bidi_class_v1_marker.rs.data"); -include!("blank_v1_marker.rs.data"); -include!("canonical_combining_class_v1_marker.rs.data"); -include!("east_asian_width_v1_marker.rs.data"); +include!("xid_continue_v1_marker.rs.data"); +include!("nfkd_inert_v1_marker.rs.data"); +include!("grapheme_base_v1_marker.rs.data"); +include!("emoji_component_v1_marker.rs.data"); +include!("bidi_control_v1_marker.rs.data"); +include!("ideographic_v1_marker.rs.data"); +include!("ascii_hex_digit_v1_marker.rs.data"); +include!("grapheme_cluster_break_name_to_value_v2_marker.rs.data"); include!("general_category_v1_marker.rs.data"); +include!("changes_when_nfkc_casefolded_v1_marker.rs.data"); +include!("word_break_v1_marker.rs.data"); include!("graph_v1_marker.rs.data"); +include!("alphabetic_v1_marker.rs.data"); +include!("pattern_syntax_v1_marker.rs.data"); +include!("line_break_value_to_long_name_v1_marker.rs.data"); +include!("script_value_to_short_name_v1_marker.rs.data"); +include!("canonical_combining_class_v1_marker.rs.data"); +include!("diacritic_v1_marker.rs.data"); include!("hangul_syllable_type_v1_marker.rs.data"); -include!("joining_type_v1_marker.rs.data"); -include!("line_break_v1_marker.rs.data"); -include!("nfc_inert_v1_marker.rs.data"); -include!("nfd_inert_v1_marker.rs.data"); -include!("nfkc_inert_v1_marker.rs.data"); -include!("nfkd_inert_v1_marker.rs.data"); -include!("print_v1_marker.rs.data"); -include!("script_v1_marker.rs.data"); +include!("dash_v1_marker.rs.data"); +include!("general_category_mask_name_to_value_v2_marker.rs.data"); +include!("white_space_v1_marker.rs.data"); +include!("joining_type_name_to_value_v2_marker.rs.data"); include!("script_with_extensions_property_v1_marker.rs.data"); -include!("segment_starter_v1_marker.rs.data"); -include!("xdigit_v1_marker.rs.data"); +include!("script_value_to_long_name_v1_marker.rs.data"); +include!("bidi_class_name_to_value_v2_marker.rs.data"); +include!("radical_v1_marker.rs.data"); +include!("emoji_modifier_base_v1_marker.rs.data"); +include!("emoji_modifier_v1_marker.rs.data"); +include!("alnum_v1_marker.rs.data"); +include!("ids_binary_operator_v1_marker.rs.data"); +include!("ids_trinary_operator_v1_marker.rs.data"); +include!("canonical_combining_class_name_to_value_v2_marker.rs.data"); +include!("canonical_combining_class_value_to_short_name_v1_marker.rs.data"); +include!("indic_syllabic_category_name_to_value_v2_marker.rs.data"); +include!("unified_ideograph_v1_marker.rs.data"); +include!("general_category_value_to_long_name_v1_marker.rs.data"); +include!("nfkc_inert_v1_marker.rs.data"); +include!("full_composition_exclusion_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -145,123 +145,123 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_grapheme_cluster_break_name_to_value_v2_marker!($provider); - impl_indic_syllabic_category_name_to_value_v2_marker!($provider); - impl_sentence_break_name_to_value_v2_marker!($provider); - impl_word_break_name_to_value_v2_marker!($provider); - impl_bidi_class_name_to_value_v2_marker!($provider); - impl_canonical_combining_class_name_to_value_v2_marker!($provider); - impl_east_asian_width_name_to_value_v2_marker!($provider); - impl_general_category_name_to_value_v2_marker!($provider); - impl_general_category_mask_name_to_value_v2_marker!($provider); + impl_word_break_value_to_long_name_v1_marker!($provider); + impl_terminal_punctuation_v1_marker!($provider); impl_hangul_syllable_type_name_to_value_v2_marker!($provider); - impl_joining_type_name_to_value_v2_marker!($provider); + impl_bidi_class_v1_marker!($provider); + impl_nfd_inert_v1_marker!($provider); + impl_grapheme_cluster_break_v1_marker!($provider); + impl_hangul_syllable_type_value_to_long_name_v1_marker!($provider); + impl_xdigit_v1_marker!($provider); + impl_east_asian_width_value_to_short_name_v1_marker!($provider); + impl_line_break_v1_marker!($provider); + impl_pattern_white_space_v1_marker!($provider); impl_line_break_name_to_value_v2_marker!($provider); - impl_script_name_to_value_v2_marker!($provider); - impl_grapheme_cluster_break_value_to_long_name_v1_marker!($provider); - impl_indic_syllabic_category_value_to_long_name_v1_marker!($provider); impl_sentence_break_value_to_long_name_v1_marker!($provider); - impl_word_break_value_to_long_name_v1_marker!($provider); - impl_bidi_class_value_to_long_name_v1_marker!($provider); - impl_east_asian_width_value_to_long_name_v1_marker!($provider); - impl_general_category_value_to_long_name_v1_marker!($provider); - impl_hangul_syllable_type_value_to_long_name_v1_marker!($provider); - impl_joining_type_value_to_long_name_v1_marker!($provider); - impl_line_break_value_to_long_name_v1_marker!($provider); - impl_script_value_to_long_name_v1_marker!($provider); - impl_canonical_combining_class_value_to_long_name_v1_marker!($provider); - impl_grapheme_cluster_break_value_to_short_name_v1_marker!($provider); impl_indic_syllabic_category_value_to_short_name_v1_marker!($provider); - impl_sentence_break_value_to_short_name_v1_marker!($provider); - impl_word_break_value_to_short_name_v1_marker!($provider); - impl_bidi_class_value_to_short_name_v1_marker!($provider); - impl_east_asian_width_value_to_short_name_v1_marker!($provider); - impl_general_category_value_to_short_name_v1_marker!($provider); + impl_sentence_break_name_to_value_v2_marker!($provider); + impl_grapheme_extend_v1_marker!($provider); + impl_case_sensitive_v1_marker!($provider); + impl_script_v1_marker!($provider); + impl_grapheme_cluster_break_value_to_short_name_v1_marker!($provider); + impl_grapheme_link_v1_marker!($provider); + impl_nfc_inert_v1_marker!($provider); + impl_word_break_name_to_value_v2_marker!($provider); impl_hangul_syllable_type_value_to_short_name_v1_marker!($provider); + impl_script_name_to_value_v2_marker!($provider); + impl_joining_type_v1_marker!($provider); + impl_noncharacter_code_point_v1_marker!($provider); + impl_changes_when_uppercased_v1_marker!($provider); + impl_emoji_v1_marker!($provider); + impl_join_control_v1_marker!($provider); + impl_word_break_value_to_short_name_v1_marker!($provider); + impl_east_asian_width_value_to_long_name_v1_marker!($provider); impl_joining_type_value_to_short_name_v1_marker!($provider); - impl_line_break_value_to_short_name_v1_marker!($provider); - impl_script_value_to_short_name_v1_marker!($provider); - impl_canonical_combining_class_value_to_short_name_v1_marker!($provider); - impl_ascii_hex_digit_v1_marker!($provider); - impl_alphabetic_v1_marker!($provider); - impl_basic_emoji_v1_marker!($provider); - impl_bidi_control_v1_marker!($provider); - impl_bidi_mirroring_glyph_v1_marker!($provider); - impl_bidi_mirrored_v1_marker!($provider); + impl_emoji_presentation_v1_marker!($provider); + impl_indic_syllabic_category_value_to_long_name_v1_marker!($provider); + impl_indic_syllabic_category_v1_marker!($provider); + impl_general_category_name_to_value_v2_marker!($provider); + impl_logical_order_exception_v1_marker!($provider); + impl_regional_indicator_v1_marker!($provider); + impl_hex_digit_v1_marker!($provider); + impl_segment_starter_v1_marker!($provider); + impl_deprecated_v1_marker!($provider); + impl_soft_dotted_v1_marker!($provider); impl_case_ignorable_v1_marker!($provider); + impl_id_continue_v1_marker!($provider); + impl_blank_v1_marker!($provider); + impl_grapheme_cluster_break_value_to_long_name_v1_marker!($provider); + impl_sentence_break_value_to_short_name_v1_marker!($provider); + impl_math_v1_marker!($provider); + impl_variation_selector_v1_marker!($provider); impl_changes_when_casefolded_v1_marker!($provider); impl_changes_when_casemapped_v1_marker!($provider); - impl_changes_when_nfkc_casefolded_v1_marker!($provider); - impl_changes_when_lowercased_v1_marker!($provider); - impl_changes_when_titlecased_v1_marker!($provider); - impl_changes_when_uppercased_v1_marker!($provider); + impl_uppercase_v1_marker!($provider); + impl_east_asian_width_name_to_value_v2_marker!($provider); impl_cased_v1_marker!($provider); - impl_full_composition_exclusion_v1_marker!($provider); - impl_default_ignorable_code_point_v1_marker!($provider); - impl_dash_v1_marker!($provider); - impl_deprecated_v1_marker!($provider); - impl_diacritic_v1_marker!($provider); - impl_emoji_modifier_base_v1_marker!($provider); - impl_emoji_component_v1_marker!($provider); - impl_emoji_modifier_v1_marker!($provider); - impl_emoji_presentation_v1_marker!($provider); - impl_emoji_v1_marker!($provider); - impl_extender_v1_marker!($provider); - impl_extended_pictographic_v1_marker!($provider); - impl_grapheme_cluster_break_v1_marker!($provider); - impl_grapheme_base_v1_marker!($provider); - impl_grapheme_extend_v1_marker!($provider); - impl_grapheme_link_v1_marker!($provider); - impl_hex_digit_v1_marker!($provider); - impl_hyphen_v1_marker!($provider); - impl_id_continue_v1_marker!($provider); - impl_id_start_v1_marker!($provider); - impl_ids_binary_operator_v1_marker!($provider); - impl_ids_trinary_operator_v1_marker!($provider); - impl_ideographic_v1_marker!($provider); - impl_indic_syllabic_category_v1_marker!($provider); - impl_join_control_v1_marker!($provider); - impl_logical_order_exception_v1_marker!($provider); + impl_print_v1_marker!($provider); + impl_quotation_mark_v1_marker!($provider); impl_lowercase_v1_marker!($provider); - impl_math_v1_marker!($provider); - impl_noncharacter_code_point_v1_marker!($provider); + impl_basic_emoji_v1_marker!($provider); + impl_line_break_value_to_short_name_v1_marker!($provider); impl_prepended_concatenation_mark_v1_marker!($provider); - impl_pattern_syntax_v1_marker!($provider); - impl_pattern_white_space_v1_marker!($provider); - impl_quotation_mark_v1_marker!($provider); - impl_regional_indicator_v1_marker!($provider); - impl_radical_v1_marker!($provider); impl_sentence_break_v1_marker!($provider); - impl_soft_dotted_v1_marker!($provider); + impl_east_asian_width_v1_marker!($provider); + impl_changes_when_lowercased_v1_marker!($provider); + impl_joining_type_value_to_long_name_v1_marker!($provider); + impl_general_category_value_to_short_name_v1_marker!($provider); + impl_bidi_mirroring_glyph_v1_marker!($provider); + impl_bidi_class_value_to_short_name_v1_marker!($provider); + impl_extender_v1_marker!($provider); + impl_hyphen_v1_marker!($provider); + impl_default_ignorable_code_point_v1_marker!($provider); + impl_changes_when_titlecased_v1_marker!($provider); impl_sentence_terminal_v1_marker!($provider); - impl_case_sensitive_v1_marker!($provider); - impl_terminal_punctuation_v1_marker!($provider); - impl_unified_ideograph_v1_marker!($provider); - impl_uppercase_v1_marker!($provider); - impl_variation_selector_v1_marker!($provider); - impl_word_break_v1_marker!($provider); - impl_white_space_v1_marker!($provider); - impl_xid_continue_v1_marker!($provider); + impl_bidi_mirrored_v1_marker!($provider); + impl_extended_pictographic_v1_marker!($provider); + impl_bidi_class_value_to_long_name_v1_marker!($provider); + impl_canonical_combining_class_value_to_long_name_v1_marker!($provider); + impl_id_start_v1_marker!($provider); impl_xid_start_v1_marker!($provider); - impl_alnum_v1_marker!($provider); - impl_bidi_class_v1_marker!($provider); - impl_blank_v1_marker!($provider); - impl_canonical_combining_class_v1_marker!($provider); - impl_east_asian_width_v1_marker!($provider); + impl_xid_continue_v1_marker!($provider); + impl_nfkd_inert_v1_marker!($provider); + impl_grapheme_base_v1_marker!($provider); + impl_emoji_component_v1_marker!($provider); + impl_bidi_control_v1_marker!($provider); + impl_ideographic_v1_marker!($provider); + impl_ascii_hex_digit_v1_marker!($provider); + impl_grapheme_cluster_break_name_to_value_v2_marker!($provider); impl_general_category_v1_marker!($provider); + impl_changes_when_nfkc_casefolded_v1_marker!($provider); + impl_word_break_v1_marker!($provider); impl_graph_v1_marker!($provider); + impl_alphabetic_v1_marker!($provider); + impl_pattern_syntax_v1_marker!($provider); + impl_line_break_value_to_long_name_v1_marker!($provider); + impl_script_value_to_short_name_v1_marker!($provider); + impl_canonical_combining_class_v1_marker!($provider); + impl_diacritic_v1_marker!($provider); impl_hangul_syllable_type_v1_marker!($provider); - impl_joining_type_v1_marker!($provider); - impl_line_break_v1_marker!($provider); - impl_nfc_inert_v1_marker!($provider); - impl_nfd_inert_v1_marker!($provider); - impl_nfkc_inert_v1_marker!($provider); - impl_nfkd_inert_v1_marker!($provider); - impl_print_v1_marker!($provider); - impl_script_v1_marker!($provider); + impl_dash_v1_marker!($provider); + impl_general_category_mask_name_to_value_v2_marker!($provider); + impl_white_space_v1_marker!($provider); + impl_joining_type_name_to_value_v2_marker!($provider); impl_script_with_extensions_property_v1_marker!($provider); - impl_segment_starter_v1_marker!($provider); - impl_xdigit_v1_marker!($provider); + impl_script_value_to_long_name_v1_marker!($provider); + impl_bidi_class_name_to_value_v2_marker!($provider); + impl_radical_v1_marker!($provider); + impl_emoji_modifier_base_v1_marker!($provider); + impl_emoji_modifier_v1_marker!($provider); + impl_alnum_v1_marker!($provider); + impl_ids_binary_operator_v1_marker!($provider); + impl_ids_trinary_operator_v1_marker!($provider); + impl_canonical_combining_class_name_to_value_v2_marker!($provider); + impl_canonical_combining_class_value_to_short_name_v1_marker!($provider); + impl_indic_syllabic_category_name_to_value_v2_marker!($provider); + impl_unified_ideograph_v1_marker!($provider); + impl_general_category_value_to_long_name_v1_marker!($provider); + impl_nfkc_inert_v1_marker!($provider); + impl_full_composition_exclusion_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -270,124 +270,124 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/properties/stubdata/mod.rs b/provider/data/properties/stubdata/mod.rs index aaf2725a2a1..bbe975ef2ae 100644 --- a/provider/data/properties/stubdata/mod.rs +++ b/provider/data/properties/stubdata/mod.rs @@ -1,121 +1,121 @@ // @generated -include!("grapheme_cluster_break_name_to_value_v2_marker.rs.data"); -include!("indic_syllabic_category_name_to_value_v2_marker.rs.data"); -include!("sentence_break_name_to_value_v2_marker.rs.data"); -include!("word_break_name_to_value_v2_marker.rs.data"); -include!("bidi_class_name_to_value_v2_marker.rs.data"); -include!("canonical_combining_class_name_to_value_v2_marker.rs.data"); -include!("east_asian_width_name_to_value_v2_marker.rs.data"); -include!("general_category_name_to_value_v2_marker.rs.data"); -include!("general_category_mask_name_to_value_v2_marker.rs.data"); +include!("word_break_value_to_long_name_v1_marker.rs.data"); +include!("terminal_punctuation_v1_marker.rs.data"); include!("hangul_syllable_type_name_to_value_v2_marker.rs.data"); -include!("joining_type_name_to_value_v2_marker.rs.data"); +include!("bidi_class_v1_marker.rs.data"); +include!("nfd_inert_v1_marker.rs.data"); +include!("grapheme_cluster_break_v1_marker.rs.data"); +include!("hangul_syllable_type_value_to_long_name_v1_marker.rs.data"); +include!("xdigit_v1_marker.rs.data"); +include!("east_asian_width_value_to_short_name_v1_marker.rs.data"); +include!("line_break_v1_marker.rs.data"); +include!("pattern_white_space_v1_marker.rs.data"); include!("line_break_name_to_value_v2_marker.rs.data"); -include!("script_name_to_value_v2_marker.rs.data"); -include!("grapheme_cluster_break_value_to_long_name_v1_marker.rs.data"); -include!("indic_syllabic_category_value_to_long_name_v1_marker.rs.data"); include!("sentence_break_value_to_long_name_v1_marker.rs.data"); -include!("word_break_value_to_long_name_v1_marker.rs.data"); -include!("bidi_class_value_to_long_name_v1_marker.rs.data"); -include!("east_asian_width_value_to_long_name_v1_marker.rs.data"); -include!("general_category_value_to_long_name_v1_marker.rs.data"); -include!("hangul_syllable_type_value_to_long_name_v1_marker.rs.data"); -include!("joining_type_value_to_long_name_v1_marker.rs.data"); -include!("line_break_value_to_long_name_v1_marker.rs.data"); -include!("script_value_to_long_name_v1_marker.rs.data"); -include!("canonical_combining_class_value_to_long_name_v1_marker.rs.data"); -include!("grapheme_cluster_break_value_to_short_name_v1_marker.rs.data"); include!("indic_syllabic_category_value_to_short_name_v1_marker.rs.data"); -include!("sentence_break_value_to_short_name_v1_marker.rs.data"); -include!("word_break_value_to_short_name_v1_marker.rs.data"); -include!("bidi_class_value_to_short_name_v1_marker.rs.data"); -include!("east_asian_width_value_to_short_name_v1_marker.rs.data"); -include!("general_category_value_to_short_name_v1_marker.rs.data"); +include!("sentence_break_name_to_value_v2_marker.rs.data"); +include!("grapheme_extend_v1_marker.rs.data"); +include!("case_sensitive_v1_marker.rs.data"); +include!("script_v1_marker.rs.data"); +include!("grapheme_cluster_break_value_to_short_name_v1_marker.rs.data"); +include!("grapheme_link_v1_marker.rs.data"); +include!("nfc_inert_v1_marker.rs.data"); +include!("word_break_name_to_value_v2_marker.rs.data"); include!("hangul_syllable_type_value_to_short_name_v1_marker.rs.data"); +include!("script_name_to_value_v2_marker.rs.data"); +include!("joining_type_v1_marker.rs.data"); +include!("noncharacter_code_point_v1_marker.rs.data"); +include!("changes_when_uppercased_v1_marker.rs.data"); +include!("emoji_v1_marker.rs.data"); +include!("join_control_v1_marker.rs.data"); +include!("word_break_value_to_short_name_v1_marker.rs.data"); +include!("east_asian_width_value_to_long_name_v1_marker.rs.data"); include!("joining_type_value_to_short_name_v1_marker.rs.data"); -include!("line_break_value_to_short_name_v1_marker.rs.data"); -include!("script_value_to_short_name_v1_marker.rs.data"); -include!("canonical_combining_class_value_to_short_name_v1_marker.rs.data"); -include!("ascii_hex_digit_v1_marker.rs.data"); -include!("alphabetic_v1_marker.rs.data"); -include!("basic_emoji_v1_marker.rs.data"); -include!("bidi_control_v1_marker.rs.data"); -include!("bidi_mirroring_glyph_v1_marker.rs.data"); -include!("bidi_mirrored_v1_marker.rs.data"); +include!("emoji_presentation_v1_marker.rs.data"); +include!("indic_syllabic_category_value_to_long_name_v1_marker.rs.data"); +include!("indic_syllabic_category_v1_marker.rs.data"); +include!("general_category_name_to_value_v2_marker.rs.data"); +include!("logical_order_exception_v1_marker.rs.data"); +include!("regional_indicator_v1_marker.rs.data"); +include!("hex_digit_v1_marker.rs.data"); +include!("segment_starter_v1_marker.rs.data"); +include!("deprecated_v1_marker.rs.data"); +include!("soft_dotted_v1_marker.rs.data"); include!("case_ignorable_v1_marker.rs.data"); +include!("id_continue_v1_marker.rs.data"); +include!("blank_v1_marker.rs.data"); +include!("grapheme_cluster_break_value_to_long_name_v1_marker.rs.data"); +include!("sentence_break_value_to_short_name_v1_marker.rs.data"); +include!("math_v1_marker.rs.data"); +include!("variation_selector_v1_marker.rs.data"); include!("changes_when_casefolded_v1_marker.rs.data"); include!("changes_when_casemapped_v1_marker.rs.data"); -include!("changes_when_nfkc_casefolded_v1_marker.rs.data"); -include!("changes_when_lowercased_v1_marker.rs.data"); -include!("changes_when_titlecased_v1_marker.rs.data"); -include!("changes_when_uppercased_v1_marker.rs.data"); +include!("uppercase_v1_marker.rs.data"); +include!("east_asian_width_name_to_value_v2_marker.rs.data"); include!("cased_v1_marker.rs.data"); -include!("full_composition_exclusion_v1_marker.rs.data"); -include!("default_ignorable_code_point_v1_marker.rs.data"); -include!("dash_v1_marker.rs.data"); -include!("deprecated_v1_marker.rs.data"); -include!("diacritic_v1_marker.rs.data"); -include!("emoji_modifier_base_v1_marker.rs.data"); -include!("emoji_component_v1_marker.rs.data"); -include!("emoji_modifier_v1_marker.rs.data"); -include!("emoji_presentation_v1_marker.rs.data"); -include!("emoji_v1_marker.rs.data"); -include!("extender_v1_marker.rs.data"); -include!("extended_pictographic_v1_marker.rs.data"); -include!("grapheme_cluster_break_v1_marker.rs.data"); -include!("grapheme_base_v1_marker.rs.data"); -include!("grapheme_extend_v1_marker.rs.data"); -include!("grapheme_link_v1_marker.rs.data"); -include!("hex_digit_v1_marker.rs.data"); -include!("hyphen_v1_marker.rs.data"); -include!("id_continue_v1_marker.rs.data"); -include!("id_start_v1_marker.rs.data"); -include!("ids_binary_operator_v1_marker.rs.data"); -include!("ids_trinary_operator_v1_marker.rs.data"); -include!("ideographic_v1_marker.rs.data"); -include!("indic_syllabic_category_v1_marker.rs.data"); -include!("join_control_v1_marker.rs.data"); -include!("logical_order_exception_v1_marker.rs.data"); +include!("print_v1_marker.rs.data"); +include!("quotation_mark_v1_marker.rs.data"); include!("lowercase_v1_marker.rs.data"); -include!("math_v1_marker.rs.data"); -include!("noncharacter_code_point_v1_marker.rs.data"); +include!("basic_emoji_v1_marker.rs.data"); +include!("line_break_value_to_short_name_v1_marker.rs.data"); include!("prepended_concatenation_mark_v1_marker.rs.data"); -include!("pattern_syntax_v1_marker.rs.data"); -include!("pattern_white_space_v1_marker.rs.data"); -include!("quotation_mark_v1_marker.rs.data"); -include!("regional_indicator_v1_marker.rs.data"); -include!("radical_v1_marker.rs.data"); include!("sentence_break_v1_marker.rs.data"); -include!("soft_dotted_v1_marker.rs.data"); +include!("east_asian_width_v1_marker.rs.data"); +include!("changes_when_lowercased_v1_marker.rs.data"); +include!("joining_type_value_to_long_name_v1_marker.rs.data"); +include!("general_category_value_to_short_name_v1_marker.rs.data"); +include!("bidi_mirroring_glyph_v1_marker.rs.data"); +include!("bidi_class_value_to_short_name_v1_marker.rs.data"); +include!("extender_v1_marker.rs.data"); +include!("hyphen_v1_marker.rs.data"); +include!("default_ignorable_code_point_v1_marker.rs.data"); +include!("changes_when_titlecased_v1_marker.rs.data"); include!("sentence_terminal_v1_marker.rs.data"); -include!("case_sensitive_v1_marker.rs.data"); -include!("terminal_punctuation_v1_marker.rs.data"); -include!("unified_ideograph_v1_marker.rs.data"); -include!("uppercase_v1_marker.rs.data"); -include!("variation_selector_v1_marker.rs.data"); -include!("word_break_v1_marker.rs.data"); -include!("white_space_v1_marker.rs.data"); -include!("xid_continue_v1_marker.rs.data"); +include!("bidi_mirrored_v1_marker.rs.data"); +include!("extended_pictographic_v1_marker.rs.data"); +include!("bidi_class_value_to_long_name_v1_marker.rs.data"); +include!("canonical_combining_class_value_to_long_name_v1_marker.rs.data"); +include!("id_start_v1_marker.rs.data"); include!("xid_start_v1_marker.rs.data"); -include!("alnum_v1_marker.rs.data"); -include!("bidi_class_v1_marker.rs.data"); -include!("blank_v1_marker.rs.data"); -include!("canonical_combining_class_v1_marker.rs.data"); -include!("east_asian_width_v1_marker.rs.data"); +include!("xid_continue_v1_marker.rs.data"); +include!("nfkd_inert_v1_marker.rs.data"); +include!("grapheme_base_v1_marker.rs.data"); +include!("emoji_component_v1_marker.rs.data"); +include!("bidi_control_v1_marker.rs.data"); +include!("ideographic_v1_marker.rs.data"); +include!("ascii_hex_digit_v1_marker.rs.data"); +include!("grapheme_cluster_break_name_to_value_v2_marker.rs.data"); include!("general_category_v1_marker.rs.data"); +include!("changes_when_nfkc_casefolded_v1_marker.rs.data"); +include!("word_break_v1_marker.rs.data"); include!("graph_v1_marker.rs.data"); +include!("alphabetic_v1_marker.rs.data"); +include!("pattern_syntax_v1_marker.rs.data"); +include!("line_break_value_to_long_name_v1_marker.rs.data"); +include!("script_value_to_short_name_v1_marker.rs.data"); +include!("canonical_combining_class_v1_marker.rs.data"); +include!("diacritic_v1_marker.rs.data"); include!("hangul_syllable_type_v1_marker.rs.data"); -include!("joining_type_v1_marker.rs.data"); -include!("line_break_v1_marker.rs.data"); -include!("nfc_inert_v1_marker.rs.data"); -include!("nfd_inert_v1_marker.rs.data"); -include!("nfkc_inert_v1_marker.rs.data"); -include!("nfkd_inert_v1_marker.rs.data"); -include!("print_v1_marker.rs.data"); -include!("script_v1_marker.rs.data"); +include!("dash_v1_marker.rs.data"); +include!("general_category_mask_name_to_value_v2_marker.rs.data"); +include!("white_space_v1_marker.rs.data"); +include!("joining_type_name_to_value_v2_marker.rs.data"); include!("script_with_extensions_property_v1_marker.rs.data"); -include!("segment_starter_v1_marker.rs.data"); -include!("xdigit_v1_marker.rs.data"); +include!("script_value_to_long_name_v1_marker.rs.data"); +include!("bidi_class_name_to_value_v2_marker.rs.data"); +include!("radical_v1_marker.rs.data"); +include!("emoji_modifier_base_v1_marker.rs.data"); +include!("emoji_modifier_v1_marker.rs.data"); +include!("alnum_v1_marker.rs.data"); +include!("ids_binary_operator_v1_marker.rs.data"); +include!("ids_trinary_operator_v1_marker.rs.data"); +include!("canonical_combining_class_name_to_value_v2_marker.rs.data"); +include!("canonical_combining_class_value_to_short_name_v1_marker.rs.data"); +include!("indic_syllabic_category_name_to_value_v2_marker.rs.data"); +include!("unified_ideograph_v1_marker.rs.data"); +include!("general_category_value_to_long_name_v1_marker.rs.data"); +include!("nfkc_inert_v1_marker.rs.data"); +include!("full_composition_exclusion_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -145,123 +145,123 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_grapheme_cluster_break_name_to_value_v2_marker!($provider); - impl_indic_syllabic_category_name_to_value_v2_marker!($provider); - impl_sentence_break_name_to_value_v2_marker!($provider); - impl_word_break_name_to_value_v2_marker!($provider); - impl_bidi_class_name_to_value_v2_marker!($provider); - impl_canonical_combining_class_name_to_value_v2_marker!($provider); - impl_east_asian_width_name_to_value_v2_marker!($provider); - impl_general_category_name_to_value_v2_marker!($provider); - impl_general_category_mask_name_to_value_v2_marker!($provider); + impl_word_break_value_to_long_name_v1_marker!($provider); + impl_terminal_punctuation_v1_marker!($provider); impl_hangul_syllable_type_name_to_value_v2_marker!($provider); - impl_joining_type_name_to_value_v2_marker!($provider); + impl_bidi_class_v1_marker!($provider); + impl_nfd_inert_v1_marker!($provider); + impl_grapheme_cluster_break_v1_marker!($provider); + impl_hangul_syllable_type_value_to_long_name_v1_marker!($provider); + impl_xdigit_v1_marker!($provider); + impl_east_asian_width_value_to_short_name_v1_marker!($provider); + impl_line_break_v1_marker!($provider); + impl_pattern_white_space_v1_marker!($provider); impl_line_break_name_to_value_v2_marker!($provider); - impl_script_name_to_value_v2_marker!($provider); - impl_grapheme_cluster_break_value_to_long_name_v1_marker!($provider); - impl_indic_syllabic_category_value_to_long_name_v1_marker!($provider); impl_sentence_break_value_to_long_name_v1_marker!($provider); - impl_word_break_value_to_long_name_v1_marker!($provider); - impl_bidi_class_value_to_long_name_v1_marker!($provider); - impl_east_asian_width_value_to_long_name_v1_marker!($provider); - impl_general_category_value_to_long_name_v1_marker!($provider); - impl_hangul_syllable_type_value_to_long_name_v1_marker!($provider); - impl_joining_type_value_to_long_name_v1_marker!($provider); - impl_line_break_value_to_long_name_v1_marker!($provider); - impl_script_value_to_long_name_v1_marker!($provider); - impl_canonical_combining_class_value_to_long_name_v1_marker!($provider); - impl_grapheme_cluster_break_value_to_short_name_v1_marker!($provider); impl_indic_syllabic_category_value_to_short_name_v1_marker!($provider); - impl_sentence_break_value_to_short_name_v1_marker!($provider); - impl_word_break_value_to_short_name_v1_marker!($provider); - impl_bidi_class_value_to_short_name_v1_marker!($provider); - impl_east_asian_width_value_to_short_name_v1_marker!($provider); - impl_general_category_value_to_short_name_v1_marker!($provider); + impl_sentence_break_name_to_value_v2_marker!($provider); + impl_grapheme_extend_v1_marker!($provider); + impl_case_sensitive_v1_marker!($provider); + impl_script_v1_marker!($provider); + impl_grapheme_cluster_break_value_to_short_name_v1_marker!($provider); + impl_grapheme_link_v1_marker!($provider); + impl_nfc_inert_v1_marker!($provider); + impl_word_break_name_to_value_v2_marker!($provider); impl_hangul_syllable_type_value_to_short_name_v1_marker!($provider); + impl_script_name_to_value_v2_marker!($provider); + impl_joining_type_v1_marker!($provider); + impl_noncharacter_code_point_v1_marker!($provider); + impl_changes_when_uppercased_v1_marker!($provider); + impl_emoji_v1_marker!($provider); + impl_join_control_v1_marker!($provider); + impl_word_break_value_to_short_name_v1_marker!($provider); + impl_east_asian_width_value_to_long_name_v1_marker!($provider); impl_joining_type_value_to_short_name_v1_marker!($provider); - impl_line_break_value_to_short_name_v1_marker!($provider); - impl_script_value_to_short_name_v1_marker!($provider); - impl_canonical_combining_class_value_to_short_name_v1_marker!($provider); - impl_ascii_hex_digit_v1_marker!($provider); - impl_alphabetic_v1_marker!($provider); - impl_basic_emoji_v1_marker!($provider); - impl_bidi_control_v1_marker!($provider); - impl_bidi_mirroring_glyph_v1_marker!($provider); - impl_bidi_mirrored_v1_marker!($provider); + impl_emoji_presentation_v1_marker!($provider); + impl_indic_syllabic_category_value_to_long_name_v1_marker!($provider); + impl_indic_syllabic_category_v1_marker!($provider); + impl_general_category_name_to_value_v2_marker!($provider); + impl_logical_order_exception_v1_marker!($provider); + impl_regional_indicator_v1_marker!($provider); + impl_hex_digit_v1_marker!($provider); + impl_segment_starter_v1_marker!($provider); + impl_deprecated_v1_marker!($provider); + impl_soft_dotted_v1_marker!($provider); impl_case_ignorable_v1_marker!($provider); + impl_id_continue_v1_marker!($provider); + impl_blank_v1_marker!($provider); + impl_grapheme_cluster_break_value_to_long_name_v1_marker!($provider); + impl_sentence_break_value_to_short_name_v1_marker!($provider); + impl_math_v1_marker!($provider); + impl_variation_selector_v1_marker!($provider); impl_changes_when_casefolded_v1_marker!($provider); impl_changes_when_casemapped_v1_marker!($provider); - impl_changes_when_nfkc_casefolded_v1_marker!($provider); - impl_changes_when_lowercased_v1_marker!($provider); - impl_changes_when_titlecased_v1_marker!($provider); - impl_changes_when_uppercased_v1_marker!($provider); + impl_uppercase_v1_marker!($provider); + impl_east_asian_width_name_to_value_v2_marker!($provider); impl_cased_v1_marker!($provider); - impl_full_composition_exclusion_v1_marker!($provider); - impl_default_ignorable_code_point_v1_marker!($provider); - impl_dash_v1_marker!($provider); - impl_deprecated_v1_marker!($provider); - impl_diacritic_v1_marker!($provider); - impl_emoji_modifier_base_v1_marker!($provider); - impl_emoji_component_v1_marker!($provider); - impl_emoji_modifier_v1_marker!($provider); - impl_emoji_presentation_v1_marker!($provider); - impl_emoji_v1_marker!($provider); - impl_extender_v1_marker!($provider); - impl_extended_pictographic_v1_marker!($provider); - impl_grapheme_cluster_break_v1_marker!($provider); - impl_grapheme_base_v1_marker!($provider); - impl_grapheme_extend_v1_marker!($provider); - impl_grapheme_link_v1_marker!($provider); - impl_hex_digit_v1_marker!($provider); - impl_hyphen_v1_marker!($provider); - impl_id_continue_v1_marker!($provider); - impl_id_start_v1_marker!($provider); - impl_ids_binary_operator_v1_marker!($provider); - impl_ids_trinary_operator_v1_marker!($provider); - impl_ideographic_v1_marker!($provider); - impl_indic_syllabic_category_v1_marker!($provider); - impl_join_control_v1_marker!($provider); - impl_logical_order_exception_v1_marker!($provider); + impl_print_v1_marker!($provider); + impl_quotation_mark_v1_marker!($provider); impl_lowercase_v1_marker!($provider); - impl_math_v1_marker!($provider); - impl_noncharacter_code_point_v1_marker!($provider); + impl_basic_emoji_v1_marker!($provider); + impl_line_break_value_to_short_name_v1_marker!($provider); impl_prepended_concatenation_mark_v1_marker!($provider); - impl_pattern_syntax_v1_marker!($provider); - impl_pattern_white_space_v1_marker!($provider); - impl_quotation_mark_v1_marker!($provider); - impl_regional_indicator_v1_marker!($provider); - impl_radical_v1_marker!($provider); impl_sentence_break_v1_marker!($provider); - impl_soft_dotted_v1_marker!($provider); + impl_east_asian_width_v1_marker!($provider); + impl_changes_when_lowercased_v1_marker!($provider); + impl_joining_type_value_to_long_name_v1_marker!($provider); + impl_general_category_value_to_short_name_v1_marker!($provider); + impl_bidi_mirroring_glyph_v1_marker!($provider); + impl_bidi_class_value_to_short_name_v1_marker!($provider); + impl_extender_v1_marker!($provider); + impl_hyphen_v1_marker!($provider); + impl_default_ignorable_code_point_v1_marker!($provider); + impl_changes_when_titlecased_v1_marker!($provider); impl_sentence_terminal_v1_marker!($provider); - impl_case_sensitive_v1_marker!($provider); - impl_terminal_punctuation_v1_marker!($provider); - impl_unified_ideograph_v1_marker!($provider); - impl_uppercase_v1_marker!($provider); - impl_variation_selector_v1_marker!($provider); - impl_word_break_v1_marker!($provider); - impl_white_space_v1_marker!($provider); - impl_xid_continue_v1_marker!($provider); + impl_bidi_mirrored_v1_marker!($provider); + impl_extended_pictographic_v1_marker!($provider); + impl_bidi_class_value_to_long_name_v1_marker!($provider); + impl_canonical_combining_class_value_to_long_name_v1_marker!($provider); + impl_id_start_v1_marker!($provider); impl_xid_start_v1_marker!($provider); - impl_alnum_v1_marker!($provider); - impl_bidi_class_v1_marker!($provider); - impl_blank_v1_marker!($provider); - impl_canonical_combining_class_v1_marker!($provider); - impl_east_asian_width_v1_marker!($provider); + impl_xid_continue_v1_marker!($provider); + impl_nfkd_inert_v1_marker!($provider); + impl_grapheme_base_v1_marker!($provider); + impl_emoji_component_v1_marker!($provider); + impl_bidi_control_v1_marker!($provider); + impl_ideographic_v1_marker!($provider); + impl_ascii_hex_digit_v1_marker!($provider); + impl_grapheme_cluster_break_name_to_value_v2_marker!($provider); impl_general_category_v1_marker!($provider); + impl_changes_when_nfkc_casefolded_v1_marker!($provider); + impl_word_break_v1_marker!($provider); impl_graph_v1_marker!($provider); + impl_alphabetic_v1_marker!($provider); + impl_pattern_syntax_v1_marker!($provider); + impl_line_break_value_to_long_name_v1_marker!($provider); + impl_script_value_to_short_name_v1_marker!($provider); + impl_canonical_combining_class_v1_marker!($provider); + impl_diacritic_v1_marker!($provider); impl_hangul_syllable_type_v1_marker!($provider); - impl_joining_type_v1_marker!($provider); - impl_line_break_v1_marker!($provider); - impl_nfc_inert_v1_marker!($provider); - impl_nfd_inert_v1_marker!($provider); - impl_nfkc_inert_v1_marker!($provider); - impl_nfkd_inert_v1_marker!($provider); - impl_print_v1_marker!($provider); - impl_script_v1_marker!($provider); + impl_dash_v1_marker!($provider); + impl_general_category_mask_name_to_value_v2_marker!($provider); + impl_white_space_v1_marker!($provider); + impl_joining_type_name_to_value_v2_marker!($provider); impl_script_with_extensions_property_v1_marker!($provider); - impl_segment_starter_v1_marker!($provider); - impl_xdigit_v1_marker!($provider); + impl_script_value_to_long_name_v1_marker!($provider); + impl_bidi_class_name_to_value_v2_marker!($provider); + impl_radical_v1_marker!($provider); + impl_emoji_modifier_base_v1_marker!($provider); + impl_emoji_modifier_v1_marker!($provider); + impl_alnum_v1_marker!($provider); + impl_ids_binary_operator_v1_marker!($provider); + impl_ids_trinary_operator_v1_marker!($provider); + impl_canonical_combining_class_name_to_value_v2_marker!($provider); + impl_canonical_combining_class_value_to_short_name_v1_marker!($provider); + impl_indic_syllabic_category_name_to_value_v2_marker!($provider); + impl_unified_ideograph_v1_marker!($provider); + impl_general_category_value_to_long_name_v1_marker!($provider); + impl_nfkc_inert_v1_marker!($provider); + impl_full_composition_exclusion_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -270,124 +270,124 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/segmenter/data/mod.rs b/provider/data/segmenter/data/mod.rs index 86d8dc88293..f24241b2f7a 100644 --- a/provider/data/segmenter/data/mod.rs +++ b/provider/data/segmenter/data/mod.rs @@ -1,13 +1,13 @@ // @generated -include!("dictionary_for_word_only_auto_v1_marker.rs.data"); -include!("dictionary_for_word_line_extended_v1_marker.rs.data"); -include!("grapheme_cluster_break_data_v2_marker.rs.data"); -include!("line_break_data_v2_marker.rs.data"); +include!("word_break_data_v2_marker.rs.data"); include!("lstm_for_word_line_auto_v1_marker.rs.data"); -include!("sentence_break_data_override_v1_marker.rs.data"); include!("sentence_break_data_v2_marker.rs.data"); +include!("line_break_data_v2_marker.rs.data"); +include!("dictionary_for_word_only_auto_v1_marker.rs.data"); +include!("grapheme_cluster_break_data_v2_marker.rs.data"); include!("word_break_data_override_v1_marker.rs.data"); -include!("word_break_data_v2_marker.rs.data"); +include!("dictionary_for_word_line_extended_v1_marker.rs.data"); +include!("sentence_break_data_override_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -37,15 +37,15 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_dictionary_for_word_only_auto_v1_marker!($provider); - impl_dictionary_for_word_line_extended_v1_marker!($provider); - impl_grapheme_cluster_break_data_v2_marker!($provider); - impl_line_break_data_v2_marker!($provider); + impl_word_break_data_v2_marker!($provider); impl_lstm_for_word_line_auto_v1_marker!($provider); - impl_sentence_break_data_override_v1_marker!($provider); impl_sentence_break_data_v2_marker!($provider); + impl_line_break_data_v2_marker!($provider); + impl_dictionary_for_word_only_auto_v1_marker!($provider); + impl_grapheme_cluster_break_data_v2_marker!($provider); impl_word_break_data_override_v1_marker!($provider); - impl_word_break_data_v2_marker!($provider); + impl_dictionary_for_word_line_extended_v1_marker!($provider); + impl_sentence_break_data_override_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -54,16 +54,16 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/segmenter/stubdata/mod.rs b/provider/data/segmenter/stubdata/mod.rs index 86d8dc88293..f24241b2f7a 100644 --- a/provider/data/segmenter/stubdata/mod.rs +++ b/provider/data/segmenter/stubdata/mod.rs @@ -1,13 +1,13 @@ // @generated -include!("dictionary_for_word_only_auto_v1_marker.rs.data"); -include!("dictionary_for_word_line_extended_v1_marker.rs.data"); -include!("grapheme_cluster_break_data_v2_marker.rs.data"); -include!("line_break_data_v2_marker.rs.data"); +include!("word_break_data_v2_marker.rs.data"); include!("lstm_for_word_line_auto_v1_marker.rs.data"); -include!("sentence_break_data_override_v1_marker.rs.data"); include!("sentence_break_data_v2_marker.rs.data"); +include!("line_break_data_v2_marker.rs.data"); +include!("dictionary_for_word_only_auto_v1_marker.rs.data"); +include!("grapheme_cluster_break_data_v2_marker.rs.data"); include!("word_break_data_override_v1_marker.rs.data"); -include!("word_break_data_v2_marker.rs.data"); +include!("dictionary_for_word_line_extended_v1_marker.rs.data"); +include!("sentence_break_data_override_v1_marker.rs.data"); /// Marks a type as a data provider. You can then use macros like /// `impl_core_helloworld_v1` to add implementations. /// @@ -37,15 +37,15 @@ pub use __make_provider as make_provider; macro_rules! impl_data_provider { ($ provider : ty) => { make_provider!($provider); - impl_dictionary_for_word_only_auto_v1_marker!($provider); - impl_dictionary_for_word_line_extended_v1_marker!($provider); - impl_grapheme_cluster_break_data_v2_marker!($provider); - impl_line_break_data_v2_marker!($provider); + impl_word_break_data_v2_marker!($provider); impl_lstm_for_word_line_auto_v1_marker!($provider); - impl_sentence_break_data_override_v1_marker!($provider); impl_sentence_break_data_v2_marker!($provider); + impl_line_break_data_v2_marker!($provider); + impl_dictionary_for_word_only_auto_v1_marker!($provider); + impl_grapheme_cluster_break_data_v2_marker!($provider); impl_word_break_data_override_v1_marker!($provider); - impl_word_break_data_v2_marker!($provider); + impl_dictionary_for_word_line_extended_v1_marker!($provider); + impl_sentence_break_data_override_v1_marker!($provider); }; } #[allow(unused_macros)] @@ -54,16 +54,16 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/timezone/data/mod.rs b/provider/data/timezone/data/mod.rs index 7a77162e0c8..34040a73813 100644 --- a/provider/data/timezone/data/mod.rs +++ b/provider/data/timezone/data/mod.rs @@ -44,11 +44,11 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/data/timezone/stubdata/mod.rs b/provider/data/timezone/stubdata/mod.rs index 7a77162e0c8..34040a73813 100644 --- a/provider/data/timezone/stubdata/mod.rs +++ b/provider/data/timezone/stubdata/mod.rs @@ -44,11 +44,11 @@ macro_rules! impl_any_provider { #[clippy::msrv = "1.81"] impl icu_provider::any::AnyProvider for $provider { fn load_any(&self, marker: icu_provider::DataMarkerInfo, req: icu_provider::DataRequest) -> Result { - match marker.path.hashed() { - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), - h if h == ::INFO.path.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + match marker.id.hashed() { + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), + h if h == ::INFO.id.hashed() => icu_provider::DataProvider::::load(self, req).map(icu_provider::DataResponse::wrap_into_any_response), _ => Err(icu_provider::DataErrorKind::MarkerNotFound.with_req(marker, req)), } } diff --git a/provider/fs/Cargo.toml b/provider/fs/Cargo.toml index d05fbbbaf0c..bf800a45b68 100644 --- a/provider/fs/Cargo.toml +++ b/provider/fs/Cargo.toml @@ -22,6 +22,7 @@ all-features = true [dependencies] displaydoc = { workspace = true } icu_provider = { workspace = true, features = ["serde", "std"] } +icu_provider_registry = { workspace = true } serde = { workspace = true, features = ["derive", "alloc"] } serde-json-core = { workspace = true, features = ["std"] } diff --git a/provider/fs/src/datapath.rs b/provider/fs/src/datapath.rs new file mode 100644 index 00000000000..c7986efdf40 --- /dev/null +++ b/provider/fs/src/datapath.rs @@ -0,0 +1,38 @@ +// This file is part of ICU4X. For terms of use, please see the file +// called LICENSE at the top level of the ICU4X source tree +// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). + +use icu_provider::marker::*; +use std::collections::HashMap; +use std::sync::OnceLock; + +macro_rules! cb { + ($($marker:path = $path:literal,)+ #[experimental] $($emarker:path = $epath:literal,)+) => { + pub(crate) fn get_data_marker_id(marker: DataMarkerId) -> Option<&'static str> { + static LOOKUP: OnceLock> = OnceLock::new(); + let lookup = LOOKUP.get_or_init(|| { + [ + (data_marker_id!("core/helloworld@1").hashed(), "core/helloworld@1"), + $( + (data_marker_id!($path).hashed(), $path), + )+ + $( + (data_marker_id!($epath).hashed(), $epath), + )+ + ] + .into_iter() + .collect() + }); + lookup.get(&marker.hashed()).map(|v| &**v) + } + } +} +icu_provider_registry::registry!(cb); + +#[test] +fn test_path_to_string() { + assert_eq!( + get_data_marker_id(data_marker_id!("core/helloworld@1")).unwrap(), + "core/helloworld@1" + ); +} diff --git a/provider/fs/src/export/fs_exporter.rs b/provider/fs/src/export/fs_exporter.rs index 9cf39435142..4675aed0fdc 100644 --- a/provider/fs/src/export/fs_exporter.rs +++ b/provider/fs/src/export/fs_exporter.rs @@ -3,6 +3,7 @@ // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). use super::serializers::AbstractSerializer; +use crate::datapath::get_data_marker_id; use crate::manifest::Manifest; use icu_provider::export::*; use icu_provider::prelude::*; @@ -105,7 +106,10 @@ impl DataExporter for FilesystemExporter { id: DataIdentifierBorrowed, obj: &DataPayload, ) -> Result<(), DataError> { - let mut path_buf = self.root.join(marker.path.as_str()); + let Some(path) = get_data_marker_id(marker.id) else { + return Err(DataErrorKind::MarkerNotFound.with_marker(marker)); + }; + let mut path_buf = self.root.join(path); if !id.marker_attributes.is_empty() { path_buf.push(id.marker_attributes.as_str()); } @@ -145,7 +149,10 @@ impl DataExporter for FilesystemExporter { } fn flush(&self, marker: DataMarkerInfo, _metadata: FlushMetadata) -> Result<(), DataError> { - let mut path_buf = self.root.join(marker.path.as_str()); + let Some(path) = get_data_marker_id(marker.id) else { + return Err(DataErrorKind::MarkerNotFound.with_marker(marker)); + }; + let mut path_buf = self.root.join(path); if !marker.is_singleton && !path_buf.exists() { fs::create_dir_all(&path_buf) diff --git a/provider/fs/src/fs_data_provider.rs b/provider/fs/src/fs_data_provider.rs index fb99ba93b2f..11b0682af4c 100644 --- a/provider/fs/src/fs_data_provider.rs +++ b/provider/fs/src/fs_data_provider.rs @@ -2,6 +2,7 @@ // called LICENSE at the top level of the ICU4X source tree // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). +use crate::datapath::get_data_marker_id; use crate::manifest::Manifest; use icu_provider::prelude::*; use icu_provider::DynamicDryDataProvider; @@ -68,7 +69,10 @@ impl FsDataProvider { if marker.is_singleton && !req.id.locale.is_default() { return Err(DataErrorKind::InvalidRequest.with_req(marker, req)); } - let mut path = self.root.join(marker.path.as_str()); + let Some(path) = get_data_marker_id(marker.id) else { + return Err(DataErrorKind::MarkerNotFound.with_req(marker, req)); + }; + let mut path = self.root.join(path); if !path.exists() { return Err(DataErrorKind::MarkerNotFound.with_req(marker, req)); } diff --git a/provider/fs/src/lib.rs b/provider/fs/src/lib.rs index 482d416bb17..f9d3ed6543a 100644 --- a/provider/fs/src/lib.rs +++ b/provider/fs/src/lib.rs @@ -92,6 +92,7 @@ )] #![warn(missing_docs)] +mod datapath; mod fs_data_provider; mod manifest; diff --git a/provider/fs/tests/test_file_io.rs b/provider/fs/tests/test_file_io.rs index 9f2865c73d8..465ca97fdfb 100644 --- a/provider/fs/tests/test_file_io.rs +++ b/provider/fs/tests/test_file_io.rs @@ -73,7 +73,7 @@ fn test_errors() { } impl DataMarker for WrongV1Marker { const INFO: DataMarkerInfo = - DataMarkerInfo::from_path(icu_provider::marker::data_marker_path!("nope@1")); + DataMarkerInfo::from_id(icu_provider::marker::data_marker_id!("nope@1")); } let err: Result, DataError> = diff --git a/provider/registry/src/lib.rs b/provider/registry/src/lib.rs index 14d01a7bd80..a51252556df 100644 --- a/provider/registry/src/lib.rs +++ b/provider/registry/src/lib.rs @@ -308,12 +308,12 @@ macro_rules! cb { <$emarker>::INFO, )+ ] { - if let Some(colliding_marker) = map.insert(marker.path.hashed(), marker) { + if let Some(colliding_marker) = map.insert(marker.id.hashed(), marker) { println!( "{:?} and {:?} collide at {:?}", - marker.path, - colliding_marker.path, - marker.path.hashed(), + marker.id, + colliding_marker.id, + marker.id.hashed(), ); failed = true; } @@ -326,12 +326,13 @@ macro_rules! cb { #[test] fn test_paths_correct() { use icu_provider::prelude::*; + use icu_provider::marker::data_marker_id; $( - assert_eq!(<$marker>::INFO.path.as_str(), $path); + assert_eq!(<$marker>::INFO.id, data_marker_id!($path)); )+ $( - assert_eq!(<$emarker>::INFO.path.as_str(), $epath); + assert_eq!(<$emarker>::INFO.id, data_marker_id!($epath)); )+ } } diff --git a/provider/source/src/lib.rs b/provider/source/src/lib.rs index cd835a47e70..60387052aa3 100644 --- a/provider/source/src/lib.rs +++ b/provider/source/src/lib.rs @@ -294,25 +294,25 @@ impl SourceDataProvider { /// Identifies errors that are due to missing CLDR data. pub fn is_missing_cldr_error(mut e: DataError) -> bool { - e.marker_path = None; + e.marker = None; e == Self::MISSING_CLDR_ERROR } /// Identifies errors that are due to missing ICU export data. pub fn is_missing_icuexport_error(mut e: DataError) -> bool { - e.marker_path = None; + e.marker = None; e == Self::MISSING_ICUEXPORT_ERROR } /// Identifies errors that are due to missing segmenter LSTM data. pub fn is_missing_segmenter_lstm_error(mut e: DataError) -> bool { - e.marker_path = None; + e.marker = None; e == Self::MISSING_SEGMENTER_LSTM_ERROR } /// Identifies errors that are due to missing TZDB data. pub fn is_missing_tzdb_error(mut e: DataError) -> bool { - e.marker_path = None; + e.marker = None; e == Self::MISSING_TZDB_ERROR } diff --git a/provider/source/src/tests/make_testdata.rs b/provider/source/src/tests/make_testdata.rs index 2cb0f773d62..f9ebe557c51 100644 --- a/provider/source/src/tests/make_testdata.rs +++ b/provider/source/src/tests/make_testdata.rs @@ -105,9 +105,9 @@ const EXPECTED_TRANSIENT_VIOLATIONS: &[DataMarkerInfo] = &[ // Regex DFAs need to be validated, which involved creating a BTreeMap. // If required we could avoid this using one of the approaches in // https://github.com/unicode-org/icu4x/pulls/3697. - icu::list::provider::AndListV2Marker::INFO, icu::list::provider::OrListV2Marker::INFO, icu::list::provider::UnitListV2Marker::INFO, + icu::list::provider::AndListV2Marker::INFO, ]; impl DataExporter for ZeroCopyCheckExporter { diff --git a/tools/make/depcheck/src/allowlist.rs b/tools/make/depcheck/src/allowlist.rs index 1860a09be31..775cbd05d5e 100644 --- a/tools/make/depcheck/src/allowlist.rs +++ b/tools/make/depcheck/src/allowlist.rs @@ -144,7 +144,11 @@ pub const EXTRA_BLOB_DEPS: &[&str] = &["cobs", "icu_provider_blob", "postcard"]; /// This shuld rarely change /// /// Keep in sync with Cargo.toml crates.io dependencies. -pub const EXTRA_FS_DEPS: &[&str] = &["icu_provider_fs", "serde-json-core"]; +pub const EXTRA_FS_DEPS: &[&str] = &[ + "icu_provider_fs", + "icu_provider_registry", + "serde-json-core", +]; /// Dependencies needed by datagen provider (not counting `log` and `zip` deps) /// This might change semi frequently but we should try and keep this small. diff --git a/tutorials/rust/buffer/Cargo.lock b/tutorials/rust/buffer/Cargo.lock index 572048d9647..d9b92c5bafa 100644 --- a/tutorials/rust/buffer/Cargo.lock +++ b/tutorials/rust/buffer/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "autocfg"