include!("segmenter_break_grapheme_cluster_v1.rs.data");
include!("segmenter_break_word_v1.rs.data");
include!("segmenter_break_word_override_v1.rs.data");
#[doc = r" Marks a type as a data provider. You can then use macros like"]
#[doc = r" `impl_core_helloworld_v1` to add implementations."]
#[doc = r""]
#[doc = r" ```ignore"]
#[doc = r" struct MyProvider;"]
#[doc = r" const _: () = {"]
#[doc = r#" include!("path/to/generated/macros.rs");"#]
#[doc = r" make_provider!(MyProvider);"]
#[doc = r" impl_core_helloworld_v1!(MyProvider);"]
#[doc = r" }"]
#[doc = r" ```"]
#[doc(hidden)]
#[macro_export]
macro_rules! __make_provider {
($ name : ty) => {
#[clippy::msrv = "1.83"]
impl $name {
#[allow(dead_code)]
pub(crate) const MUST_USE_MAKE_PROVIDER_MACRO: () = ();
}
icu_provider::marker::impl_data_provider_never_marker!($name);
};
}
#[doc(inline)]
pub use __make_provider as make_provider;
#[doc = r" This macro requires the following crates:"]
#[doc = " * `icu_collections`"]
#[doc = " * `icu_provider`"]
#[doc = " * `icu_segmenter`"]
#[doc = " * `zerovec`"]
#[allow(unused_macros)]
macro_rules! impl_data_provider {
($ provider : ty) => {
make_provider!($provider);
impl_segmenter_break_grapheme_cluster_v1!($provider);
impl_segmenter_break_word_v1!($provider);
impl_segmenter_break_word_override_v1!($provider);
};
}