Skip to content

Commit cbb0c0a

Browse files
committed
asmut
1 parent 6279b08 commit cbb0c0a

File tree

11 files changed

+40
-70
lines changed

11 files changed

+40
-70
lines changed

components/experimental/src/personnames/api.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ impl PersonNamesFormatterOptions {
345345
) -> Self {
346346
let lc = icu_locale::LocaleExpander::new();
347347
let mut final_locale = target_locale.clone();
348-
lc.maximize(&mut final_locale);
348+
lc.maximize(&mut final_locale.id);
349349
Self {
350350
target_locale: final_locale,
351351
order,

components/experimental/src/personnames/specifications/derive_locale.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ mod tests {
110110
fn test_effective_locale_matching_script() {
111111
let lc = LocaleExpander::new_extended();
112112
let mut locale = locale!("fr");
113-
lc.maximize(&mut locale);
113+
lc.maximize(&mut locale.id);
114114
assert_eq!(
115115
effective_locale(&locale!("de_Latn_ch"), &locale),
116116
Ok(&locale!("de_Latn_ch"))
@@ -125,7 +125,7 @@ mod tests {
125125
fn test_effective_locale_non_matching_script() {
126126
let lc = LocaleExpander::new_extended();
127127
let mut locale = locale!("ja");
128-
lc.maximize(&mut locale);
128+
lc.maximize(&mut locale.id);
129129
assert_eq!(
130130
effective_locale(&locale!("de_Latn_ch"), &locale),
131131
Ok(&locale!("ja-Jpan-JP"))
@@ -140,7 +140,7 @@ mod tests {
140140
fn test_effective_locale_compatible_script() {
141141
let lc = LocaleExpander::new_extended();
142142
let mut locale = locale!("ja");
143-
lc.maximize(&mut locale);
143+
lc.maximize(&mut locale.id);
144144
assert_eq!(
145145
effective_locale(&locale!("ja_Hani_JP"), &locale),
146146
Ok(&locale!("ja_Hani_JP"))

components/experimental/src/personnames/specifications/space_replacement.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ mod tests {
3939

4040
// locales are maximized earlier during the formatting process.
4141
let lc = LocaleExpander::new_extended();
42-
lc.maximize(&mut formatting_locale);
43-
lc.maximize(&mut person_name_locale);
42+
lc.maximize(&mut formatting_locale.id);
43+
lc.maximize(&mut person_name_locale.id);
4444

4545
let result = super::space_replacement(
4646
&formatting_locale,
@@ -59,8 +59,8 @@ mod tests {
5959

6060
// locales are maximized earlier during the formatting process.
6161
let lc = LocaleExpander::new_extended();
62-
lc.maximize(&mut formatting_locale);
63-
lc.maximize(&mut person_name_locale);
62+
lc.maximize(&mut formatting_locale.id);
63+
lc.maximize(&mut person_name_locale.id);
6464

6565
let result = super::space_replacement(
6666
&formatting_locale,
@@ -79,8 +79,8 @@ mod tests {
7979

8080
// locales are maximized earlier during the formatting process.
8181
let lc = LocaleExpander::new_extended();
82-
lc.maximize(&mut formatting_locale);
83-
lc.maximize(&mut person_name_locale);
82+
lc.maximize(&mut formatting_locale.id);
83+
lc.maximize(&mut person_name_locale.id);
8484

8585
let result = super::space_replacement(
8686
&formatting_locale,
@@ -99,8 +99,8 @@ mod tests {
9999

100100
// locales are maximized earlier during the formatting process.
101101
let lc = LocaleExpander::new_extended();
102-
lc.maximize(&mut formatting_locale);
103-
lc.maximize(&mut person_name_locale);
102+
lc.maximize(&mut formatting_locale.id);
103+
lc.maximize(&mut person_name_locale.id);
104104

105105
let result = super::space_replacement(
106106
&formatting_locale,
@@ -119,8 +119,8 @@ mod tests {
119119

120120
// locales are maximized earlier during the formatting process.
121121
let lc = LocaleExpander::new_extended();
122-
lc.maximize(&mut formatting_locale);
123-
lc.maximize(&mut person_name_locale);
122+
lc.maximize(&mut formatting_locale.id);
123+
lc.maximize(&mut person_name_locale.id);
124124

125125
let result = super::space_replacement(
126126
&formatting_locale,

components/locale/benches/locale_canonicalizer.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ fn maximize_bench(c: &mut Criterion) {
8181
b.iter(|| {
8282
for locale in &locales {
8383
let mut locale = locale.clone();
84-
lc.maximize(black_box(&mut locale));
84+
lc.maximize(black_box(&mut locale.id));
8585
}
8686
})
8787
});
@@ -90,7 +90,7 @@ fn maximize_bench(c: &mut Criterion) {
9090
b.iter(|| {
9191
for locale in &locales {
9292
let mut locale = locale.clone();
93-
lc.minimize(black_box(&mut locale));
93+
lc.minimize(black_box(&mut locale.id));
9494
}
9595
})
9696
});

components/locale/src/directionality.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@ impl LocaleDirectionality {
176176
/// Some(Direction::LeftToRight)
177177
/// );
178178
/// ```
179-
pub fn get(&self, locale: impl AsRef<LanguageIdentifier>) -> Option<Direction> {
180-
let script = self.expander.get_likely_script(locale.as_ref())?;
179+
pub fn get(&self, langid: &LanguageIdentifier) -> Option<Direction> {
180+
let script = self.expander.get_likely_script(langid)?;
181181

182182
if self.script_in_ltr(script) {
183183
Some(Direction::LeftToRight)
@@ -195,9 +195,9 @@ impl LocaleDirectionality {
195195
/// You should use [`LocaleDirectionality::get`] if you need to differentiate between these cases.
196196
///
197197
/// See [`LocaleDirectionality::get`] for more information.
198-
pub fn is_right_to_left(&self, locale: impl AsRef<LanguageIdentifier>) -> bool {
198+
pub fn is_right_to_left(&self, langid: &LanguageIdentifier) -> bool {
199199
self.expander
200-
.get_likely_script(locale.as_ref())
200+
.get_likely_script(langid)
201201
.map(|s| self.script_in_rtl(s))
202202
.unwrap_or(false)
203203
}
@@ -209,9 +209,9 @@ impl LocaleDirectionality {
209209
/// You should use [`LocaleDirectionality::get`] if you need to differentiate between these cases.
210210
///
211211
/// See [`LocaleDirectionality::get`] for more information.
212-
pub fn is_left_to_right(&self, locale: impl AsRef<LanguageIdentifier>) -> bool {
212+
pub fn is_left_to_right(&self, langid: &LanguageIdentifier) -> bool {
213213
self.expander
214-
.get_likely_script(locale.as_ref())
214+
.get_likely_script(langid)
215215
.map(|s| self.script_in_ltr(s))
216216
.unwrap_or(false)
217217
}

components/locale/src/expander.rs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -381,8 +381,7 @@ impl LocaleExpander {
381381
/// assert_eq!(lc.maximize(&mut locale), TransformResult::Unmodified);
382382
/// assert_eq!(locale, locale!("mul"));
383383
/// ```
384-
pub fn maximize<T: AsMut<LanguageIdentifier>>(&self, mut langid: T) -> TransformResult {
385-
let langid = langid.as_mut();
384+
pub fn maximize(&self, langid: &mut LanguageIdentifier) -> TransformResult {
386385
let data = self.as_borrowed();
387386

388387
if !langid.language.is_default() && langid.script.is_some() && langid.region.is_some() {
@@ -458,7 +457,7 @@ impl LocaleExpander {
458457
/// assert_eq!(lc.minimize(&mut locale), TransformResult::Unmodified);
459458
/// assert_eq!(locale, locale!("zh"));
460459
/// ```
461-
pub fn minimize<T: AsMut<LanguageIdentifier>>(&self, langid: T) -> TransformResult {
460+
pub fn minimize(&self, langid: &mut LanguageIdentifier) -> TransformResult {
462461
self.minimize_impl(langid, true)
463462
}
464463

@@ -486,20 +485,18 @@ impl LocaleExpander {
486485
/// );
487486
/// assert_eq!(locale, locale!("zh_Hant"));
488487
/// ```
489-
pub fn minimize_favor_script<T: AsMut<LanguageIdentifier>>(
488+
pub fn minimize_favor_script(
490489
&self,
491-
langid: T,
490+
langid: &mut LanguageIdentifier,
492491
) -> TransformResult {
493492
self.minimize_impl(langid, false)
494493
}
495494

496-
fn minimize_impl<T: AsMut<LanguageIdentifier>>(
495+
fn minimize_impl(
497496
&self,
498-
mut langid: T,
497+
langid: &mut LanguageIdentifier,
499498
favor_region: bool,
500499
) -> TransformResult {
501-
let langid = langid.as_mut();
502-
503500
let mut max = langid.clone();
504501
self.maximize(&mut max);
505502

@@ -549,11 +546,10 @@ impl LocaleExpander {
549546

550547
// TODO(3492): consider turning this and a future get_likely_region/get_likely_language public
551548
#[inline]
552-
pub(crate) fn get_likely_script<T: AsRef<LanguageIdentifier>>(
549+
pub(crate) fn get_likely_script(
553550
&self,
554-
langid: T,
551+
langid: &LanguageIdentifier,
555552
) -> Option<Script> {
556-
let langid = langid.as_ref();
557553
langid
558554
.script
559555
.or_else(|| self.infer_likely_script(langid.language, langid.region))
@@ -603,7 +599,7 @@ mod tests {
603599
let lc = LocaleExpander::new();
604600
let mut locale = locale!("yue-Hans");
605601
assert_eq!(
606-
lc.minimize_favor_script(&mut locale),
602+
lc.minimize_favor_script(&mut locale.id),
607603
TransformResult::Unmodified
608604
);
609605
assert_eq!(locale, locale!("yue-Hans"));
@@ -613,7 +609,7 @@ mod tests {
613609
fn test_minimize_favor_region() {
614610
let lc = LocaleExpander::new();
615611
let mut locale = locale!("yue-Hans");
616-
assert_eq!(lc.minimize(&mut locale), TransformResult::Modified);
612+
assert_eq!(lc.minimize(&mut locale.id), TransformResult::Modified);
617613
assert_eq!(locale, locale!("yue-CN"));
618614
}
619615
}

components/locale/tests/locale_canonicalizer.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ fn test_maximize() {
2222
}
2323
let mut locale: Locale = case.input.parse().unwrap();
2424
let unmodified = locale.clone();
25-
let result = lc.maximize(&mut locale);
25+
let result = lc.maximize(&mut locale.id);
2626
assert_writeable_eq!(locale, case.output, "{:?}", case);
2727
if result == TransformResult::Modified {
2828
assert_ne!(locale, unmodified, "{:?}", case);
@@ -46,7 +46,7 @@ fn test_minimize() {
4646
}
4747
let mut locale: Locale = case.input.parse().unwrap();
4848
let unmodified = locale.clone();
49-
let result = lc.minimize(&mut locale);
49+
let result = lc.minimize(&mut locale.id);
5050
assert_writeable_eq!(locale, case.output, "{:?}", case);
5151
if result == TransformResult::Modified {
5252
assert_ne!(locale, unmodified, "{:?}", case);

components/locale_core/src/langid.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -415,19 +415,6 @@ impl LanguageIdentifier {
415415
}
416416
}
417417

418-
impl AsRef<LanguageIdentifier> for LanguageIdentifier {
419-
#[inline(always)]
420-
fn as_ref(&self) -> &Self {
421-
self
422-
}
423-
}
424-
425-
impl AsMut<LanguageIdentifier> for LanguageIdentifier {
426-
fn as_mut(&mut self) -> &mut Self {
427-
self
428-
}
429-
}
430-
431418
impl core::fmt::Debug for LanguageIdentifier {
432419
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
433420
core::fmt::Display::fmt(&self, f)

components/locale_core/src/locale.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -398,19 +398,6 @@ impl From<Locale> for LanguageIdentifier {
398398
}
399399
}
400400

401-
impl AsRef<LanguageIdentifier> for Locale {
402-
#[inline(always)]
403-
fn as_ref(&self) -> &LanguageIdentifier {
404-
&self.id
405-
}
406-
}
407-
408-
impl AsMut<LanguageIdentifier> for Locale {
409-
fn as_mut(&mut self) -> &mut LanguageIdentifier {
410-
&mut self.id
411-
}
412-
}
413-
414401
impl core::fmt::Debug for Locale {
415402
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
416403
writeable::Writeable::write_to(self, f)

ffi/capi/src/locale.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,17 +94,17 @@ pub mod ffi {
9494

9595
#[diplomat::rust_link(icu::locale::LocaleExpander::maximize, FnInStruct)]
9696
pub fn maximize(&self, locale: &mut Locale) -> TransformResult {
97-
self.0.maximize(&mut locale.0).into()
97+
self.0.maximize(&mut locale.0.id).into()
9898
}
9999

100100
#[diplomat::rust_link(icu::locale::LocaleExpander::minimize, FnInStruct)]
101101
pub fn minimize(&self, locale: &mut Locale) -> TransformResult {
102-
self.0.minimize(&mut locale.0).into()
102+
self.0.minimize(&mut locale.0.id).into()
103103
}
104104

105105
#[diplomat::rust_link(icu::locale::LocaleExpander::minimize_favor_script, FnInStruct)]
106106
pub fn minimize_favor_script(&self, locale: &mut Locale) -> TransformResult {
107-
self.0.minimize_favor_script(&mut locale.0).into()
107+
self.0.minimize_favor_script(&mut locale.0.id).into()
108108
}
109109
}
110110
}

ffi/capi/src/locale_directionality.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ pub mod ffi {
7575
#[diplomat::rust_link(icu::locale::LocaleDirectionality::get, FnInStruct)]
7676
#[diplomat::attr(auto, indexer)]
7777
pub fn get(&self, locale: &Locale) -> LocaleDirection {
78-
match self.0.get(&locale.0) {
78+
match self.0.get(&locale.0.id) {
7979
Some(icu_locale::Direction::LeftToRight) => LocaleDirection::LeftToRight,
8080
Some(icu_locale::Direction::RightToLeft) => LocaleDirection::RightToLeft,
8181
_ => LocaleDirection::Unknown,
@@ -84,12 +84,12 @@ pub mod ffi {
8484

8585
#[diplomat::rust_link(icu::locale::LocaleDirectionality::is_left_to_right, FnInStruct)]
8686
pub fn is_left_to_right(&self, locale: &Locale) -> bool {
87-
self.0.is_left_to_right(&locale.0)
87+
self.0.is_left_to_right(&locale.0.id)
8888
}
8989

9090
#[diplomat::rust_link(icu::locale::LocaleDirectionality::is_right_to_left, FnInStruct)]
9191
pub fn is_right_to_left(&self, locale: &Locale) -> bool {
92-
self.0.is_right_to_left(&locale.0)
92+
self.0.is_right_to_left(&locale.0.id)
9393
}
9494
}
9595
}

0 commit comments

Comments
 (0)