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