// run-rustfix #![allow(warnings)] // This test checks that the following error is emitted and the suggestion works: // // ``` // let _ = vec![1, 2, 3].into_iter().collect::<<<Vec<usize>>(); // ^^ help: remove extra angle brackets // ``` trait Foo { type Output; } fn foo<T: Foo>() { // More complex cases with more than one correct leading `<` character: bar::<<T as Foo>::Output>(); //~^ ERROR unmatched angle bracket bar::<<T as Foo>::Output>(); //~^ ERROR unmatched angle bracket bar::<<T as Foo>::Output>(); //~^ ERROR unmatched angle bracket bar::<<T as Foo>::Output>(); } fn bar<T>() {} fn main() { let _ = vec![1, 2, 3].into_iter().collect::<Vec<usize>>(); //~^ ERROR unmatched angle bracket let _ = vec![1, 2, 3].into_iter().collect::<Vec<usize>>(); //~^ ERROR unmatched angle bracket let _ = vec![1, 2, 3].into_iter().collect::<Vec<usize>>(); //~^ ERROR unmatched angle bracket let _ = vec![1, 2, 3].into_iter().collect::<Vec<usize>>(); //~^ ERROR unmatched angle bracket let _ = vec![1, 2, 3].into_iter().collect::<Vec<usize>>(); }