]> git.proxmox.com Git - rustc.git/blame - src/test/ui/iterators/into-iter-on-arrays-lint.rs
New upstream version 1.61.0+dfsg1
[rustc.git] / src / test / ui / iterators / into-iter-on-arrays-lint.rs
CommitLineData
60c5eb7d
XL
1// run-pass
2// run-rustfix
136023e0 3// rustfix-only-machine-applicable
60c5eb7d 4
ee023bcb 5#[allow(unused_must_use)]
60c5eb7d
XL
6fn main() {
7 let small = [1, 2];
8 let big = [0u8; 33];
9
10 // Expressions that should trigger the lint
11 small.into_iter();
136023e0
XL
12 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
13 //~| WARNING this changes meaning
60c5eb7d 14 [1, 2].into_iter();
136023e0
XL
15 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
16 //~| WARNING this changes meaning
60c5eb7d 17 big.into_iter();
136023e0
XL
18 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
19 //~| WARNING this changes meaning
60c5eb7d 20 [0u8; 33].into_iter();
136023e0
XL
21 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
22 //~| WARNING this changes meaning
60c5eb7d 23
dfeec247 24 Box::new(small).into_iter();
136023e0
XL
25 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
26 //~| WARNING this changes meaning
dfeec247 27 Box::new([1, 2]).into_iter();
136023e0
XL
28 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
29 //~| WARNING this changes meaning
dfeec247 30 Box::new(big).into_iter();
136023e0
XL
31 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
32 //~| WARNING this changes meaning
dfeec247 33 Box::new([0u8; 33]).into_iter();
136023e0
XL
34 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
35 //~| WARNING this changes meaning
dfeec247
XL
36
37 Box::new(Box::new(small)).into_iter();
136023e0
XL
38 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
39 //~| WARNING this changes meaning
dfeec247 40 Box::new(Box::new([1, 2])).into_iter();
136023e0
XL
41 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
42 //~| WARNING this changes meaning
dfeec247 43 Box::new(Box::new(big)).into_iter();
136023e0
XL
44 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
45 //~| WARNING this changes meaning
dfeec247 46 Box::new(Box::new([0u8; 33])).into_iter();
136023e0
XL
47 //~^ WARNING this method call resolves to `<&[T; N] as IntoIterator>::into_iter`
48 //~| WARNING this changes meaning
60c5eb7d
XL
49
50 // Expressions that should not
51 (&[1, 2]).into_iter();
52 (&small).into_iter();
53 (&[0u8; 33]).into_iter();
54 (&big).into_iter();
55
56 for _ in &[1, 2] {}
57 (&small as &[_]).into_iter();
58 small[..].into_iter();
59 std::iter::IntoIterator::into_iter(&[1, 2]);
29967ef6
XL
60
61 #[allow(array_into_iter)]
62 [0, 1].into_iter();
60c5eb7d 63}