Skip to content

Commit fd08410

Browse files
committed
Minor speed up
1 parent fd1ba3f commit fd08410

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

benches/negotiate.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use criterion::Criterion;
44

55
use fluent_langneg::convert_vec_str_to_langids_lossy;
66
use fluent_langneg::negotiate_languages;
7-
use fluent_langneg::LangugeIdentifier;
7+
use fluent_langneg::LanguageIdentifier;
88

99
#[no_mangle]
1010
#[inline(never)]

src/negotiate/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ fn subtag_matches<P: PartialEq>(
144144
(as_range1 && subtag1.is_none()) || (as_range2 && subtag2.is_none()) || subtag1 == subtag2
145145
}
146146

147+
#[inline]
147148
fn matches(
148149
lid1: &LanguageIdentifier,
149150
lid2: &LanguageIdentifier,
@@ -165,7 +166,7 @@ pub fn filter_matches<'a, R: 'a + AsRef<LanguageIdentifier>, A: 'a + AsRef<Langu
165166
available: &'a [A],
166167
strategy: NegotiationStrategy,
167168
) -> Vec<&'a A> {
168-
let lc = LocaleExpander::new();
169+
let mut lc: Option<LocaleExpander> = None;
169170

170171
let mut supported_locales = vec![];
171172

@@ -214,6 +215,7 @@ pub fn filter_matches<'a, R: 'a + AsRef<LanguageIdentifier>, A: 'a + AsRef<Langu
214215

215216
let mut req = req.to_owned();
216217
// 3) Try to match against a maximized version of the requested locale
218+
let lc = lc.get_or_insert_with(LocaleExpander::new);
217219
if lc.maximize(&mut req) == TransformResult::Modified {
218220
test_strategy!(req, true, false);
219221
}

0 commit comments

Comments
 (0)