mirror of https://github.com/rust-lang/rust
27 lines
881 B
Rust
27 lines
881 B
Rust
// This snippet ensures that no attempt to recover on a semicolon instead of
|
|
// comma is made next to a closure body.
|
|
//
|
|
// If this recovery happens, then plenty of errors are emitted. Here, we expect
|
|
// only one error.
|
|
//
|
|
// This is part of the following issues:
|
|
// https://github.com/rust-lang/rust/issues/88065
|
|
// https://github.com/rust-lang/rust/issues/107959
|
|
|
|
//@ run-rustfix
|
|
|
|
fn main() {
|
|
// Closure with multiple expressions delimited by semicolon.
|
|
let num = 5;
|
|
(1..num).reduce(|a, b| {
|
|
//~^ ERROR: closure bodies that contain statements must be surrounded by braces
|
|
println!("{}", a);
|
|
a * b
|
|
}).unwrap();
|
|
|
|
// Closure with a single expression ended by a semicolon.
|
|
let mut v = vec![1, 2, 3];
|
|
v.iter_mut().for_each(|x| {*x = *x+1;});
|
|
//~^ ERROR: closure bodies that contain statements must be surrounded by braces
|
|
}
|