1 // Test that we correctly infer variance for type parameters in
2 // various types and traits.
4 #![feature(rustc_attrs)]
7 struct TestImm<A, B> { //~ ERROR [+, +]
13 struct TestMut<A, B:'static> { //~ ERROR [+, o]
19 struct TestIndirect<A:'static, B:'static> { //~ ERROR [+, o]
24 struct TestIndirect2<A:'static, B:'static> { //~ ERROR [o, o]
34 fn set(&mut self, a: A);
38 struct TestObject<A, R> { //~ ERROR [o, o]
39 n: Box<dyn Setter<A>+Send>,
40 m: Box<dyn Getter<R>+Send>,