1 // @generated 2 include!("case_map_unfold_v1.rs.data"); 3 include!("case_map_v1.rs.data"); 4 /// Marks a type as a data provider. You can then use macros like 5 /// `impl_core_helloworld_v1` to add implementations. 6 /// 7 /// ```ignore 8 /// struct MyProvider; 9 /// const _: () = { 10 /// include!("path/to/generated/macros.rs"); 11 /// make_provider!(MyProvider); 12 /// impl_core_helloworld_v1!(MyProvider); 13 /// } 14 /// ``` 15 #[doc(hidden)] 16 #[macro_export] 17 macro_rules! __make_provider { 18 ($ name : ty) => { 19 #[clippy::msrv = "1.81"] 20 impl $name { 21 #[allow(dead_code)] 22 pub(crate) const MUST_USE_MAKE_PROVIDER_MACRO: () = (); 23 } 24 icu_provider::marker::impl_data_provider_never_marker!($name); 25 }; 26 } 27 #[doc(inline)] 28 pub use __make_provider as make_provider; 29 #[allow(unused_macros)] 30 macro_rules! impl_data_provider { 31 ($ provider : ty) => { 32 make_provider!($provider); 33 impl_case_map_unfold_v1!($provider); 34 impl_case_map_v1!($provider); 35 }; 36 } 37