mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-02 10:18:25 +00:00

In order to expose edition dependent divergences in some tests in the test suite, add explicit `edition` annotations. Some of these tests might require additional work to *avoid* the divergences, as they might have been unintentional. These are not exhaustive changes, purely opportunistic while looking at something else.
54 lines
2.0 KiB
Plaintext
54 lines
2.0 KiB
Plaintext
error[E0626]: borrow may still be in use when coroutine yields
|
|
--> $DIR/auto-trait-regions.rs:45:19
|
|
|
|
|
LL | let generator = #[coroutine] move || {
|
|
| ------- within this coroutine
|
|
LL | let a = A(&mut true, &mut true, No);
|
|
| ^^^^^^^^^
|
|
...
|
|
LL | yield;
|
|
| ----- possible yield occurs here
|
|
|
|
|
help: add `static` to mark this coroutine as unmovable
|
|
|
|
|
LL | let generator = #[coroutine] static move || {
|
|
| ++++++
|
|
|
|
error[E0626]: borrow may still be in use when coroutine yields
|
|
--> $DIR/auto-trait-regions.rs:45:30
|
|
|
|
|
LL | let generator = #[coroutine] move || {
|
|
| ------- within this coroutine
|
|
LL | let a = A(&mut true, &mut true, No);
|
|
| ^^^^^^^^^
|
|
...
|
|
LL | yield;
|
|
| ----- possible yield occurs here
|
|
|
|
|
help: add `static` to mark this coroutine as unmovable
|
|
|
|
|
LL | let generator = #[coroutine] static move || {
|
|
| ++++++
|
|
|
|
error: implementation of `Foo` is not general enough
|
|
--> $DIR/auto-trait-regions.rs:31:5
|
|
|
|
|
LL | assert_foo(generator);
|
|
| ^^^^^^^^^^^^^^^^^^^^^ implementation of `Foo` is not general enough
|
|
|
|
|
= note: `&'0 OnlyFooIfStaticRef` must implement `Foo`, for any lifetime `'0`...
|
|
= note: ...but `Foo` is actually implemented for the type `&'static OnlyFooIfStaticRef`
|
|
|
|
error: implementation of `Foo` is not general enough
|
|
--> $DIR/auto-trait-regions.rs:51:5
|
|
|
|
|
LL | assert_foo(generator);
|
|
| ^^^^^^^^^^^^^^^^^^^^^ implementation of `Foo` is not general enough
|
|
|
|
|
= note: `Foo` would have to be implemented for the type `A<'0, '1>`, for any two lifetimes `'0` and `'1`...
|
|
= note: ...but `Foo` is actually implemented for the type `A<'_, '2>`, for some specific lifetime `'2`
|
|
|
|
error: aborting due to 4 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0626`.
|