Improve match statements
This commit is contained in:
parent
17f30e5451
commit
34055a932b
@ -170,10 +170,7 @@ impl<'tcx> MirPass<'tcx> for EarlyOtherwiseBranch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn is_switch<'tcx>(terminator: &Terminator<'tcx>) -> bool {
|
fn is_switch<'tcx>(terminator: &Terminator<'tcx>) -> bool {
|
||||||
match terminator.kind {
|
matches!(terminator.kind, TerminatorKind::SwitchInt { .. })
|
||||||
TerminatorKind::SwitchInt { .. } => true,
|
|
||||||
_ => false,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Helper<'a, 'tcx> {
|
struct Helper<'a, 'tcx> {
|
||||||
|
@ -628,10 +628,7 @@ impl<'a, 'tcx> SimplifyBranchSameOptimizationFinder<'a, 'tcx> {
|
|||||||
// But `asm!(...)` could abort the program,
|
// But `asm!(...)` could abort the program,
|
||||||
// so we cannot assume that the `unreachable` terminator itself is reachable.
|
// so we cannot assume that the `unreachable` terminator itself is reachable.
|
||||||
// FIXME(Centril): use a normalization pass instead of a check.
|
// FIXME(Centril): use a normalization pass instead of a check.
|
||||||
|| bb.statements.iter().any(|stmt| match stmt.kind {
|
|| bb.statements.iter().any(|stmt| matches!(stmt.kind, StatementKind::LlvmInlineAsm(..)))
|
||||||
StatementKind::LlvmInlineAsm(..) => true,
|
|
||||||
_ => false,
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
.peekable();
|
.peekable();
|
||||||
|
|
||||||
|
@ -31,10 +31,7 @@ fn option_as_ref_deref() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn match_like_matches() {
|
fn match_like_matches() {
|
||||||
let _y = match Some(5) {
|
let _y = matches!(Some(5), Some(0));
|
||||||
Some(0) => true,
|
|
||||||
_ => false,
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn match_same_arms() {
|
fn match_same_arms() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user