| // Checks that regions which appear in a trait object type are | |
| // observed by the variance inference algorithm (and hence | |
| // `TOption` is contavariant w/r/t `'a` and not bivariant). | |
| // | |
| // Issue #18262. | |
| #![feature(rustc_attrs)] | |
| use std::mem; | |
| trait T { fn foo(&self); } | |
| #[rustc_variance] | |
| struct TOption<'a> { //~ ERROR ['a: +] | |
| v: Option<Box<dyn T + 'a>>, | |
| } | |
| fn main() { } |