You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/test/ui/async-await/async-fn-nonsend.stderr
+5-63Lines changed: 5 additions & 63 deletions
Original file line number
Diff line number
Diff line change
@@ -4,76 +4,18 @@ error[E0277]: `std::rc::Rc<()>` cannot be sent between threads safely
4
4
LL | fn assert_send(_: impl Send) {}
5
5
| ----------- ---- required by this bound in `assert_send`
6
6
...
7
-
LL | assert_send(local_dropped_before_await());
8
-
| ^^^^^^^^^^^ `std::rc::Rc<()>` cannot be sent between threads safely
9
-
|
10
-
= help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<()>`
11
-
= note: required because it appears within the type `impl std::fmt::Debug`
12
-
= note: required because it appears within the type `{impl std::fmt::Debug, impl std::future::Future, impl std::future::Future, ()}`
13
-
= note: required because it appears within the type `[static generator@$DIR/async-fn-nonsend.rs:21:39: 26:2 {impl std::fmt::Debug, impl std::future::Future, impl std::future::Future, ()}]`
14
-
= note: required because it appears within the type `std::future::GenFuture<[static generator@$DIR/async-fn-nonsend.rs:21:39: 26:2 {impl std::fmt::Debug, impl std::future::Future, impl std::future::Future, ()}]>`
15
-
= note: required because it appears within the type `impl std::future::Future`
16
-
= note: required because it appears within the type `impl std::future::Future`
17
-
18
-
error[E0277]: `std::rc::Rc<()>` cannot be sent between threads safely
19
-
--> $DIR/async-fn-nonsend.rs:52:5
20
-
|
21
-
LL | fn assert_send(_: impl Send) {}
22
-
| ----------- ---- required by this bound in `assert_send`
23
-
...
24
7
LL | assert_send(non_send_temporary_in_match());
25
8
| ^^^^^^^^^^^ `std::rc::Rc<()>` cannot be sent between threads safely
26
9
|
27
10
= help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<()>`
28
11
= note: required because it appears within the type `impl std::fmt::Debug`
29
-
= note: required because it appears within the type `{impl std::fmt::Debug, std::option::Option<impl std::fmt::Debug>, impl std::future::Future, impl std::future::Future, ()}`
30
-
= note: required because it appears within the type `[static generator@$DIR/async-fn-nonsend.rs:28:40: 37:2 {impl std::fmt::Debug, std::option::Option<impl std::fmt::Debug>, impl std::future::Future, impl std::future::Future, ()}]`
31
-
= note: required because it appears within the type `std::future::GenFuture<[static generator@$DIR/async-fn-nonsend.rs:28:40: 37:2 {impl std::fmt::Debug, std::option::Option<impl std::fmt::Debug>, impl std::future::Future, impl std::future::Future, ()}]>`
32
-
= note: required because it appears within the type `impl std::future::Future`
33
-
= note: required because it appears within the type `impl std::future::Future`
34
-
35
-
error[E0277]: `dyn std::fmt::Write` cannot be sent between threads safely
36
-
--> $DIR/async-fn-nonsend.rs:54:5
37
-
|
38
-
LL | fn assert_send(_: impl Send) {}
39
-
| ----------- ---- required by this bound in `assert_send`
40
-
...
41
-
LL | assert_send(non_sync_with_method_call());
42
-
| ^^^^^^^^^^^ `dyn std::fmt::Write` cannot be sent between threads safely
43
-
|
44
-
= help: the trait `std::marker::Send` is not implemented for `dyn std::fmt::Write`
45
-
= note: required because of the requirements on the impl of `std::marker::Send` for `&mut dyn std::fmt::Write`
46
-
= note: required because it appears within the type `std::fmt::Formatter<'_>`
47
-
= note: required because of the requirements on the impl of `std::marker::Send` for `&mut std::fmt::Formatter<'_>`
48
-
= note: required because it appears within the type `for<'r, 's> {&'r mut std::fmt::Formatter<'s>, bool, bool, impl std::future::Future, impl std::future::Future, ()}`
49
-
= note: required because it appears within the type `[static generator@$DIR/async-fn-nonsend.rs:39:38: 45:2 for<'r, 's> {&'r mut std::fmt::Formatter<'s>, bool, bool, impl std::future::Future, impl std::future::Future, ()}]`
50
-
= note: required because it appears within the type `std::future::GenFuture<[static generator@$DIR/async-fn-nonsend.rs:39:38: 45:2 for<'r, 's> {&'r mut std::fmt::Formatter<'s>, bool, bool, impl std::future::Future, impl std::future::Future, ()}]>`
51
-
= note: required because it appears within the type `impl std::future::Future`
52
-
= note: required because it appears within the type `impl std::future::Future`
53
-
54
-
error[E0277]: `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely
55
-
--> $DIR/async-fn-nonsend.rs:54:5
56
-
|
57
-
LL | fn assert_send(_: impl Send) {}
58
-
| ----------- ---- required by this bound in `assert_send`
59
-
...
60
-
LL | assert_send(non_sync_with_method_call());
61
-
| ^^^^^^^^^^^ `*mut (dyn std::ops::Fn() + 'static)` cannot be shared between threads safely
62
-
|
63
-
= help: within `std::fmt::ArgumentV1<'_>`, the trait `std::marker::Sync` is not implemented for `*mut (dyn std::ops::Fn() + 'static)`
64
-
= note: required because it appears within the type `std::marker::PhantomData<*mut (dyn std::ops::Fn() + 'static)>`
65
-
= note: required because it appears within the type `core::fmt::Void`
66
-
= note: required because it appears within the type `&core::fmt::Void`
67
-
= note: required because it appears within the type `std::fmt::ArgumentV1<'_>`
68
-
= note: required because of the requirements on the impl of `std::marker::Send` for `std::slice::Iter<'_, std::fmt::ArgumentV1<'_>>`
69
-
= note: required because it appears within the type `std::fmt::Formatter<'_>`
70
-
= note: required because of the requirements on the impl of `std::marker::Send` for `&mut std::fmt::Formatter<'_>`
71
-
= note: required because it appears within the type `for<'r, 's> {&'r mut std::fmt::Formatter<'s>, bool, bool, impl std::future::Future, impl std::future::Future, ()}`
72
-
= note: required because it appears within the type `[static generator@$DIR/async-fn-nonsend.rs:39:38: 45:2 for<'r, 's> {&'r mut std::fmt::Formatter<'s>, bool, bool, impl std::future::Future, impl std::future::Future, ()}]`
73
-
= note: required because it appears within the type `std::future::GenFuture<[static generator@$DIR/async-fn-nonsend.rs:39:38: 45:2 for<'r, 's> {&'r mut std::fmt::Formatter<'s>, bool, bool, impl std::future::Future, impl std::future::Future, ()}]>`
12
+
= note: required because it appears within the type `std::option::Option<impl std::fmt::Debug>`
13
+
= note: required because it appears within the type `[witness@DefId(0:25 ~ async_fn_nonsend[8787]::non_send_temporary_in_match[0]::{{closure}}[0]){impl std::fmt::Debug, std::option::Option<impl std::fmt::Debug>, impl std::future::Future, impl std::future::Future, ()}]`
14
+
= note: required because it appears within the type `[static generator@$DIR/async-fn-nonsend.rs:28:40: 37:2 [witness@DefId(0:25 ~ async_fn_nonsend[8787]::non_send_temporary_in_match[0]::{{closure}}[0]){impl std::fmt::Debug, std::option::Option<impl std::fmt::Debug>, impl std::future::Future, impl std::future::Future, ()}]]`
15
+
= note: required because it appears within the type `std::future::GenFuture<[static generator@$DIR/async-fn-nonsend.rs:28:40: 37:2 [witness@DefId(0:25 ~ async_fn_nonsend[8787]::non_send_temporary_in_match[0]::{{closure}}[0]){impl std::fmt::Debug, std::option::Option<impl std::fmt::Debug>, impl std::future::Future, impl std::future::Future, ()}]]>`
74
16
= note: required because it appears within the type `impl std::future::Future`
75
17
= note: required because it appears within the type `impl std::future::Future`
76
18
77
-
error: aborting due to 4 previous errors
19
+
error: aborting due to previous error
78
20
79
21
For more information about this error, try `rustc --explain E0277`.
0 commit comments