diff options
Diffstat (limited to 'tests/ui/consts/control-flow/exhaustive-c-like-enum-match.rs')
-rw-r--r-- | tests/ui/consts/control-flow/exhaustive-c-like-enum-match.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/ui/consts/control-flow/exhaustive-c-like-enum-match.rs b/tests/ui/consts/control-flow/exhaustive-c-like-enum-match.rs new file mode 100644 index 000000000..4320133df --- /dev/null +++ b/tests/ui/consts/control-flow/exhaustive-c-like-enum-match.rs @@ -0,0 +1,29 @@ +// Test for <https://github.com/rust-lang/rust/issues/66756> + +// check-pass + +enum E { + A, + B, + C +} + +const fn f(e: E) { + match e { + E::A => {} + E::B => {} + E::C => {} + } +} + +const fn g(e: E) -> usize { + match e { + _ => 0 + } +} + +fn main() { + const X: usize = g(E::C); + assert_eq!(X, 0); + assert_eq!(g(E::A), 0); +} |