about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMatthew Jasper <mjjasper1@gmail.com>2020-08-15 12:29:23 +0100
committerMatthew Jasper <mjjasper1@gmail.com>2020-10-06 11:19:32 +0100
commite42c97919cd5a7fe856865cfd1034dfe14206ceb (patch)
tree2480b6702640fd050134e7969534c164a4680bc6 /src/test
parente674cf0200347c5e58f8a3867657187b12e7b496 (diff)
downloadrust-e42c97919cd5a7fe856865cfd1034dfe14206ceb.tar.gz
rust-e42c97919cd5a7fe856865cfd1034dfe14206ceb.zip
Don't require lifetime super-bounds on traits apply to trait objects of that trait
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/traits/trait-object-supertrait-lifetime-bound.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/ui/traits/trait-object-supertrait-lifetime-bound.rs b/src/test/ui/traits/trait-object-supertrait-lifetime-bound.rs
new file mode 100644
index 00000000000..9d834727a4a
--- /dev/null
+++ b/src/test/ui/traits/trait-object-supertrait-lifetime-bound.rs
@@ -0,0 +1,16 @@
+// check-pass
+
+use std::any::Any;
+
+trait A<T>: Any {
+    fn m(&self) {}
+}
+
+impl<S, T: 'static> A<S> for T {}
+
+fn call_obj<'a>() {
+    let obj: &dyn A<&'a ()> = &();
+    obj.m();
+}
+
+fn main() {}