#![allow(dead_code)] // Test that even when `T` is only used in contravariant position, it // is treated as invariant. trait Get : 'static { fn get(&self, t: T); } fn get_min_from_max<'min, 'max>(v: Box>) -> Box> where 'max : 'min { v //~^ ERROR lifetime may not live long enough } fn get_max_from_min<'min, 'max>(v: Box>) -> Box> where 'max : 'min { // Previously OK: v //~^ ERROR lifetime may not live long enough } fn main() { }