Skip to content

Commit d8d0e6b

Browse files
authored
Baked: Change DataStore to return DataPayload (#6135)
Toward #5230 Reduces the diff in #6133 Not intended to be controversial. Autosubmit = true
1 parent c8c605c commit d8d0e6b

File tree

122 files changed

+124
-122
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+124
-122
lines changed

provider/baked/src/binary_search.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ impl<K: BinarySearchKey, M: DataMarker> super::DataStore<M> for Data<K, M> {
123123
&self,
124124
id: DataIdentifierBorrowed,
125125
attributes_prefix_match: bool,
126-
) -> Option<&'static M::DataStruct> {
126+
) -> Option<DataPayload<M>> {
127127
self.0
128128
.binary_search_by(|&(k, _)| K::cmp(k, id))
129129
.or_else(|e| {
@@ -136,6 +136,7 @@ impl<K: BinarySearchKey, M: DataMarker> super::DataStore<M> for Data<K, M> {
136136
// Safety: binary_search returns in-bounds indices when returning Ok.
137137
// The err case in `or_else` above only returns in-bounds Ok values
138138
.map(|i| unsafe { self.0.get_unchecked(i) }.1)
139+
.map(DataPayload::from_static_ref)
139140
.ok()
140141
}
141142

provider/baked/src/export.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -658,7 +658,7 @@ impl DataExporter for BakedExporter {
658658
#search
659659

660660
Ok(icu_provider::DataResponse {
661-
payload: icu_provider::DataPayload::from_static_ref(payload),
661+
payload,
662662
metadata
663663
})
664664
}

provider/baked/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub trait DataStore<M: DataMarker> {
2121
&self,
2222
req: DataIdentifierBorrowed,
2323
attributes_prefix_match: bool,
24-
) -> Option<&'static M::DataStruct>;
24+
) -> Option<DataPayload<M>>;
2525

2626
#[cfg(feature = "alloc")]
2727
type IterReturn: Iterator<Item = DataIdentifierCow<'static>>;

provider/baked/src/zerotrie.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ impl<M: DataMarker> super::DataStore<M> for Data<M> {
8181
&self,
8282
id: DataIdentifierBorrowed,
8383
attributes_prefix_match: bool,
84-
) -> Option<&'static <M>::DataStruct> {
84+
) -> Option<DataPayload<M>> {
8585
use writeable::Writeable;
8686
let mut cursor = self.trie.cursor();
8787
let _is_ascii = id.locale.write_to(&mut cursor);
@@ -101,6 +101,7 @@ impl<M: DataMarker> super::DataStore<M> for Data<M> {
101101
}
102102
// Safety: Allowed since `i` came from the trie and the field safety invariant
103103
.map(|i| unsafe { self.values.get_unchecked(i) })
104+
.map(DataPayload::from_static_ref)
104105
}
105106

106107
#[cfg(feature = "alloc")]

provider/baked/tests/data/hello_world_v1.rs.data

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ macro_rules! __impl_hello_world_v1 {
2727
fn load(&self, req: icu_provider::DataRequest) -> Result<icu_provider::DataResponse<icu_provider::hello_world::HelloWorldV1>, icu_provider::DataError> {
2828
let metadata = icu_provider::DataResponseMetadata::default().with_checksum(1234u64);
2929
let Some(payload) = icu_provider_baked::DataStore::get(&Self::DATA_HELLO_WORLD_V1, req.id, req.metadata.attributes_prefix_match) else { return Err(icu_provider::DataErrorKind::IdentifierNotFound.with_req(<icu_provider::hello_world::HelloWorldV1 as icu_provider::DataMarker>::INFO, req)) };
30-
Ok(icu_provider::DataResponse { payload: icu_provider::DataPayload::from_static_ref(payload), metadata })
30+
Ok(icu_provider::DataResponse { payload, metadata })
3131
}
3232
}
3333
};

provider/data/calendar/data/week_data_v2.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/collator/data/collation_diacritics_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/collator/data/collation_metadata_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/collator/data/collation_reordering_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/collator/data/collation_tailoring_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/buddhist_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/buddhist_month_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/buddhist_year_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/chinese_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/chinese_month_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/chinese_year_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/coptic_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/coptic_month_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/coptic_year_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/dangi_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/dangi_month_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/dangi_year_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/day_period_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/ethiopian_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/ethiopian_month_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/ethiopian_year_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/exemplar_cities_root_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/exemplar_cities_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/glue_pattern_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/gregorian_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/gregorian_month_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/gregorian_year_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/hebrew_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/hebrew_month_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/hebrew_year_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/indian_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/indian_month_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/indian_year_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/islamic_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/islamic_month_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/islamic_year_names_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

provider/data/datetime/data/japanese_date_neo_skeleton_patterns_v1.rs.data

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)