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