1 // @generated 2 include!("locale_likely_subtags_language_v1.rs.data"); 3 include!("locale_parents_v1.rs.data"); 4 include!("locale_exemplar_characters_main_v1.rs.data"); 5 include!("locale_exemplar_characters_numbers_v1.rs.data"); 6 include!("locale_aliases_v1.rs.data"); 7 include!("locale_exemplar_characters_index_v1.rs.data"); 8 include!("locale_exemplar_characters_auxiliary_v1.rs.data"); 9 include!("locale_likely_subtags_extended_v1.rs.data"); 10 include!("locale_script_direction_v1.rs.data"); 11 include!("locale_likely_subtags_script_region_v1.rs.data"); 12 include!("locale_exemplar_characters_punctuation_v1.rs.data"); 13 /// Marks a type as a data provider. You can then use macros like 14 /// `impl_core_helloworld_v1` to add implementations. 15 /// 16 /// ```ignore 17 /// struct MyProvider; 18 /// const _: () = { 19 /// include!("path/to/generated/macros.rs"); 20 /// make_provider!(MyProvider); 21 /// impl_core_helloworld_v1!(MyProvider); 22 /// } 23 /// ``` 24 #[doc(hidden)] 25 #[macro_export] 26 macro_rules! __make_provider { 27 ($ name : ty) => { 28 #[clippy::msrv = "1.81"] 29 impl $name { 30 #[allow(dead_code)] 31 pub(crate) const MUST_USE_MAKE_PROVIDER_MACRO: () = (); 32 } 33 icu_provider::marker::impl_data_provider_never_marker!($name); 34 }; 35 } 36 #[doc(inline)] 37 pub use __make_provider as make_provider; 38 #[allow(unused_macros)] 39 macro_rules! impl_data_provider { 40 ($ provider : ty) => { 41 make_provider!($provider); 42 impl_locale_likely_subtags_language_v1!($provider); 43 impl_locale_parents_v1!($provider); 44 impl_locale_exemplar_characters_main_v1!($provider); 45 impl_locale_exemplar_characters_numbers_v1!($provider); 46 impl_locale_aliases_v1!($provider); 47 impl_locale_exemplar_characters_index_v1!($provider); 48 impl_locale_exemplar_characters_auxiliary_v1!($provider); 49 impl_locale_likely_subtags_extended_v1!($provider); 50 impl_locale_script_direction_v1!($provider); 51 impl_locale_likely_subtags_script_region_v1!($provider); 52 impl_locale_exemplar_characters_punctuation_v1!($provider); 53 }; 54 } 55