| error: coroutine cannot be sent between threads safely | |
| --> $DIR/drop-tracking-parent-expression.rs:25:13 | |
| | | |
| LL | assert_send(g); | |
| | ^^^^^^^^^^^^^^ coroutine is not `Send` | |
| ... | |
| LL | / type_combinations!( | |
| LL | | // OK | |
| LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; }; | |
| ... | | |
| LL | | }; | |
| LL | | ); | |
| | |_____- in this macro invocation | |
| | | |
| help: within `{coroutine@$DIR/drop-tracking-parent-expression.rs:19:34: 19:41}`, the trait `Send` is not implemented for `derived_drop::Client` | |
| --> $DIR/drop-tracking-parent-expression.rs:51:46 | |
| | | |
| LL | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } }; | |
| | ^^^^^^^^^^^^^^^^^ | |
| note: coroutine is not `Send` as this value is used across a yield | |
| --> $DIR/drop-tracking-parent-expression.rs:23:22 | |
| | | |
| LL | let g = #[coroutine] move || match drop($name::Client { ..$name::Client::default() }) { | |
| | ------------------------ has type `derived_drop::Client` which is not `Send` | |
| ... | |
| LL | _ => yield, | |
| | ^^^^^ yield occurs here, with `$name::Client::default()` maybe used later | |
| ... | |
| LL | / type_combinations!( | |
| LL | | // OK | |
| LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; }; | |
| ... | | |
| LL | | }; | |
| LL | | ); | |
| | |_____- in this macro invocation | |
| note: required by a bound in `assert_send` | |
| --> $DIR/drop-tracking-parent-expression.rs:42:19 | |
| | | |
| LL | fn assert_send<T: Send>(_thing: T) {} | |
| | ^^^^ required by this bound in `assert_send` | |
| = note: this error originates in the macro `type_combinations` (in Nightly builds, run with -Z macro-backtrace for more info) | |
| error: coroutine cannot be sent between threads safely | |
| --> $DIR/drop-tracking-parent-expression.rs:25:13 | |
| | | |
| LL | assert_send(g); | |
| | ^^^^^^^^^^^^^^ coroutine is not `Send` | |
| ... | |
| LL | / type_combinations!( | |
| LL | | // OK | |
| LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; }; | |
| ... | | |
| LL | | }; | |
| LL | | ); | |
| | |_____- in this macro invocation | |
| | | |
| help: within `{coroutine@$DIR/drop-tracking-parent-expression.rs:19:34: 19:41}`, the trait `Send` is not implemented for `significant_drop::Client` | |
| --> $DIR/drop-tracking-parent-expression.rs:55:13 | |
| | | |
| LL | pub struct Client; | |
| | ^^^^^^^^^^^^^^^^^ | |
| note: coroutine is not `Send` as this value is used across a yield | |
| --> $DIR/drop-tracking-parent-expression.rs:23:22 | |
| | | |
| LL | let g = #[coroutine] move || match drop($name::Client { ..$name::Client::default() }) { | |
| | ------------------------ has type `significant_drop::Client` which is not `Send` | |
| ... | |
| LL | _ => yield, | |
| | ^^^^^ yield occurs here, with `$name::Client::default()` maybe used later | |
| ... | |
| LL | / type_combinations!( | |
| LL | | // OK | |
| LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; }; | |
| ... | | |
| LL | | }; | |
| LL | | ); | |
| | |_____- in this macro invocation | |
| note: required by a bound in `assert_send` | |
| --> $DIR/drop-tracking-parent-expression.rs:42:19 | |
| | | |
| LL | fn assert_send<T: Send>(_thing: T) {} | |
| | ^^^^ required by this bound in `assert_send` | |
| = note: this error originates in the macro `type_combinations` (in Nightly builds, run with -Z macro-backtrace for more info) | |
| error: coroutine cannot be sent between threads safely | |
| --> $DIR/drop-tracking-parent-expression.rs:25:13 | |
| | | |
| LL | assert_send(g); | |
| | ^^^^^^^^^^^^^^ coroutine is not `Send` | |
| ... | |
| LL | / type_combinations!( | |
| LL | | // OK | |
| LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; }; | |
| ... | | |
| LL | | }; | |
| LL | | ); | |
| | |_____- in this macro invocation | |
| | | |
| help: within `{coroutine@$DIR/drop-tracking-parent-expression.rs:19:34: 19:41}`, the trait `Send` is not implemented for `insignificant_dtor::Client` | |
| --> $DIR/drop-tracking-parent-expression.rs:64:13 | |
| | | |
| LL | pub struct Client; | |
| | ^^^^^^^^^^^^^^^^^ | |
| note: coroutine is not `Send` as this value is used across a yield | |
| --> $DIR/drop-tracking-parent-expression.rs:23:22 | |
| | | |
| LL | let g = #[coroutine] move || match drop($name::Client { ..$name::Client::default() }) { | |
| | ------------------------ has type `insignificant_dtor::Client` which is not `Send` | |
| ... | |
| LL | _ => yield, | |
| | ^^^^^ yield occurs here, with `$name::Client::default()` maybe used later | |
| ... | |
| LL | / type_combinations!( | |
| LL | | // OK | |
| LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; }; | |
| ... | | |
| LL | | }; | |
| LL | | ); | |
| | |_____- in this macro invocation | |
| note: required by a bound in `assert_send` | |
| --> $DIR/drop-tracking-parent-expression.rs:42:19 | |
| | | |
| LL | fn assert_send<T: Send>(_thing: T) {} | |
| | ^^^^ required by this bound in `assert_send` | |
| = note: this error originates in the macro `type_combinations` (in Nightly builds, run with -Z macro-backtrace for more info) | |
| error: aborting due to 3 previous errors | |