rust/tests/ui/nll/issue-55850.stderr
Michael Goulet 6dfc9f8886 Explain that coroutine can be marked static
And also point out the def span of the coroutine
2024-07-21 22:32:29 -04:00

28 lines
922 B
Plaintext

error[E0515]: cannot yield value referencing local variable `s`
--> $DIR/issue-55850.rs:28:9
|
LL | yield &s[..]
| ^^^^^^^-^^^^
| | |
| | `s` is borrowed here
| yields a value referencing data owned by the current function
error[E0626]: borrow may still be in use when coroutine yields
--> $DIR/issue-55850.rs:28:16
|
LL | GenIter(#[coroutine] move || {
| ------- within this coroutine
LL | let mut s = String::new();
LL | yield &s[..]
| -------^---- possible yield occurs here
|
help: add `static` to mark this coroutine as unmovable
|
LL | GenIter(#[coroutine] static move || {
| ++++++
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0515, E0626.
For more information about an error, try `rustc --explain E0515`.