rust/tests/ui/generator/issue-57017.no_drop_tracking.stderr

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

255 lines
12 KiB
Plaintext
Raw Normal View History

error: generator cannot be sent between threads safely
--> $DIR/issue-57017.rs:32:25
|
LL | assert_send(g);
| ^ generator is not `Send`
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
|
= help: the trait `Sync` is not implemented for `copy::unsync::Client`
= note: consider using `std::sync::Arc<copy::unsync::Client>`; for more information visit <https://doc.rust-lang.org/book/ch16-03-shared-state.html>
note: generator is not `Send` as this value is used across a yield
--> $DIR/issue-57017.rs:30:28
|
LL | let g = move || match drop(&$name::unsync::Client::default()) {
| --------------------------------- has type `&copy::unsync::Client` which is not `Send`
LL | _status => yield,
| ^^^^^ yield occurs here, with `&$name::unsync::Client::default()` maybe used later
LL | };
| - `&$name::unsync::Client::default()` is later dropped here
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
note: required by a bound in `assert_send`
--> $DIR/issue-57017.rs:52: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: generator cannot be sent between threads safely
--> $DIR/issue-57017.rs:44:25
|
LL | assert_send(g);
| ^ generator is not `Send`
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
|
= help: within `[generator@$DIR/issue-57017.rs:41:21: 41:28]`, the trait `Send` is not implemented for `copy::unsend::Client`
= note: consider using `std::sync::Arc<copy::unsend::Client>`; for more information visit <https://doc.rust-lang.org/book/ch16-03-shared-state.html>
note: generator is not `Send` as this value is used across a yield
--> $DIR/issue-57017.rs:42:28
|
LL | let g = move || match drop($name::unsend::Client::default()) {
| -------------------------------- has type `copy::unsend::Client` which is not `Send`
LL | _status => yield,
| ^^^^^ yield occurs here, with `$name::unsend::Client::default()` maybe used later
LL | };
| - `$name::unsend::Client::default()` is later dropped here
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
note: required by a bound in `assert_send`
--> $DIR/issue-57017.rs:52: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: generator cannot be sent between threads safely
--> $DIR/issue-57017.rs:32:25
|
LL | assert_send(g);
| ^ generator is not `Send`
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
|
= help: the trait `Sync` is not implemented for `derived_drop::unsync::Client`
= note: consider using `std::sync::Arc<derived_drop::unsync::Client>`; for more information visit <https://doc.rust-lang.org/book/ch16-03-shared-state.html>
note: generator is not `Send` as this value is used across a yield
--> $DIR/issue-57017.rs:30:28
|
LL | let g = move || match drop(&$name::unsync::Client::default()) {
| --------------------------------- has type `&derived_drop::unsync::Client` which is not `Send`
LL | _status => yield,
| ^^^^^ yield occurs here, with `&$name::unsync::Client::default()` maybe used later
LL | };
| - `&$name::unsync::Client::default()` is later dropped here
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
note: required by a bound in `assert_send`
--> $DIR/issue-57017.rs:52: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: generator cannot be sent between threads safely
--> $DIR/issue-57017.rs:44:25
|
LL | assert_send(g);
| ^ generator is not `Send`
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
|
= help: within `[generator@$DIR/issue-57017.rs:41:21: 41:28]`, the trait `Send` is not implemented for `derived_drop::unsend::Client`
= note: consider using `std::sync::Arc<derived_drop::unsend::Client>`; for more information visit <https://doc.rust-lang.org/book/ch16-03-shared-state.html>
note: generator is not `Send` as this value is used across a yield
--> $DIR/issue-57017.rs:42:28
|
LL | let g = move || match drop($name::unsend::Client::default()) {
| -------------------------------- has type `derived_drop::unsend::Client` which is not `Send`
LL | _status => yield,
| ^^^^^ yield occurs here, with `$name::unsend::Client::default()` maybe used later
LL | };
| - `$name::unsend::Client::default()` is later dropped here
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
note: required by a bound in `assert_send`
--> $DIR/issue-57017.rs:52: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: generator cannot be sent between threads safely
--> $DIR/issue-57017.rs:32:25
|
LL | assert_send(g);
| ^ generator is not `Send`
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
|
= help: the trait `Sync` is not implemented for `significant_drop::unsync::Client`
= note: consider using `std::sync::Arc<significant_drop::unsync::Client>`; for more information visit <https://doc.rust-lang.org/book/ch16-03-shared-state.html>
note: generator is not `Send` as this value is used across a yield
--> $DIR/issue-57017.rs:30:28
|
LL | let g = move || match drop(&$name::unsync::Client::default()) {
| --------------------------------- has type `&significant_drop::unsync::Client` which is not `Send`
LL | _status => yield,
| ^^^^^ yield occurs here, with `&$name::unsync::Client::default()` maybe used later
LL | };
| - `&$name::unsync::Client::default()` is later dropped here
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
note: required by a bound in `assert_send`
--> $DIR/issue-57017.rs:52: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: generator cannot be sent between threads safely
--> $DIR/issue-57017.rs:44:25
|
LL | assert_send(g);
| ^ generator is not `Send`
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
|
= help: within `[generator@$DIR/issue-57017.rs:41:21: 41:28]`, the trait `Send` is not implemented for `significant_drop::unsend::Client`
= note: consider using `std::sync::Arc<significant_drop::unsend::Client>`; for more information visit <https://doc.rust-lang.org/book/ch16-03-shared-state.html>
note: generator is not `Send` as this value is used across a yield
--> $DIR/issue-57017.rs:42:28
|
LL | let g = move || match drop($name::unsend::Client::default()) {
| -------------------------------- has type `significant_drop::unsend::Client` which is not `Send`
LL | _status => yield,
| ^^^^^ yield occurs here, with `$name::unsend::Client::default()` maybe used later
LL | };
| - `$name::unsend::Client::default()` is later dropped here
...
LL | / type_combinations!(
LL | | copy => { #[derive(Copy, Clone, Default)] pub struct Client; };
LL | | derived_drop => { #[derive(Default)] pub struct Client { pub nickname: String } };
LL | | significant_drop => {
... |
LL | | }
LL | | );
| |_____- in this macro invocation
note: required by a bound in `assert_send`
--> $DIR/issue-57017.rs:52: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 6 previous errors