about summary refs log tree commit diff
path: root/src/test/ui
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2021-10-26 19:32:45 +0200
committerGitHub <noreply@github.com>2021-10-26 19:32:45 +0200
commit40d3819a3c161de04d9acdfb29eb2153aee2a1ad (patch)
tree12fcd9cea49cf4e13e4361134ae84f9c61f476f7 /src/test/ui
parent76392fbaf33126e20a2f48b2df4231dea74624ae (diff)
parent60ffac07cb027b8fb6d1416c275c241119a7c6f5 (diff)
downloadrust-40d3819a3c161de04d9acdfb29eb2153aee2a1ad.tar.gz
rust-40d3819a3c161de04d9acdfb29eb2153aee2a1ad.zip
Rollup merge of #90303 - WaffleLapkin:regression_test_90164, r=JohnTitor
Add regression test for issue 90164

Closes #90164 (previously fixed by #90181)
Diffstat (limited to 'src/test/ui')
-rw-r--r--src/test/ui/typeck/issue-90164.rs9
-rw-r--r--src/test/ui/typeck/issue-90164.stderr22
2 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/typeck/issue-90164.rs b/src/test/ui/typeck/issue-90164.rs
new file mode 100644
index 00000000000..63350433e46
--- /dev/null
+++ b/src/test/ui/typeck/issue-90164.rs
@@ -0,0 +1,9 @@
+fn copy<R: Unpin, W>(_: R, _: W) {}
+
+fn f<T>(r: T) {
+    let w = ();
+    copy(r, w);
+    //~^ ERROR [E0277]
+}
+
+fn main() {}
diff --git a/src/test/ui/typeck/issue-90164.stderr b/src/test/ui/typeck/issue-90164.stderr
new file mode 100644
index 00000000000..1e2f1bae3bd
--- /dev/null
+++ b/src/test/ui/typeck/issue-90164.stderr
@@ -0,0 +1,22 @@
+error[E0277]: `T` cannot be unpinned
+  --> $DIR/issue-90164.rs:5:10
+   |
+LL |     copy(r, w);
+   |     ---- ^ the trait `Unpin` is not implemented for `T`
+   |     |
+   |     required by a bound introduced by this call
+   |
+   = note: consider using `Box::pin`
+note: required by a bound in `copy`
+  --> $DIR/issue-90164.rs:1:12
+   |
+LL | fn copy<R: Unpin, W>(_: R, _: W) {}
+   |            ^^^^^ required by this bound in `copy`
+help: consider restricting type parameter `T`
+   |
+LL | fn f<T: std::marker::Unpin>(r: T) {
+   |       ++++++++++++++++++++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0277`.