From 8f4c77c61b05dd6155e7df9c88b3a923e6673d20 Mon Sep 17 00:00:00 2001 From: David Renshaw <dwrenshaw@gmail.com> Date: Sun, 11 Feb 2018 20:49:50 -0500 Subject: [PATCH] rustup --- src/eval_context.rs | 4 +++- tests/compile-fail/invalid_enum_discriminant.rs | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/eval_context.rs b/src/eval_context.rs index da25b1b..bbcb761 100644 --- a/src/eval_context.rs +++ b/src/eval_context.rs @@ -686,7 +686,9 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> { } self.write_primval(dest, PrimVal::Bytes(discr_val), dest_ty)?; } else { - bug!("rustc only generates Rvalue::Discriminant for enums"); + //bug!("rustc only generates Rvalue::Discriminant for enums"); + // Getting here is no longer a bug. Is there something else we should be doing? + // See https://github.com/rust-lang/rust/pull/48092. } }, } diff --git a/tests/compile-fail/invalid_enum_discriminant.rs b/tests/compile-fail/invalid_enum_discriminant.rs index bde7820..0b594b9 100644 --- a/tests/compile-fail/invalid_enum_discriminant.rs +++ b/tests/compile-fail/invalid_enum_discriminant.rs @@ -5,8 +5,8 @@ pub enum Foo { fn main() { let f = unsafe { std::mem::transmute::<i32, Foo>(42) }; - match f { - Foo::A => {}, //~ ERROR invalid enum discriminant value read + match f { //~ ERROR invalid enum discriminant value read + Foo::A => {}, Foo::B => {}, Foo::C => {}, Foo::D => {}, -- GitLab