X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=tests%2Fui%2Foption_if_let_else.fixed;h=ce3093c542ae0b7bfad86c1c10e665db25761cfa;hb=2938ffd0d94d93893ca32202cb3b6a6b69559bfb;hp=9cb6a9d1ecc9bc9e91c0cf071c748ab45a962711;hpb=4e355ebb6e8bc7269a37548f51743f897493a129;p=rust.git diff --git a/tests/ui/option_if_let_else.fixed b/tests/ui/option_if_let_else.fixed index 9cb6a9d1ecc..ce3093c542a 100644 --- a/tests/ui/option_if_let_else.fixed +++ b/tests/ui/option_if_let_else.fixed @@ -75,6 +75,17 @@ fn negative_tests(arg: Option) -> u32 { 7 } +// #7973 +fn pattern_to_vec(pattern: &str) -> Vec { + pattern + .trim_matches('/') + .split('/') + .flat_map(|s| { + s.find('.').map_or_else(|| vec![s.to_string()], |idx| vec![s[..idx].to_string(), s[idx..].to_string()]) + }) + .collect::>() +} + fn main() { let optional = Some(5); let _ = optional.map_or(5, |x| x + 2); @@ -110,7 +121,7 @@ fn main() { let s = String::new(); // Lint, both branches immutably borrow `s`. - let _ = Some(0).map_or_else(|| s.len(), |x| s.len() + x); + let _ = Some(0).map_or(s.len(), |x| s.len() + x); let s = String::new(); // Lint, `Some` branch consumes `s`, but else branch doesn't use `s`. @@ -146,4 +157,6 @@ fn main() { // Don't lint. `await` can't be moved into a closure. let _ = if let Some(x) = Some(0) { _f1(x).await } else { 0 }; } + + let _ = pattern_to_vec("hello world"); }