3 // Test that even when `T` is only used in covariant position, it
4 // is treated as invariant.
6 trait Get<T> : 'static {
10 fn get_min_from_max<'min, 'max>(v: Box<dyn Get<&'max i32>>)
11 -> Box<dyn Get<&'min i32>>
14 // Previously OK, now an error as traits are invariant.
15 v //~ ERROR mismatched types
18 fn get_max_from_min<'min, 'max, G>(v: Box<dyn Get<&'min i32>>)
19 -> Box<dyn Get<&'max i32>>
22 v //~ ERROR mismatched types