From 27bd84916c857f84d1562874e660cbb8f2d4aa2c Mon Sep 17 00:00:00 2001 From: Dylan MacKenzie Date: Fri, 20 Sep 2019 08:48:47 -0700 Subject: [PATCH] Correct list of miri-supported operations Heap allocations are out, indirect `fn` calls are in! --- src/librustc_mir/transform/check_consts/validation.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librustc_mir/transform/check_consts/validation.rs b/src/librustc_mir/transform/check_consts/validation.rs index eee8f4856fd8..6a8ac3f30854 100644 --- a/src/librustc_mir/transform/check_consts/validation.rs +++ b/src/librustc_mir/transform/check_consts/validation.rs @@ -636,8 +636,6 @@ pub mod ops { #[derive(Debug)] pub struct FnCallIndirect; impl NonConstOp for FnCallIndirect { - const IS_SUPPORTED_IN_MIRI: bool = false; - fn emit_error(&self, item: &Item<'_, '_>, span: Span) { let mut err = item.tcx.sess.struct_span_err( span, @@ -698,6 +696,8 @@ pub mod ops { #[derive(Debug)] pub struct HeapAllocation; impl NonConstOp for HeapAllocation { + const IS_SUPPORTED_IN_MIRI: bool = false; + fn emit_error(&self, item: &Item<'_, '_>, span: Span) { let mut err = struct_span_err!(item.tcx.sess, span, E0010, "allocations are not allowed in {}s", item.mode);