summaryrefslogtreecommitdiffstats
path: root/tests/ui/async-await/issue-70935-complex-spans.stderr
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/ui/async-await/issue-70935-complex-spans.stderr41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/ui/async-await/issue-70935-complex-spans.stderr b/tests/ui/async-await/issue-70935-complex-spans.stderr
new file mode 100644
index 000000000..ab834daa8
--- /dev/null
+++ b/tests/ui/async-await/issue-70935-complex-spans.stderr
@@ -0,0 +1,41 @@
+error[E0277]: `*mut ()` cannot be shared between threads safely
+ --> $DIR/issue-70935-complex-spans.rs:15:23
+ |
+LL | fn foo(x: NotSync) -> impl Future + Send {
+ | ^^^^^^^^^^^^^^^^^^ `*mut ()` cannot be shared between threads safely
+ |
+ = help: within `NotSync`, the trait `Sync` is not implemented for `*mut ()`
+note: required because it appears within the type `PhantomData<*mut ()>`
+ --> $SRC_DIR/core/src/marker.rs:LL:COL
+note: required because it appears within the type `NotSync`
+ --> $DIR/issue-70935-complex-spans.rs:9:8
+ |
+LL | struct NotSync(PhantomData<*mut ()>);
+ | ^^^^^^^
+ = note: required for `&NotSync` to implement `Send`
+note: required because it's used within this closure
+ --> $DIR/issue-70935-complex-spans.rs:18:13
+ |
+LL | baz(|| async {
+ | ^^
+note: required because it's used within this `async fn` body
+ --> $DIR/issue-70935-complex-spans.rs:12:67
+ |
+LL | async fn baz<T>(_c: impl FnMut() -> T) where T: Future<Output=()> {
+ | ___________________________________________________________________^
+LL | | }
+ | |_^
+ = note: required because it captures the following types: `impl Future<Output = ()>`
+note: required because it's used within this `async` block
+ --> $DIR/issue-70935-complex-spans.rs:17:5
+ |
+LL | / async move {
+LL | | baz(|| async {
+LL | | foo(x.clone());
+LL | | }).await;
+LL | | }
+ | |_____^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0277`.