2 // Previously the closure's argument would be inferred to
3 // <S as ITrait<'a>>::Item, causing an error in MIR type
6 trait ITrait<'a> {type Item;}
10 impl<'a> ITrait<'a> for S { type Item = &'a mut usize; }
13 where I: for<'a> ITrait<'a>,
14 F: for<'a> FnMut(<I as ITrait<'a>>::Item) { }
18 m::<usize,S,_>(|x| { *x += 1; });