]> git.proxmox.com Git - rustc.git/blobdiff - src/test/ui/variance/variance-covariant-arg-object.rs
New upstream version 1.62.1+dfsg1
[rustc.git] / src / test / ui / variance / variance-covariant-arg-object.rs
index 7cbf65ae3d924be9a5d21ebf525f6c1cc0c7c708..20f74a3987e126c3ae36c22f66792f817367f532 100644 (file)
@@ -3,6 +3,10 @@
 // Test that even when `T` is only used in covariant position, it
 // is treated as invariant.
 
+// revisions: base nll
+// ignore-compare-mode-nll
+//[nll] compile-flags: -Z borrowck=mir
+
 trait Get<T> : 'static {
     fn get(&self) -> T;
 }
@@ -12,14 +16,18 @@ fn get_min_from_max<'min, 'max>(v: Box<dyn Get<&'max i32>>)
     where 'max : 'min
 {
     // Previously OK, now an error as traits are invariant.
-    v //~ ERROR mismatched types
+    v
+    //[base]~^ ERROR mismatched types
+    //[nll]~^^ ERROR lifetime may not live long enough
 }
 
 fn get_max_from_min<'min, 'max, G>(v: Box<dyn Get<&'min i32>>)
                                    -> Box<dyn Get<&'max i32>>
     where 'max : 'min
 {
-    v //~ ERROR mismatched types
+    v
+    //[base]~^ ERROR mismatched types
+    //[nll]~^^ ERROR lifetime may not live long enough
 }
 
 fn main() { }