diff options
| author | Deadbeef <ent3rm4n@gmail.com> | 2021-10-14 06:53:20 +0000 |
|---|---|---|
| committer | Deadbeef <ent3rm4n@gmail.com> | 2021-10-14 07:07:34 +0000 |
| commit | 26b78ccd317d7950e0aa9861c7c8e643d92d77cf (patch) | |
| tree | 0aeb747d656dff753b5e3c7f43c1dd3d98693cc1 /compiler/rustc_const_eval/src | |
| parent | 6770dbd4b5729677bcca6a4c73d3335e523a7ac9 (diff) | |
| download | rust-26b78ccd317d7950e0aa9861c7c8e643d92d77cf.tar.gz rust-26b78ccd317d7950e0aa9861c7c8e643d92d77cf.zip | |
Fix const stability
Diffstat (limited to 'compiler/rustc_const_eval/src')
| -rw-r--r-- | compiler/rustc_const_eval/src/transform/check_consts/check.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/rustc_const_eval/src/transform/check_consts/check.rs b/compiler/rustc_const_eval/src/transform/check_consts/check.rs index 22f14ffbd58..d704c4335c7 100644 --- a/compiler/rustc_const_eval/src/transform/check_consts/check.rs +++ b/compiler/rustc_const_eval/src/transform/check_consts/check.rs @@ -24,7 +24,7 @@ use std::ops::Deref; use super::ops::{self, NonConstOp, Status}; use super::qualifs::{self, CustomEq, HasMutInterior, NeedsNonConstDrop}; use super::resolver::FlowSensitiveAnalysis; -use super::{is_lang_special_const_fn, ConstCx, Qualif}; +use super::{is_lang_panic_fn, is_lang_special_const_fn, ConstCx, Qualif}; use crate::const_eval::is_unstable_const_fn; // We are using `MaybeMutBorrowedLocals` as a proxy for whether an item may have been mutated @@ -910,7 +910,10 @@ impl Visitor<'tcx> for Checker<'mir, 'tcx> { } } - return; + if is_lang_panic_fn(tcx, callee) { + // run stability check on non-panic special const fns. + return; + } } if Some(callee) == tcx.lang_items().exchange_malloc_fn() { |
