fix [manual_unwrap_or_default] suggestion ignoring side-effects

This commit is contained in:
J-ZhengLi 2024-03-30 09:18:53 +08:00
parent 124e68bef8
commit 5750e4670b
3 changed files with 76 additions and 8 deletions

View file

@ -33,3 +33,32 @@ const fn issue_12568(opt: Option<bool>) -> bool {
None => false,
}
}
fn issue_12569() {
let match_none_se = match 1u32.checked_div(0) {
Some(v) => v,
None => {
println!("important");
0
},
};
let match_some_se = match 1u32.checked_div(0) {
Some(v) => {
println!("important");
v
},
None => 0,
};
let iflet_else_se = if let Some(v) = 1u32.checked_div(0) {
v
} else {
println!("important");
0
};
let iflet_then_se = if let Some(v) = 1u32.checked_div(0) {
println!("important");
v
} else {
0
};
}

View file

@ -57,3 +57,32 @@ const fn issue_12568(opt: Option<bool>) -> bool {
None => false,
}
}
fn issue_12569() {
let match_none_se = match 1u32.checked_div(0) {
Some(v) => v,
None => {
println!("important");
0
},
};
let match_some_se = match 1u32.checked_div(0) {
Some(v) => {
println!("important");
v
},
None => 0,
};
let iflet_else_se = if let Some(v) = 1u32.checked_div(0) {
v
} else {
println!("important");
0
};
let iflet_then_se = if let Some(v) = 1u32.checked_div(0) {
println!("important");
v
} else {
0
};
}