//@ run-pass //@ run-rustfix //@ rustfix-only-machine-applicable #[allow(unused_must_use, unused_allocation)] fn main() { let boxed = vec![1, 2].into_boxed_slice(); // Expressions that should trigger the lint boxed.iter(); //~^ WARNING this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` //~| WARNING this changes meaning Box::new(boxed.clone()).iter(); //~^ WARNING this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` //~| WARNING this changes meaning Box::new(Box::new(boxed.clone())).iter(); //~^ WARNING this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` //~| WARNING this changes meaning // Expressions that should not (&boxed).into_iter(); for _ in &boxed {} (&boxed as &[_]).into_iter(); boxed[..].into_iter(); std::iter::IntoIterator::into_iter(&boxed); #[allow(boxed_slice_into_iter)] boxed.into_iter(); }