When encountering an attribute in a body, we try to recover from an attribute on an expression (as opposed to a statement). We need to properly clean up when the attribute is at the end of the body where a tail expression would be. Fix #118164.
10 lines
286 B
Rust
10 lines
286 B
Rust
// Issue #118164: recovery path leaving unemitted error behind
|
|
fn bar() -> String {
|
|
#[cfg(feature = )]
|
|
[1, 2, 3].iter().map().collect::<String>() //~ ERROR expected `;`, found `#`
|
|
#[attr] //~ ERROR expected statement after outer attribute
|
|
}
|
|
fn main() {
|
|
let _ = bar();
|
|
}
|