#![allow(clippy::exhaustive_structs, clippy::exhaustive_enums)]
#[cfg(feature = "compiled_data")]
#[derive(Debug)]
pub struct Baked;
#[cfg(feature = "compiled_data")]
#[allow(unused_imports)]
const _: () = {
use icu_locale_fallback_data::*;
pub mod icu {
pub mod locale {
pub use crate as fallback;
}
}
pub use crate as icu_locale_fallback;
make_provider!(Baked);
impl_locale_likely_subtags_language_v1!(Baked);
impl_locale_parents_v1!(Baked);
};
icu_provider::data_marker!(
LocaleLikelySubtagsLanguageV1,
"locale/likely/subtags/language/v1",
LikelySubtagsForLanguage<'static>,
is_singleton = true
);
icu_provider::data_marker!(
LocaleParentsV1,
"locale/parents/v1",
Parents<'static>,
is_singleton = true
);
#[cfg(feature = "datagen")]
pub const MARKERS: &[DataMarkerInfo] =
&[LocaleLikelySubtagsLanguageV1::INFO, LocaleParentsV1::INFO];
use icu_locale_core::subtags::{Language, Region, Script};
use icu_provider::prelude::*;
use potential_utf::PotentialUtf8;
use tinystr::UnvalidatedTinyAsciiStr;
use zerovec::ZeroMap;
type UnvalidatedLanguage = UnvalidatedTinyAsciiStr<3>;
type UnvalidatedScript = UnvalidatedTinyAsciiStr<4>;
type UnvalidatedRegion = UnvalidatedTinyAsciiStr<3>;
#[derive(Debug, PartialEq, Clone, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_locale_fallback::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[yoke(prove_covariance_manually)]
pub struct LikelySubtagsForLanguage<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub language_script: ZeroMap<'data, (UnvalidatedLanguage, UnvalidatedScript), Region>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub language_region: ZeroMap<'data, (UnvalidatedLanguage, UnvalidatedRegion), Script>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub language: ZeroMap<'data, UnvalidatedLanguage, (Script, Region)>,
pub und: (Language, Script, Region),
}
icu_provider::data_struct!(
LikelySubtagsForLanguage<'_>,
#[cfg(feature = "datagen")]
);
#[derive(Default, Clone, PartialEq, Debug, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_locale_fallback::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[yoke(prove_covariance_manually)]
pub struct Parents<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub parents: ZeroMap<'data, PotentialUtf8, (Language, Option<Script>, Option<Region>)>,
}
icu_provider::data_struct!(
Parents<'_>,
#[cfg(feature = "datagen")]
);