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