62 lines
1.3 KiB
Rust
62 lines
1.3 KiB
Rust
// compile-flags: --error-format json
|
|
// run-rustfix
|
|
|
|
// The output for humans should just highlight the whole span without showing
|
|
// the suggested replacement, but we also want to test that suggested
|
|
// replacement only removes one set of parentheses, rather than naïvely
|
|
// stripping away any starting or ending parenthesis characters—hence this
|
|
// test of the JSON error format.
|
|
|
|
#![deny(unused_parens)]
|
|
#![allow(unreachable_code)]
|
|
|
|
fn main() {
|
|
|
|
let _b = false;
|
|
|
|
if (_b) { //~ ERROR unnecessary parentheses
|
|
println!("hello");
|
|
}
|
|
|
|
f();
|
|
|
|
}
|
|
|
|
fn f() -> bool {
|
|
let c = false;
|
|
|
|
if(c) { //~ ERROR unnecessary parentheses
|
|
println!("next");
|
|
}
|
|
|
|
if (c){ //~ ERROR unnecessary parentheses
|
|
println!("prev");
|
|
}
|
|
|
|
while (false && true){
|
|
if (c) { //~ ERROR unnecessary parentheses
|
|
println!("norm");
|
|
}
|
|
|
|
}
|
|
|
|
while(true && false) { //~ ERROR unnecessary parentheses
|
|
for _ in (0 .. 3){ //~ ERROR unnecessary parentheses
|
|
println!("e~")
|
|
}
|
|
}
|
|
|
|
for _ in (0 .. 3) { //~ ERROR unnecessary parentheses
|
|
while (true && false) { //~ ERROR unnecessary parentheses
|
|
println!("e~")
|
|
}
|
|
}
|
|
|
|
|
|
loop {
|
|
if (break { return true }) {
|
|
}
|
|
}
|
|
false
|
|
}
|