Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename data key to data marker [info] #5003

Merged
merged 11 commits into from
Jun 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 10 additions & 10 deletions components/calendar/src/provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,18 @@ const _: () = {
};

#[cfg(feature = "datagen")]
/// The latest minimum set of keys required by this component.
pub const KEYS: &[DataKey] = &[
ChineseCacheV1Marker::KEY,
DangiCacheV1Marker::KEY,
IslamicObservationalCacheV1Marker::KEY,
IslamicUmmAlQuraCacheV1Marker::KEY,
JapaneseErasV1Marker::KEY,
JapaneseExtendedErasV1Marker::KEY,
WeekDataV2Marker::KEY,
/// The latest minimum set of markers required by this component.
pub const MARKERS: &[DataMarkerInfo] = &[
ChineseCacheV1Marker::INFO,
DangiCacheV1Marker::INFO,
IslamicObservationalCacheV1Marker::INFO,
IslamicUmmAlQuraCacheV1Marker::INFO,
JapaneseErasV1Marker::INFO,
JapaneseExtendedErasV1Marker::INFO,
WeekDataV2Marker::INFO,
// We include the duplicate data for now, as icu_datetime loads it directly
// https://github.com/unicode-org/icu4x/pull/4364#discussion_r1419877997
WeekDataV1Marker::KEY,
WeekDataV1Marker::INFO,
];

/// The date at which an era started
Expand Down
4 changes: 2 additions & 2 deletions components/casemap/src/provider/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ const _: () = {
};

#[cfg(feature = "datagen")]
/// The latest minimum set of keys required by this component.
pub const KEYS: &[DataKey] = &[CaseMapUnfoldV1Marker::KEY, CaseMapV1Marker::KEY];
/// The latest minimum set of markers required by this component.
pub const MARKERS: &[DataMarkerInfo] = &[CaseMapUnfoldV1Marker::INFO, CaseMapV1Marker::INFO];

pub use self::unfold::{CaseMapUnfoldV1, CaseMapUnfoldV1Marker};

Expand Down
16 changes: 8 additions & 8 deletions components/collator/src/provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,14 @@ const _: () = {
};

#[cfg(feature = "datagen")]
/// The latest minimum set of keys required by this component.
pub const KEYS: &[DataKey] = &[
CollationDataV1Marker::KEY,
CollationDiacriticsV1Marker::KEY,
CollationJamoV1Marker::KEY,
CollationMetadataV1Marker::KEY,
CollationReorderingV1Marker::KEY,
CollationSpecialPrimariesV1Marker::KEY,
/// The latest minimum set of markers required by this component.
pub const MARKERS: &[DataMarkerInfo] = &[
CollationDataV1Marker::INFO,
CollationDiacriticsV1Marker::INFO,
CollationJamoV1Marker::INFO,
CollationMetadataV1Marker::INFO,
CollationReorderingV1Marker::INFO,
CollationSpecialPrimariesV1Marker::INFO,
];

const SINGLE_U32: &ZeroSlice<u32> =
Expand Down
38 changes: 19 additions & 19 deletions components/datetime/src/calendar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -817,27 +817,27 @@ where
),
}
}
fn bound_key(&self) -> DataKey {
fn bound_marker(&self) -> DataMarkerInfo {
use AnyCalendarKind::*;
match self.kind {
Buddhist => H::Buddhist::KEY,
Chinese => H::Chinese::KEY,
Coptic => H::Coptic::KEY,
Dangi => H::Dangi::KEY,
Ethiopian => H::Ethiopian::KEY,
EthiopianAmeteAlem => H::EthiopianAmeteAlem::KEY,
Gregorian => H::Gregorian::KEY,
Hebrew => H::Hebrew::KEY,
Indian => H::Indian::KEY,
IslamicCivil => H::IslamicCivil::KEY,
IslamicObservational => H::IslamicObservational::KEY,
IslamicTabular => H::IslamicTabular::KEY,
IslamicUmmAlQura => H::IslamicUmmAlQura::KEY,
Japanese => H::Japanese::KEY,
JapaneseExtended => H::JapaneseExtended::KEY,
Persian => H::Persian::KEY,
Roc => H::Roc::KEY,
_ => NeverMarker::<M::Yokeable>::KEY,
Buddhist => H::Buddhist::INFO,
Chinese => H::Chinese::INFO,
Coptic => H::Coptic::INFO,
Dangi => H::Dangi::INFO,
Ethiopian => H::Ethiopian::INFO,
EthiopianAmeteAlem => H::EthiopianAmeteAlem::INFO,
Gregorian => H::Gregorian::INFO,
Hebrew => H::Hebrew::INFO,
Indian => H::Indian::INFO,
IslamicCivil => H::IslamicCivil::INFO,
IslamicObservational => H::IslamicObservational::INFO,
IslamicTabular => H::IslamicTabular::INFO,
IslamicUmmAlQura => H::IslamicUmmAlQura::INFO,
Japanese => H::Japanese::INFO,
JapaneseExtended => H::JapaneseExtended::INFO,
Persian => H::Persian::INFO,
Roc => H::Roc::INFO,
_ => NeverMarker::<M::Yokeable>::INFO,
}
}
}
Expand Down
104 changes: 56 additions & 48 deletions components/datetime/src/format/neo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ impl<Y: for<'a> Yokeable<'a>> MaybePayload<Y> for () {
// TODO: Is it better to return DataError or SingleLoadError?
// SingleLoadError needs to be from the caller because it needs `field`.
None
// Err(DataError::custom("cannot load into this type").with_req(provider.key(), req))
// Err(DataError::custom("cannot load into this type").with_req(provider.marker(), req))
}
#[allow(clippy::needless_lifetimes)] // Yokeable is involved
#[inline]
Expand Down Expand Up @@ -902,15 +902,17 @@ impl<R: DateTimeNamesMarker> RawDateTimeNames<R> {
let payload = provider
.load_bound(DataRequest {
locale,
key_attributes: &DataKeyAttributes::from_tinystr(key_attrs::symbol_attr_for(
key_attrs::Context::Format,
match field_length {
FieldLength::Abbreviated => key_attrs::Length::Abbr,
FieldLength::Narrow => key_attrs::Length::Narrow,
FieldLength::Wide => key_attrs::Length::Wide,
_ => return Err(SingleLoadError::UnsupportedField(field)),
},
)),
marker_attributes: &DataMarkerAttributes::from_tinystr(
marker_attrs::symbol_attr_for(
marker_attrs::Context::Format,
match field_length {
FieldLength::Abbreviated => marker_attrs::Length::Abbr,
FieldLength::Narrow => marker_attrs::Length::Narrow,
FieldLength::Wide => marker_attrs::Length::Wide,
_ => return Err(SingleLoadError::UnsupportedField(field)),
},
),
),
..Default::default()
})
.and_then(DataResponse::take_payload)
Expand Down Expand Up @@ -950,18 +952,20 @@ impl<R: DateTimeNamesMarker> RawDateTimeNames<R> {
let payload = provider
.load_bound(DataRequest {
locale,
key_attributes: &DataKeyAttributes::from_tinystr(key_attrs::symbol_attr_for(
match field_symbol {
fields::Month::Format => key_attrs::Context::Format,
fields::Month::StandAlone => key_attrs::Context::Standalone,
},
match field_length {
FieldLength::Abbreviated => key_attrs::Length::Abbr,
FieldLength::Narrow => key_attrs::Length::Narrow,
FieldLength::Wide => key_attrs::Length::Wide,
_ => return Err(SingleLoadError::UnsupportedField(field)),
},
)),
marker_attributes: &DataMarkerAttributes::from_tinystr(
marker_attrs::symbol_attr_for(
match field_symbol {
fields::Month::Format => marker_attrs::Context::Format,
fields::Month::StandAlone => marker_attrs::Context::Standalone,
},
match field_length {
FieldLength::Abbreviated => marker_attrs::Length::Abbr,
FieldLength::Narrow => marker_attrs::Length::Narrow,
FieldLength::Wide => marker_attrs::Length::Wide,
_ => return Err(SingleLoadError::UnsupportedField(field)),
},
),
),
..Default::default()
})
.and_then(DataResponse::take_payload)
Expand All @@ -985,7 +989,7 @@ impl<R: DateTimeNamesMarker> RawDateTimeNames<R> {
P: BoundDataProvider<DayPeriodNamesV1Marker> + ?Sized,
{
let field = fields::Field {
// Names for 'a' and 'b' are stored in the same data key
// Names for 'a' and 'b' are stored in the same data marker
symbol: FieldSymbol::DayPeriod(fields::DayPeriod::NoonMidnight),
length: field_length,
};
Expand All @@ -1000,15 +1004,17 @@ impl<R: DateTimeNamesMarker> RawDateTimeNames<R> {
provider,
DataRequest {
locale,
key_attributes: &DataKeyAttributes::from_tinystr(key_attrs::symbol_attr_for(
key_attrs::Context::Format,
match field_length {
FieldLength::Abbreviated => key_attrs::Length::Abbr,
FieldLength::Narrow => key_attrs::Length::Narrow,
FieldLength::Wide => key_attrs::Length::Wide,
_ => return Err(SingleLoadError::UnsupportedField(field)),
},
)),
marker_attributes: &DataMarkerAttributes::from_tinystr(
marker_attrs::symbol_attr_for(
marker_attrs::Context::Format,
match field_length {
FieldLength::Abbreviated => marker_attrs::Length::Abbr,
FieldLength::Narrow => marker_attrs::Length::Narrow,
FieldLength::Wide => marker_attrs::Length::Wide,
_ => return Err(SingleLoadError::UnsupportedField(field)),
},
),
),
..Default::default()
},
)
Expand Down Expand Up @@ -1050,22 +1056,24 @@ impl<R: DateTimeNamesMarker> RawDateTimeNames<R> {
let payload = provider
.load_bound(DataRequest {
locale,
key_attributes: &DataKeyAttributes::from_tinystr(key_attrs::symbol_attr_for(
match field_symbol {
// UTS 35 says that "e" and "E" have the same non-numeric names
fields::Weekday::Format | fields::Weekday::Local => {
key_attrs::Context::Format
}
fields::Weekday::StandAlone => key_attrs::Context::Standalone,
},
match field_length {
FieldLength::Abbreviated => key_attrs::Length::Abbr,
FieldLength::Narrow => key_attrs::Length::Narrow,
FieldLength::Wide => key_attrs::Length::Wide,
FieldLength::Six => key_attrs::Length::Short,
_ => return Err(SingleLoadError::UnsupportedField(field)),
},
)),
marker_attributes: &DataMarkerAttributes::from_tinystr(
marker_attrs::symbol_attr_for(
match field_symbol {
// UTS 35 says that "e" and "E" have the same non-numeric names
fields::Weekday::Format | fields::Weekday::Local => {
marker_attrs::Context::Format
}
fields::Weekday::StandAlone => marker_attrs::Context::Standalone,
},
match field_length {
FieldLength::Abbreviated => marker_attrs::Length::Abbr,
FieldLength::Narrow => marker_attrs::Length::Narrow,
FieldLength::Wide => marker_attrs::Length::Wide,
FieldLength::Six => marker_attrs::Length::Short,
_ => return Err(SingleLoadError::UnsupportedField(field)),
},
),
),
..Default::default()
})
.and_then(DataResponse::take_payload)
Expand Down
Loading
Loading