rust/tests/ui/parser/issues/issue-103381.fixed

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

45 lines
978 B
Rust
Raw Permalink Normal View History

//@ run-rustfix
#![feature(let_chains)]
#![allow(unused_variables)]
#![allow(dead_code)]
#![allow(irrefutable_let_patterns)]
fn err_some(b: bool, x: Option<u32>) {
if b && let Some(x) = x {}
//~^ ERROR unexpected `if` in the condition expression
}
fn err_none(b: bool, x: Option<u32>) {
if b && let None = x {}
//~^ ERROR unexpected `if` in the condition expression
}
fn err_bool_1() {
if true && true { true } else { false };
//~^ ERROR unexpected `if` in the condition expression
}
fn err_bool_2() {
if true && false { true } else { false };
//~^ ERROR unexpected `if` in the condition expression
}
fn should_ok_1() {
if true && if let x = 1 { true } else { true } {}
}
fn should_ok_2() {
if true && if let 1 = 1 { true } else { true } {}
}
fn should_ok_3() {
if true && if true { true } else { false } {}
}
fn should_ok_in_nested() {
if true && if true { true } else { false } { true } else { false };
}
fn main() {}