• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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