Files
rust/tests/ui/manual_repeat_n.rs
Guillaume Gomez f666fd6417 Update UI tests
2025-02-15 13:38:16 +01:00

36 lines
809 B
Rust

#![warn(clippy::manual_repeat_n)]
use std::iter::repeat;
fn main() {
let _ = repeat(10).take(3);
//~^ manual_repeat_n
let _ = repeat(String::from("foo")).take(4);
//~^ manual_repeat_n
for value in std::iter::repeat(5).take(3) {}
//~^ manual_repeat_n
let _: Vec<_> = std::iter::repeat(String::from("bar")).take(10).collect();
//~^ manual_repeat_n
let _ = repeat(vec![1, 2]).take(2);
//~^ manual_repeat_n
}
mod foo_lib {
pub fn iter() -> std::iter::Take<std::iter::Repeat<&'static [u8]>> {
todo!()
}
}
fn foo() {
let _ = match 1 {
1 => foo_lib::iter(),
// Shouldn't lint because `external_lib::iter` doesn't return `std::iter::RepeatN`.
2 => std::iter::repeat([1, 2].as_slice()).take(2),
_ => todo!(),
};
}