about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorsamlich <1349989+samlich@users.noreply.github.com>2020-09-29 19:46:01 +0000
committersamlich <1349989+samlich@users.noreply.github.com>2020-09-30 02:30:14 +0000
commit607d30dcfa8c40b91d0073a18c5897eee00a4cda (patch)
tree5d922044268ea9f65dcf6fd2bbb05e90d3ad6b99 /src/test
parent9b77a6a20021cb8783111c04e9260963f15b550e (diff)
downloadrust-607d30dcfa8c40b91d0073a18c5897eee00a4cda.tar.gz
rust-607d30dcfa8c40b91d0073a18c5897eee00a4cda.zip
Add test for issue #74761
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74761.rs16
-rw-r--r--src/test/ui/type-alias-impl-trait/issue-74761.stderr15
2 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-impl-trait/issue-74761.rs b/src/test/ui/type-alias-impl-trait/issue-74761.rs
new file mode 100644
index 00000000000..4345b5d886e
--- /dev/null
+++ b/src/test/ui/type-alias-impl-trait/issue-74761.rs
@@ -0,0 +1,16 @@
+#![feature(member_constraints)]
+#![feature(type_alias_impl_trait)]
+
+pub trait A {
+    type B;
+    fn f(&self) -> Self::B;
+}
+impl<'a, 'b> A for () {
+    //~^ ERROR the lifetime parameter `'a` is not constrained
+    //~| ERROR the lifetime parameter `'b` is not constrained
+    type B = impl core::fmt::Debug;
+
+    fn f(&self) -> Self::B {}
+}
+
+fn main() {}
diff --git a/src/test/ui/type-alias-impl-trait/issue-74761.stderr b/src/test/ui/type-alias-impl-trait/issue-74761.stderr
new file mode 100644
index 00000000000..3f38fa4de01
--- /dev/null
+++ b/src/test/ui/type-alias-impl-trait/issue-74761.stderr
@@ -0,0 +1,15 @@
+error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates
+  --> $DIR/issue-74761.rs:8:6
+   |
+LL | impl<'a, 'b> A for () {
+   |      ^^ unconstrained lifetime parameter
+
+error[E0207]: the lifetime parameter `'b` is not constrained by the impl trait, self type, or predicates
+  --> $DIR/issue-74761.rs:8:10
+   |
+LL | impl<'a, 'b> A for () {
+   |          ^^ unconstrained lifetime parameter
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0207`.