about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librustc_mir/transform/qualify_consts.rs2
-rw-r--r--src/test/ui/const-eval/union_promotion.nll.stderr11
2 files changed, 1 insertions, 12 deletions
diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs
index 89d539f6bca..7a724a2e394 100644
--- a/src/librustc_mir/transform/qualify_consts.rs
+++ b/src/librustc_mir/transform/qualify_consts.rs
@@ -515,7 +515,7 @@ impl<'a, 'tcx> Visitor<'tcx> for Qualifier<'a, 'tcx, 'tcx> {
                             if let Some(def) = base_ty.ty_adt_def() {
                                 if def.is_union() {
                                     match this.mode {
-                                        Mode::Fn => {},
+                                        Mode::Fn => this.not_const(),
                                         Mode::ConstFn => {
                                             if !this.tcx.sess.features_untracked().const_fn_union {
                                                 emit_feature_err(
diff --git a/src/test/ui/const-eval/union_promotion.nll.stderr b/src/test/ui/const-eval/union_promotion.nll.stderr
deleted file mode 100644
index ea95a8b42a4..00000000000
--- a/src/test/ui/const-eval/union_promotion.nll.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error: internal compiler error: unexpected region for local data ReStatic
-  --> $DIR/union_promotion.rs:19:29
-   |
-LL |       let x: &'static bool = &unsafe { //~ borrowed value does not live long enough
-   |  _____________________________^
-LL | |         Foo { a: &1 }.b == Foo { a: &2 }.b
-LL | |     };
-   | |_____^
-
-error: aborting due to previous error
-