ff73a40995
Avoid showing this error where it doesn't make sense by not assuming "and" and "or" were intended to mean "&&" and "||" until after we decide to continue parsing input as an associative expression. Note that the decision of whether or not to continue parsing input as an associative expression doesn't actually depend on this assumption. Fixes #75599
62 lines
1.1 KiB
Rust
62 lines
1.1 KiB
Rust
// run-rustfix
|
|
|
|
// This test is to check if suggestions can be applied automatically.
|
|
|
|
#![allow(dead_code, unused_parens)]
|
|
|
|
fn main() {}
|
|
|
|
fn test_and() {
|
|
let a = true;
|
|
let b = false;
|
|
|
|
let _ = a && b; //~ ERROR `and` is not a logical operator
|
|
|
|
if a && b { //~ ERROR `and` is not a logical operator
|
|
println!("both");
|
|
}
|
|
}
|
|
|
|
fn test_or() {
|
|
let a = true;
|
|
let b = false;
|
|
|
|
let _ = a || b; //~ ERROR `or` is not a logical operator
|
|
|
|
if a || b { //~ ERROR `or` is not a logical operator
|
|
println!("both");
|
|
}
|
|
}
|
|
|
|
fn test_and_par() {
|
|
let a = true;
|
|
let b = false;
|
|
if (a && b) { //~ ERROR `and` is not a logical operator
|
|
println!("both");
|
|
}
|
|
}
|
|
|
|
fn test_or_par() {
|
|
let a = true;
|
|
let b = false;
|
|
if (a || b) { //~ ERROR `or` is not a logical operator
|
|
println!("both");
|
|
}
|
|
}
|
|
|
|
fn test_while_and() {
|
|
let a = true;
|
|
let b = false;
|
|
while a && b { //~ ERROR `and` is not a logical operator
|
|
println!("both");
|
|
}
|
|
}
|
|
|
|
fn test_while_or() {
|
|
let a = true;
|
|
let b = false;
|
|
while a || b { //~ ERROR `or` is not a logical operator
|
|
println!("both");
|
|
}
|
|
}
|