Skip to content

Commit

Permalink
Fix expansion of or-patterns
Browse files Browse the repository at this point in the history
  • Loading branch information
Nadrieril committed Jun 27, 2024
1 parent 5df6f72 commit 834f043
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
3 changes: 3 additions & 0 deletions compiler/rustc_mir_build/src/build/matches/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1411,6 +1411,9 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
break;
}
}
if expand_until != 0 {
expand_until = i + 1;
}
}
let (candidates_to_expand, remaining_candidates) = candidates.split_at_mut(expand_until);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ fn match_enum(_1: E1) -> bool {
debug x => _1;
let mut _0: bool;
let mut _2: isize;
let mut _3: isize;

bb0: {
PlaceMention(_1);
_2 = discriminant(_1);
switchInt(move _2) -> [0: bb3, 1: bb5, otherwise: bb2];
switchInt(move _2) -> [0: bb3, 1: bb5, 2: bb7, otherwise: bb2];
}

bb1: {
Expand All @@ -18,37 +17,36 @@ fn match_enum(_1: E1) -> bool {
}

bb2: {
_3 = discriminant(_1);
switchInt(move _3) -> [2: bb8, otherwise: bb1];
goto -> bb1;
}

bb3: {
goto -> bb7;
goto -> bb9;
}

bb4: {
goto -> bb2;
}

bb5: {
goto -> bb7;
goto -> bb9;
}

bb6: {
goto -> bb2;
}

bb7: {
falseEdge -> [real: bb10, imaginary: bb2];
_0 = const false;
goto -> bb11;
}

bb8: {
_0 = const false;
goto -> bb11;
goto -> bb2;
}

bb9: {
goto -> bb1;
falseEdge -> [real: bb10, imaginary: bb7];
}

bb10: {
Expand Down

0 comments on commit 834f043

Please sign in to comment.