about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2020-03-25 06:45:38 +0100
committerGitHub <noreply@github.com>2020-03-25 06:45:38 +0100
commit83fc855d03fff836aeed7ddd533b94916bf47081 (patch)
treed9e53b03b1b3c003b95e3475ab759862f2001c60
parentd894f5eaf577422bb789564cc2029f833a7fcdf0 (diff)
parent1a21c28e3943ccd910454f641a1612cbb43a5c3b (diff)
downloadrust-83fc855d03fff836aeed7ddd533b94916bf47081.tar.gz
rust-83fc855d03fff836aeed7ddd533b94916bf47081.zip
Rollup merge of #70376 - tmandry:issue-66312, r=Centril
Add test for #66312

Closes #66312. This issue was fixed by #68884.

r? @Zoxc
-rw-r--r--src/test/ui/async-await/issue-66312.rs14
-rw-r--r--src/test/ui/async-await/issue-66312.stderr12
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/async-await/issue-66312.rs b/src/test/ui/async-await/issue-66312.rs
new file mode 100644
index 00000000000..9224971ecb1
--- /dev/null
+++ b/src/test/ui/async-await/issue-66312.rs
@@ -0,0 +1,14 @@
+// edition:2018
+
+trait Test<T> {
+    fn is_some(self: T); //~ ERROR invalid `self` parameter type
+}
+
+async fn f() {
+    let x = Some(2);
+    if x.is_some() {
+        println!("Some");
+    }
+}
+
+fn main() {}
diff --git a/src/test/ui/async-await/issue-66312.stderr b/src/test/ui/async-await/issue-66312.stderr
new file mode 100644
index 00000000000..80d294a10a0
--- /dev/null
+++ b/src/test/ui/async-await/issue-66312.stderr
@@ -0,0 +1,12 @@
+error[E0307]: invalid `self` parameter type: T
+  --> $DIR/issue-66312.rs:4:22
+   |
+LL |     fn is_some(self: T);
+   |                      ^
+   |
+   = note: type of `self` must be `Self` or a type that dereferences to it
+   = help: consider changing to `self`, `&self`, `&mut self`, `self: Box<Self>`, `self: Rc<Self>`, `self: Arc<Self>`, or `self: Pin<P>` (where P is one of the previous types except `Self`)
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0307`.