about summary refs log tree commit diff
path: root/tests/ui/impl-trait/issues/issue-54895.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/impl-trait/issues/issue-54895.rs')
-rw-r--r--tests/ui/impl-trait/issues/issue-54895.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/impl-trait/issues/issue-54895.rs b/tests/ui/impl-trait/issues/issue-54895.rs
new file mode 100644
index 00000000000..8d7a1d56f83
--- /dev/null
+++ b/tests/ui/impl-trait/issues/issue-54895.rs
@@ -0,0 +1,22 @@
+trait Trait<'a> {
+    type Out;
+    fn call(&'a self) -> Self::Out;
+}
+
+struct X(());
+
+impl<'a> Trait<'a> for X {
+    type Out = ();
+    fn call(&'a self) -> Self::Out {
+        ()
+    }
+}
+
+fn f() -> impl for<'a> Trait<'a, Out = impl Sized + 'a> {
+    //~^ ERROR higher kinded lifetime bounds on nested opaque types are not supported yet
+    X(())
+}
+
+fn main() {
+    let _ = f();
+}