diff --git a/src/test/ui/suggest-remove-refs.rs b/src/test/ui/suggest-remove-refs.rs new file mode 100644 index 000000000000..0f19c48337b1 --- /dev/null +++ b/src/test/ui/suggest-remove-refs.rs @@ -0,0 +1,18 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +fn main() { + let v = vec![0, 1, 2, 3]; + + for (i, n) in &v.iter().enumerate() { + //~^ ERROR the trait bound + println!("{}", i); + } +} diff --git a/src/test/ui/suggest-remove-refs.stderr b/src/test/ui/suggest-remove-refs.stderr new file mode 100644 index 000000000000..d81166e55797 --- /dev/null +++ b/src/test/ui/suggest-remove-refs.stderr @@ -0,0 +1,15 @@ +error[E0277]: the trait bound `&std::iter::Enumerate>: std::iter::Iterator` is not satisfied + --> $DIR/suggest-remove-refs.rs:14:19 + | +LL | for (i, n) in &v.iter().enumerate() { + | ^^^^^^^^^^^^^^^^^^^^^ + | | + | `&std::iter::Enumerate>` is not an iterator; maybe try calling `.iter()` or a similar method + | help: consider removing `&`s like: `v.iter().enumerate()` + | + = help: the trait `std::iter::Iterator` is not implemented for `&std::iter::Enumerate>` + = note: required by `std::iter::IntoIterator::into_iter` + +error: aborting due to previous error + +If you want more information on this error, try using "rustc --explain E0277"