]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/simplify-arm-identity.rs
Rollup merge of #100367 - fmease:fix-100365, r=compiler-errors
[rust.git] / src / test / mir-opt / simplify-arm-identity.rs
1 // Checks that `SimplifyArmIdentity` is not applied if enums have incompatible layouts.
2 // Regression test for issue #66856.
3 //
4 // compile-flags: -Zmir-opt-level=3
5 // EMIT_MIR_FOR_EACH_BIT_WIDTH
6
7 enum Src {
8     Foo(u8),
9     Bar,
10 }
11
12 enum Dst {
13     Foo(u8),
14 }
15
16 // EMIT_MIR simplify_arm_identity.main.SimplifyArmIdentity.diff
17 fn main() {
18     let e: Src = Src::Foo(0);
19     let _: Dst = match e {
20         Src::Foo(x) => Dst::Foo(x),
21         Src::Bar => Dst::Foo(0),
22     };
23 }