]> git.proxmox.com Git - rustc.git/blob - src/tools/clippy/tests/ui/manual_split_once.fixed
New upstream version 1.57.0+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / manual_split_once.fixed
1 // run-rustfix
2
3 #![feature(custom_inner_attributes)]
4 #![warn(clippy::manual_split_once)]
5 #![allow(clippy::iter_skip_next, clippy::iter_nth_zero)]
6
7 extern crate itertools;
8
9 #[allow(unused_imports)]
10 use itertools::Itertools;
11
12 fn main() {
13 let _ = Some("key=value".split_once('=').map_or("key=value", |x| x.0));
14 let _ = "key=value".splitn(2, '=').nth(2);
15 let _ = "key=value".split_once('=').map_or("key=value", |x| x.0);
16 let _ = "key=value".split_once('=').map_or("key=value", |x| x.0);
17 let _ = "key=value".split_once('=').unwrap().1;
18 let _ = "key=value".split_once('=').unwrap().1;
19 let (_, _) = "key=value".split_once('=').unwrap();
20
21 let s = String::from("key=value");
22 let _ = s.split_once('=').map_or(&*s, |x| x.0);
23
24 let s = Box::<str>::from("key=value");
25 let _ = s.split_once('=').map_or(&*s, |x| x.0);
26
27 let s = &"key=value";
28 let _ = s.split_once('=').map_or(*s, |x| x.0);
29
30 fn _f(s: &str) -> Option<&str> {
31 let _ = s.split_once("key=value").map_or(s, |x| x.0);
32 let _ = s.split_once("key=value")?.1;
33 let _ = s.split_once("key=value")?.1;
34 None
35 }
36
37 // Don't lint, slices don't have `split_once`
38 let _ = [0, 1, 2].splitn(2, |&x| x == 1).nth(1).unwrap();
39
40 // `rsplitn` gives the results in the reverse order of `rsplit_once`
41 let _ = "key=value".rsplit_once('=').unwrap().1;
42 let _ = "key=value".rsplit_once('=').map_or("key=value", |x| x.0);
43 let _ = "key=value".rsplit_once('=').map(|x| x.1);
44 let (_, _) = "key=value".rsplit_once('=').map(|(x, y)| (y, x)).unwrap();
45 }
46
47 fn _msrv_1_51() {
48 #![clippy::msrv = "1.51"]
49 // `str::split_once` was stabilized in 1.16. Do not lint this
50 let _ = "key=value".splitn(2, '=').nth(1).unwrap();
51 }
52
53 fn _msrv_1_52() {
54 #![clippy::msrv = "1.52"]
55 let _ = "key=value".split_once('=').unwrap().1;
56 }