| //@ 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>>(); | |
| } |