Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 268ef40

Browse files
committed
Add test case for references bindings
1 parent 90a72f5 commit 268ef40

6 files changed

+46
-2
lines changed

tests/ui/search_is_some_fixable_none.fixed

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,4 +174,9 @@ mod issue7392 {
174174
let vfoo = vec![Foo { bar: 1 }];
175175
let _ = !vfoo.iter().any(|v| v.by_ref(&v.bar));
176176
}
177+
178+
fn ref_bindings() {
179+
let _ = ![&(&1, 2), &(&3, 4), &(&5, 4)].iter().any(|(&x, y)| x == *y);
180+
let _ = ![&(&1, 2), &(&3, 4), &(&5, 4)].iter().any(|(&x, y)| x == *y);
181+
}
177182
}

tests/ui/search_is_some_fixable_none.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,4 +180,9 @@ mod issue7392 {
180180
let vfoo = vec![Foo { bar: 1 }];
181181
let _ = vfoo.iter().find(|v| v.by_ref(&v.bar)).is_none();
182182
}
183+
184+
fn ref_bindings() {
185+
let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().find(|(&x, y)| x == *y).is_none();
186+
let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().find(|&(&x, y)| x == *y).is_none();
187+
}
183188
}

tests/ui/search_is_some_fixable_none.stderr

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,5 +227,17 @@ error: called `is_none()` after searching an `Iterator` with `find`
227227
LL | let _ = vfoo.iter().find(|v| v.by_ref(&v.bar)).is_none();
228228
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `!_.any()` instead: `!vfoo.iter().any(|v| v.by_ref(&v.bar))`
229229

230-
error: aborting due to 34 previous errors
230+
error: called `is_none()` after searching an `Iterator` with `find`
231+
--> $DIR/search_is_some_fixable_none.rs:185:17
232+
|
233+
LL | let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().find(|(&x, y)| x == *y).is_none();
234+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `!_.any()` instead: `![&(&1, 2), &(&3, 4), &(&5, 4)].iter().any(|(&x, y)| x == *y)`
235+
236+
error: called `is_none()` after searching an `Iterator` with `find`
237+
--> $DIR/search_is_some_fixable_none.rs:186:17
238+
|
239+
LL | let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().find(|&(&x, y)| x == *y).is_none();
240+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `!_.any()` instead: `![&(&1, 2), &(&3, 4), &(&5, 4)].iter().any(|(&x, y)| x == *y)`
241+
242+
error: aborting due to 36 previous errors
231243

tests/ui/search_is_some_fixable_some.fixed

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,4 +176,9 @@ mod issue7392 {
176176
let vfoo = vec![Foo { bar: 1 }];
177177
let _ = vfoo.iter().any(|v| v.by_ref(&v.bar));
178178
}
179+
180+
fn ref_bindings() {
181+
let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().any(|(&x, y)| x == *y);
182+
let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().any(|(&x, y)| x == *y);
183+
}
179184
}

tests/ui/search_is_some_fixable_some.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,4 +179,9 @@ mod issue7392 {
179179
let vfoo = vec![Foo { bar: 1 }];
180180
let _ = vfoo.iter().find(|v| v.by_ref(&v.bar)).is_some();
181181
}
182+
183+
fn ref_bindings() {
184+
let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().find(|(&x, y)| x == *y).is_some();
185+
let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().find(|&(&x, y)| x == *y).is_some();
186+
}
182187
}

tests/ui/search_is_some_fixable_some.stderr

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,5 +210,17 @@ error: called `is_some()` after searching an `Iterator` with `find`
210210
LL | let _ = vfoo.iter().find(|v| v.by_ref(&v.bar)).is_some();
211211
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `any()` instead: `any(|v| v.by_ref(&v.bar))`
212212

213-
error: aborting due to 34 previous errors
213+
error: called `is_some()` after searching an `Iterator` with `find`
214+
--> $DIR/search_is_some_fixable_some.rs:184:55
215+
|
216+
LL | let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().find(|(&x, y)| x == *y).is_some();
217+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `any()` instead: `any(|(&x, y)| x == *y)`
218+
219+
error: called `is_some()` after searching an `Iterator` with `find`
220+
--> $DIR/search_is_some_fixable_some.rs:185:55
221+
|
222+
LL | let _ = [&(&1, 2), &(&3, 4), &(&5, 4)].iter().find(|&(&x, y)| x == *y).is_some();
223+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `any()` instead: `any(|(&x, y)| x == *y)`
224+
225+
error: aborting due to 36 previous errors
214226

0 commit comments

Comments
 (0)