// run-rustfix // edition:2018 #![feature(custom_inner_attributes)] #![warn(clippy::needless_splitn)] #![allow(clippy::iter_skip_next, clippy::iter_nth_zero, clippy::manual_split_once)] extern crate itertools; #[allow(unused_imports)] use itertools::Itertools; fn main() { let str = "key=value=end"; let _ = str.split('=').next(); let _ = str.split('=').nth(0); let _ = str.splitn(2, '=').nth(1); let (_, _) = str.splitn(2, '=').next_tuple().unwrap(); let (_, _) = str.split('=').next_tuple().unwrap(); let _: Vec<&str> = str.splitn(3, '=').collect(); let _ = str.rsplit('=').next(); let _ = str.rsplit('=').nth(0); let _ = str.rsplitn(2, '=').nth(1); let (_, _) = str.rsplitn(2, '=').next_tuple().unwrap(); let (_, _) = str.rsplit('=').next_tuple().unwrap(); let _ = str.split('=').next(); let _ = str.split('=').nth(3); let _ = str.splitn(5, '=').nth(4); let _ = str.splitn(5, '=').nth(5); } fn _question_mark(s: &str) -> Option<()> { let _ = s.split('=').next()?; let _ = s.split('=').nth(0)?; let _ = s.rsplit('=').next()?; let _ = s.rsplit('=').nth(0)?; Some(()) } fn _test_msrv() { #![clippy::msrv = "1.51"] // `manual_split_once` MSRV shouldn't apply to `needless_splitn` let _ = "key=value".split('=').nth(0).unwrap(); }