diff options
| author | Kevin Per <kevin.per@protonmail.com> | 2021-02-09 17:18:28 +0000 |
|---|---|---|
| committer | Kevin Per <kevin.per@protonmail.com> | 2021-02-24 07:07:53 +0000 |
| commit | a3db47ab6c976137a26976d5c8060e7eadc05232 (patch) | |
| tree | a15d4c1a3093ce2434a3b64169e92067d863955f /src/test/ui | |
| parent | fe1bf8e05c39bdcc73fc09e246b7209444e389bc (diff) | |
| download | rust-a3db47ab6c976137a26976d5c8060e7eadc05232.tar.gz rust-a3db47ab6c976137a26976d5c8060e7eadc05232.zip | |
Add suggestion for iterators in iterators
Diffstat (limited to 'src/test/ui')
| -rw-r--r-- | src/test/ui/issues/issue-81584.fixed | 8 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-81584.rs | 8 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-81584.stderr | 14 | ||||
| -rw-r--r-- | src/test/ui/static/static-reference-to-fn-2.stderr | 2 |
4 files changed, 32 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-81584.fixed b/src/test/ui/issues/issue-81584.fixed new file mode 100644 index 00000000000..1cad59f1062 --- /dev/null +++ b/src/test/ui/issues/issue-81584.fixed @@ -0,0 +1,8 @@ +// run-rustfix +fn main() { + let _ = vec![vec![0, 1], vec![2]] + .into_iter() + .map(|y| y.iter().map(|x| x + 1).collect::<Vec<_>>()) + //~^ ERROR cannot return value referencing function parameter `y` + .collect::<Vec<_>>(); +} diff --git a/src/test/ui/issues/issue-81584.rs b/src/test/ui/issues/issue-81584.rs new file mode 100644 index 00000000000..452288db08b --- /dev/null +++ b/src/test/ui/issues/issue-81584.rs @@ -0,0 +1,8 @@ +// run-rustfix +fn main() { + let _ = vec![vec![0, 1], vec![2]] + .into_iter() + .map(|y| y.iter().map(|x| x + 1)) + //~^ ERROR cannot return value referencing function parameter `y` + .collect::<Vec<_>>(); +} diff --git a/src/test/ui/issues/issue-81584.stderr b/src/test/ui/issues/issue-81584.stderr new file mode 100644 index 00000000000..d57f1b778df --- /dev/null +++ b/src/test/ui/issues/issue-81584.stderr @@ -0,0 +1,14 @@ +error[E0515]: cannot return value referencing function parameter `y` + --> $DIR/issue-81584.rs:5:22 + | +LL | .map(|y| y.iter().map(|x| x + 1)) + | -^^^^^^^^^^^^^^^^^^^^^^ + | | + | returns a value referencing data owned by the current function + | `y` is borrowed here + | + = help: use `.collect()` to allocate the iterator + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0515`. diff --git a/src/test/ui/static/static-reference-to-fn-2.stderr b/src/test/ui/static/static-reference-to-fn-2.stderr index 028e11a60ce..ff15884bd44 100644 --- a/src/test/ui/static/static-reference-to-fn-2.stderr +++ b/src/test/ui/static/static-reference-to-fn-2.stderr @@ -40,6 +40,8 @@ LL | | statefn: &id(state1 as StateMachineFunc) | | ------------------------------ temporary value created here LL | | } | |_____^ returns a value referencing data owned by the current function + | + = help: use `.collect()` to allocate the iterator error: aborting due to 4 previous errors |
