struct Foo { _a : T1, _b : T2, } fn test1(arg : T) { let v : Vec<(u32,_) = vec![]; //~^ ERROR: expected one of //~| ERROR: type annotations needed } fn test2(arg1 : T1, arg2 : T2) { let foo : Foo::(arg : &'a u32) { let v : Vec<'a = vec![]; //~^ ERROR: expected one of //~| ERROR: type annotations needed for `Vec` } fn main() {}