1 error: generator cannot be sent between threads safely
2 --> $DIR/drop-tracking-parent-expression.rs:24:25
5 | ^ generator is not `Send`
7 LL | / type_combinations!(
9 LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
10 LL | | // NOT OK: MIR borrowck thinks that this is used after the yield, even though
14 | |_____- in this macro invocation
16 = help: within `[generator@$DIR/drop-tracking-parent-expression.rs:18:21: 18:28]`, the trait `Send` is not implemented for `derived_drop::Client`
17 note: generator is not `Send` as this value is used across a yield
18 --> $DIR/drop-tracking-parent-expression.rs:22:22
20 LL | let g = move || match drop($name::Client { ..$name::Client::default() }) {
21 | ------------------------ has type `derived_drop::Client` which is not `Send`
24 | ^^^^^ yield occurs here, with `$name::Client::default()` maybe used later
26 | - `$name::Client::default()` is later dropped here
28 LL | / type_combinations!(
30 LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
31 LL | | // NOT OK: MIR borrowck thinks that this is used after the yield, even though
35 | |_____- in this macro invocation
36 note: required by a bound in `assert_send`
37 --> $DIR/drop-tracking-parent-expression.rs:41:19
39 LL | fn assert_send<T: Send>(_thing: T) {}
40 | ^^^^ required by this bound in `assert_send`
41 = note: this error originates in the macro `type_combinations` (in Nightly builds, run with -Z macro-backtrace for more info)
43 error: generator cannot be sent between threads safely
44 --> $DIR/drop-tracking-parent-expression.rs:24:25
47 | ^ generator is not `Send`
49 LL | / type_combinations!(
51 LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
52 LL | | // NOT OK: MIR borrowck thinks that this is used after the yield, even though
56 | |_____- in this macro invocation
58 = help: within `[generator@$DIR/drop-tracking-parent-expression.rs:18:21: 18:28]`, the trait `Send` is not implemented for `significant_drop::Client`
59 note: generator is not `Send` as this value is used across a yield
60 --> $DIR/drop-tracking-parent-expression.rs:22:22
62 LL | let g = move || match drop($name::Client { ..$name::Client::default() }) {
63 | ------------------------ has type `significant_drop::Client` which is not `Send`
66 | ^^^^^ yield occurs here, with `$name::Client::default()` maybe used later
68 | - `$name::Client::default()` is later dropped here
70 LL | / type_combinations!(
72 LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
73 LL | | // NOT OK: MIR borrowck thinks that this is used after the yield, even though
77 | |_____- in this macro invocation
78 note: required by a bound in `assert_send`
79 --> $DIR/drop-tracking-parent-expression.rs:41:19
81 LL | fn assert_send<T: Send>(_thing: T) {}
82 | ^^^^ required by this bound in `assert_send`
83 = note: this error originates in the macro `type_combinations` (in Nightly builds, run with -Z macro-backtrace for more info)
85 error: generator cannot be sent between threads safely
86 --> $DIR/drop-tracking-parent-expression.rs:24:25
89 | ^ generator is not `Send`
91 LL | / type_combinations!(
93 LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
94 LL | | // NOT OK: MIR borrowck thinks that this is used after the yield, even though
98 | |_____- in this macro invocation
100 = help: within `[generator@$DIR/drop-tracking-parent-expression.rs:18:21: 18:28]`, the trait `Send` is not implemented for `insignificant_dtor::Client`
101 note: generator is not `Send` as this value is used across a yield
102 --> $DIR/drop-tracking-parent-expression.rs:22:22
104 LL | let g = move || match drop($name::Client { ..$name::Client::default() }) {
105 | ------------------------ has type `insignificant_dtor::Client` which is not `Send`
108 | ^^^^^ yield occurs here, with `$name::Client::default()` maybe used later
110 | - `$name::Client::default()` is later dropped here
112 LL | / type_combinations!(
114 LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
115 LL | | // NOT OK: MIR borrowck thinks that this is used after the yield, even though
119 | |_____- in this macro invocation
120 note: required by a bound in `assert_send`
121 --> $DIR/drop-tracking-parent-expression.rs:41:19
123 LL | fn assert_send<T: Send>(_thing: T) {}
124 | ^^^^ required by this bound in `assert_send`
125 = note: this error originates in the macro `type_combinations` (in Nightly builds, run with -Z macro-backtrace for more info)
127 error: aborting due to 3 previous errors