about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2021-02-17 23:51:20 +0100
committerGitHub <noreply@github.com>2021-02-17 23:51:20 +0100
commitf7501b6d5ec7b72a696d4f7e03fbb47116c7b71f (patch)
treea43bc225212082351133ae53a1512c568fb22bb8 /src
parent0b2f2b941332954c5bd80e61eabce3ee2161a7f5 (diff)
parent5385a3d6a779b2e85d47c3fc317796ea3755c11a (diff)
Rollup merge of #82021 - csmoe:issue-78600, r=tmandry
Spell out nested Self type in lint message

Closes #78600
r? `@tmandry`
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/async-await/issues/issue-78600.rs12
-rw-r--r--src/test/ui/async-await/issues/issue-78600.stderr11
2 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/async-await/issues/issue-78600.rs b/src/test/ui/async-await/issues/issue-78600.rs
new file mode 100644
index 00000000000..8aaeaecf3e1
--- /dev/null
+++ b/src/test/ui/async-await/issues/issue-78600.rs
@@ -0,0 +1,12 @@
+// edition:2018
+
+struct S<'a>(&'a i32);
+
+impl<'a> S<'a> {
+    async fn new(i: &'a i32) -> Result<Self, ()> {
+        //~^ ERROR: `async fn`
+        Ok(S(&22))
+    }
+}
+
+fn main() {}
diff --git a/src/test/ui/async-await/issues/issue-78600.stderr b/src/test/ui/async-await/issues/issue-78600.stderr
new file mode 100644
index 00000000000..92b66147106
--- /dev/null
+++ b/src/test/ui/async-await/issues/issue-78600.stderr
@@ -0,0 +1,11 @@
+error[E0760]: `async fn` return type cannot contain a projection or `Self` that references lifetimes from a parent scope
+  --> $DIR/issue-78600.rs:6:33
+   |
+LL |     async fn new(i: &'a i32) -> Result<Self, ()> {
+   |                                 ^^^^^^^----^^^^^
+   |                                        |
+   |                                        help: consider spelling out the type instead: `S<'a>`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0760`.