diff options
Diffstat (limited to 'src/test/ui/variance/variance-contravariant-arg-trait-match.rs')
-rw-r--r-- | src/test/ui/variance/variance-contravariant-arg-trait-match.rs | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/src/test/ui/variance/variance-contravariant-arg-trait-match.rs b/src/test/ui/variance/variance-contravariant-arg-trait-match.rs deleted file mode 100644 index e0b280105..000000000 --- a/src/test/ui/variance/variance-contravariant-arg-trait-match.rs +++ /dev/null @@ -1,28 +0,0 @@ -#![allow(dead_code)] - -// Test that even when `T` is only used in contravariant position, it -// is treated as invariant. - -trait Get<T> { - fn get(&self, t: T); -} - -fn get_min_from_max<'min, 'max, G>() - where 'max : 'min, G : Get<&'max i32> -{ - impls_get::<G,&'min i32>() - //~^ ERROR lifetime may not live long enough -} - -fn get_max_from_min<'min, 'max, G>() - where 'max : 'min, G : Get<&'min i32> -{ - // Previously OK, but now an error because traits are invariant: - - impls_get::<G,&'max i32>() - //~^ ERROR lifetime may not live long enough -} - -fn impls_get<G,T>() where G : Get<T> { } - -fn main() { } |