diff options
| author | Timo <30553356+y21@users.noreply.github.com> | 2025-01-11 23:28:57 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-11 23:28:57 +0000 |
| commit | a895bebcd71e373defe38629910f88dbc16daf7f (patch) | |
| tree | f57d243b2323cf90487b37bd523dc8c757627220 | |
| parent | ab55d3fc62c091fbc4b4273347aa8532976741e3 (diff) | |
| parent | 8275f42350fc394f7a35227dd19d52432f804abd (diff) | |
| download | rust-a895bebcd71e373defe38629910f88dbc16daf7f.tar.gz rust-a895bebcd71e373defe38629910f88dbc16daf7f.zip | |
add more test coverage for #11230 (#13915)
Closes #11230 changelog: none
| -rw-r--r-- | tests/ui/crashes/ice-11230.fixed | 16 | ||||
| -rw-r--r-- | tests/ui/crashes/ice-11230.rs | 10 | ||||
| -rw-r--r-- | tests/ui/crashes/ice-11230.stderr | 20 |
3 files changed, 46 insertions, 0 deletions
diff --git a/tests/ui/crashes/ice-11230.fixed b/tests/ui/crashes/ice-11230.fixed new file mode 100644 index 00000000000..1d4c3dd9dcc --- /dev/null +++ b/tests/ui/crashes/ice-11230.fixed @@ -0,0 +1,16 @@ +// Test for https://github.com/rust-lang/rust-clippy/issues/11230 +#![warn(clippy::explicit_iter_loop)] +#![warn(clippy::needless_collect)] + +// explicit_iter_loop +fn main() { + const A: &[for<'a> fn(&'a ())] = &[]; + for v in A {} +} + +// needless_collect +trait Helper<'a>: Iterator<Item = fn()> {} + +fn x(w: &mut dyn for<'a> Helper<'a>) { + w.next().is_none(); +} diff --git a/tests/ui/crashes/ice-11230.rs b/tests/ui/crashes/ice-11230.rs index 94044e9435e..a16fb271497 100644 --- a/tests/ui/crashes/ice-11230.rs +++ b/tests/ui/crashes/ice-11230.rs @@ -1,6 +1,16 @@ // Test for https://github.com/rust-lang/rust-clippy/issues/11230 +#![warn(clippy::explicit_iter_loop)] +#![warn(clippy::needless_collect)] +// explicit_iter_loop fn main() { const A: &[for<'a> fn(&'a ())] = &[]; for v in A.iter() {} } + +// needless_collect +trait Helper<'a>: Iterator<Item = fn()> {} + +fn x(w: &mut dyn for<'a> Helper<'a>) { + w.collect::<Vec<_>>().is_empty(); +} diff --git a/tests/ui/crashes/ice-11230.stderr b/tests/ui/crashes/ice-11230.stderr new file mode 100644 index 00000000000..7167d90e456 --- /dev/null +++ b/tests/ui/crashes/ice-11230.stderr @@ -0,0 +1,20 @@ +error: it is more concise to loop over references to containers instead of using explicit iteration methods + --> tests/ui/crashes/ice-11230.rs:8:14 + | +LL | for v in A.iter() {} + | ^^^^^^^^ help: to write this more concisely, try: `A` + | + = note: `-D clippy::explicit-iter-loop` implied by `-D warnings` + = help: to override `-D warnings` add `#[allow(clippy::explicit_iter_loop)]` + +error: avoid using `collect()` when not needed + --> tests/ui/crashes/ice-11230.rs:15:7 + | +LL | w.collect::<Vec<_>>().is_empty(); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `next().is_none()` + | + = note: `-D clippy::needless-collect` implied by `-D warnings` + = help: to override `-D warnings` add `#[allow(clippy::needless_collect)]` + +error: aborting due to 2 previous errors + |
