#![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_data::*;
pub mod icu {
pub use crate as locale;
pub use icu_collections as collections;
}
make_provider!(Baked);
impl_locale_aliases_v1!(Baked);
impl_locale_likely_subtags_extended_v1!(Baked);
impl_locale_likely_subtags_language_v1!(Baked);
impl_locale_likely_subtags_script_region_v1!(Baked);
impl_locale_parents_v1!(Baked);
impl_locale_script_direction_v1!(Baked);
impl_locale_exemplar_characters_auxiliary_v1!(Baked);
impl_locale_exemplar_characters_index_v1!(Baked);
impl_locale_exemplar_characters_main_v1!(Baked);
impl_locale_exemplar_characters_numbers_v1!(Baked);
impl_locale_exemplar_characters_punctuation_v1!(Baked);
};
icu_provider::data_marker!(
LocaleAliasesV1,
"locale/aliases/v1",
Aliases<'static>,
is_singleton = true
);
icu_provider::data_marker!(
LocaleLikelySubtagsLanguageV1,
"locale/likely/subtags/language/v1",
LikelySubtagsForLanguage<'static>,
is_singleton = true
);
icu_provider::data_marker!(
LocaleLikelySubtagsScriptRegionV1,
"locale/likely/subtags/script/region/v1",
LikelySubtagsForScriptRegion<'static>,
is_singleton = true
);
icu_provider::data_marker!(
LocaleLikelySubtagsExtendedV1,
"locale/likely/subtags/extended/v1",
LikelySubtagsExtended<'static>,
is_singleton = true
);
icu_provider::data_marker!(
LocaleParentsV1,
"locale/parents/v1",
Parents<'static>,
is_singleton = true
);
icu_provider::data_marker!(
LocaleScriptDirectionV1,
"locale/script/direction/v1",
ScriptDirection<'static>,
is_singleton = true
);
icu_provider::data_marker!(
LocaleExemplarCharactersAuxiliaryV1,
"locale/exemplar/characters/auxiliary/v1",
ExemplarCharactersData<'static>,
);
icu_provider::data_marker!(
LocaleExemplarCharactersIndexV1,
"locale/exemplar/characters/index/v1",
ExemplarCharactersData<'static>,
);
icu_provider::data_marker!(
LocaleExemplarCharactersMainV1,
"locale/exemplar/characters/main/v1",
ExemplarCharactersData<'static>,
);
icu_provider::data_marker!(
LocaleExemplarCharactersNumbersV1,
"locale/exemplar/characters/numbers/v1",
ExemplarCharactersData<'static>,
);
icu_provider::data_marker!(
LocaleExemplarCharactersPunctuationV1,
"locale/exemplar/characters/punctuation/v1",
ExemplarCharactersData<'static>,
);
#[cfg(feature = "datagen")]
pub const MARKERS: &[DataMarkerInfo] = &[
LocaleAliasesV1::INFO,
LocaleExemplarCharactersAuxiliaryV1::INFO,
LocaleExemplarCharactersIndexV1::INFO,
LocaleExemplarCharactersMainV1::INFO,
LocaleExemplarCharactersNumbersV1::INFO,
LocaleExemplarCharactersPunctuationV1::INFO,
LocaleLikelySubtagsExtendedV1::INFO,
LocaleLikelySubtagsLanguageV1::INFO,
LocaleLikelySubtagsScriptRegionV1::INFO,
LocaleParentsV1::INFO,
LocaleScriptDirectionV1::INFO,
];
use alloc::borrow::Cow;
use icu_collections::codepointinvliststringlist::CodePointInversionListAndStringList;
use icu_locale_core::subtags::{Language, Region, Script, Variant};
use icu_provider::prelude::*;
use potential_utf::PotentialUtf8;
use tinystr::{TinyAsciiStr, UnvalidatedTinyAsciiStr};
use zerovec::{VarZeroVec, ZeroMap, ZeroSlice, ZeroVec};
type UnvalidatedLanguage = UnvalidatedTinyAsciiStr<3>;
type UnvalidatedScript = UnvalidatedTinyAsciiStr<4>;
type UnvalidatedRegion = UnvalidatedTinyAsciiStr<3>;
type UnvalidatedVariant = UnvalidatedTinyAsciiStr<8>;
type UnvalidatedSubdivision = UnvalidatedTinyAsciiStr<7>;
type SemivalidatedSubdivision = TinyAsciiStr<7>;
type UnvalidatedLanguageIdentifier = str;
type UnvalidatedLanguageIdentifierPair = StrStrPairVarULE;
type UnvalidatedLanguageVariantsPair = LanguageStrStrPairVarULE;
#[zerovec::make_varule(StrStrPairVarULE)]
#[zerovec::derive(Debug)]
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Debug)]
#[cfg_attr(
feature = "serde",
derive(serde::Deserialize),
zerovec::derive(Deserialize)
)]
#[cfg_attr(
feature = "datagen",
derive(serde::Serialize, databake::Bake),
zerovec::derive(Serialize),
databake(path = icu_locale::provider),
)]
pub struct StrStrPair<'a>(
#[cfg_attr(feature = "serde", serde(borrow))] pub Cow<'a, str>,
#[cfg_attr(feature = "serde", serde(borrow))] pub Cow<'a, str>,
);
#[zerovec::make_varule(LanguageStrStrPairVarULE)]
#[zerovec::derive(Debug)]
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Debug)]
#[cfg_attr(
feature = "serde",
derive(serde::Deserialize),
zerovec::derive(Deserialize)
)]
#[cfg_attr(
feature = "datagen",
derive(serde::Serialize, databake::Bake),
zerovec::derive(Serialize),
databake(path = icu_locale::provider),
)]
pub struct LanguageStrStrPair<'a>(
pub Language,
#[cfg_attr(feature = "serde", serde(borrow))] pub Cow<'a, str>,
#[cfg_attr(feature = "serde", serde(borrow))] pub Cow<'a, str>,
);
#[derive(PartialEq, Clone, Default, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_locale::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[yoke(prove_covariance_manually)]
#[derive(Debug)]
pub struct Aliases<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub language_variants: VarZeroVec<'data, UnvalidatedLanguageVariantsPair>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub sgn_region: ZeroMap<'data, UnvalidatedRegion, Language>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub language_len2: ZeroMap<'data, UnvalidatedTinyAsciiStr<2>, UnvalidatedLanguageIdentifier>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub language_len3: ZeroMap<'data, UnvalidatedLanguage, UnvalidatedLanguageIdentifier>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub language: VarZeroVec<'data, UnvalidatedLanguageIdentifierPair>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub script: ZeroMap<'data, UnvalidatedScript, Script>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub region_alpha: ZeroMap<'data, UnvalidatedTinyAsciiStr<2>, Region>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub region_num: ZeroMap<'data, UnvalidatedRegion, Region>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub complex_region: ZeroMap<'data, UnvalidatedRegion, ZeroSlice<Region>>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub variant: ZeroMap<'data, UnvalidatedVariant, Variant>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub subdivision: ZeroMap<'data, UnvalidatedSubdivision, SemivalidatedSubdivision>,
}
icu_provider::data_struct!(
Aliases<'_>,
#[cfg(feature = "datagen")]
);
#[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::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(Debug, PartialEq, Clone, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(feature = "datagen", derive(serde::Serialize, databake::Bake))]
#[cfg_attr(feature = "datagen", databake(path = icu_locale::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[yoke(prove_covariance_manually)]
pub struct LikelySubtagsForScriptRegion<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub script_region: ZeroMap<'data, (UnvalidatedScript, UnvalidatedRegion), Language>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub script: ZeroMap<'data, UnvalidatedScript, (Language, Region)>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub region: ZeroMap<'data, UnvalidatedRegion, (Language, Script)>,
}
icu_provider::data_struct!(
LikelySubtagsForScriptRegion<'_>,
#[cfg(feature = "datagen")]
);
#[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::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[yoke(prove_covariance_manually)]
pub struct LikelySubtagsExtended<'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)>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub script_region: ZeroMap<'data, (UnvalidatedScript, UnvalidatedRegion), Language>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub script: ZeroMap<'data, UnvalidatedScript, (Language, Region)>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub region: ZeroMap<'data, UnvalidatedRegion, (Language, Script)>,
}
icu_provider::data_struct!(
LikelySubtagsExtended<'_>,
#[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::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")]
);
#[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::provider))]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[yoke(prove_covariance_manually)]
pub struct ScriptDirection<'data> {
#[cfg_attr(feature = "serde", serde(borrow))]
pub rtl: ZeroVec<'data, UnvalidatedScript>,
#[cfg_attr(feature = "serde", serde(borrow))]
pub ltr: ZeroVec<'data, UnvalidatedScript>,
}
icu_provider::data_struct!(
ScriptDirection<'_>,
#[cfg(feature = "datagen")]
);
#[derive(Debug, Eq, PartialEq, Clone, yoke::Yokeable, zerofrom::ZeroFrom)]
#[cfg_attr(
feature = "datagen",
derive(serde::Serialize, databake::Bake),
databake(path = icu_locale::provider),
)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
pub struct ExemplarCharactersData<'data>(
#[cfg_attr(feature = "serde", serde(borrow))] pub CodePointInversionListAndStringList<'data>,
);
icu_provider::data_struct!(
ExemplarCharactersData<'_>,
#[cfg(feature = "datagen")]
);