If we encounter `fn foo<T: Trait()`, the recovery logic would it as if `Trait` was intended to use the Fn-like trait syntax, but if we don't know for certain that we've parsed a full trait bound (`fn foo<T: Trait()>`), we bail from the recovery as more likely there could have been a missing closing `>` and the `(` corresponds to the start of the fn parameter list.
10 lines
147 B
Rust
10 lines
147 B
Rust
// Issue #141436
|
|
//@ run-rustfix
|
|
#![allow(dead_code)]
|
|
|
|
trait Trait<'a> {}
|
|
|
|
fn foo<T: Trait<'static>>() {}
|
|
//~^ ERROR expected one of
|
|
|
|
fn main() {}
|