]> git.lizzy.rs Git - rust.git/blobdiff - src/test/ui/variance/variance-covariant-self-trait-match.rs
More nll revisions
[rust.git] / src / test / ui / variance / variance-covariant-self-trait-match.rs
index e86a5fc630bd5d88f6f052bc6d1738568b07e9a0..ece450173ca8d553750608cdf4171124db494ec8 100644 (file)
@@ -3,6 +3,10 @@
 // Test that even when `Self` 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 {
     fn get() -> Self;
 }
@@ -11,13 +15,17 @@ fn get_min_from_max<'min, 'max, G>()
     where 'max : 'min, G : 'max, &'max G : Get
 {
     // Previously OK, now an error as traits are invariant.
-    impls_get::<&'min G>(); //~ ERROR mismatched types
+    impls_get::<&'min G>();
+    //[base]~^ ERROR mismatched types
+    //[nll]~^^ ERROR lifetime may not live long enough
 }
 
 fn get_max_from_min<'min, 'max, G>()
     where 'max : 'min, G : 'max, &'min G : Get
 {
-    impls_get::<&'max G>(); //~ ERROR mismatched types
+    impls_get::<&'max G>();
+    //[base]~^ ERROR mismatched types
+    //[nll]~^^ ERROR lifetime may not live long enough
 }
 
 fn impls_get<G>() where G : Get { }