add missing constraints
This commit is contained in:
parent
b6f7eef946
commit
a03feaae55
1 changed files with 10 additions and 6 deletions
|
@ -7,7 +7,7 @@ use crate::interpret::{
|
||||||
};
|
};
|
||||||
|
|
||||||
use rustc_errors::ErrorReported;
|
use rustc_errors::ErrorReported;
|
||||||
use rustc_hir::{ConstContext, def::DefKind};
|
use rustc_hir::def::DefKind;
|
||||||
use rustc_middle::mir;
|
use rustc_middle::mir;
|
||||||
use rustc_middle::mir::interpret::ErrorHandled;
|
use rustc_middle::mir::interpret::ErrorHandled;
|
||||||
use rustc_middle::traits::Reveal;
|
use rustc_middle::traits::Reveal;
|
||||||
|
@ -34,9 +34,15 @@ fn eval_body_using_ecx<'mir, 'tcx>(
|
||||||
assert!(
|
assert!(
|
||||||
cid.promoted.is_some()
|
cid.promoted.is_some()
|
||||||
|| matches!(
|
|| matches!(
|
||||||
ecx.tcx.hir().body_const_context(cid.instance.def_id().expect_local()),
|
ecx.tcx.def_kind(cid.instance.def_id()),
|
||||||
Some(ConstContext::Const | ConstContext::Static(_))
|
DefKind::Const
|
||||||
)
|
| DefKind::Static
|
||||||
|
| DefKind::ConstParam
|
||||||
|
| DefKind::AnonConst
|
||||||
|
| DefKind::AssocConst
|
||||||
|
),
|
||||||
|
"Unexpected DefKind: {:?}",
|
||||||
|
ecx.tcx.def_kind(cid.instance.def_id())
|
||||||
);
|
);
|
||||||
let layout = ecx.layout_of(body.return_ty().subst(tcx, cid.instance.substs))?;
|
let layout = ecx.layout_of(body.return_ty().subst(tcx, cid.instance.substs))?;
|
||||||
assert!(!layout.is_unsized());
|
assert!(!layout.is_unsized());
|
||||||
|
@ -47,8 +53,6 @@ fn eval_body_using_ecx<'mir, 'tcx>(
|
||||||
let prom = cid.promoted.map_or(String::new(), |p| format!("::promoted[{:?}]", p));
|
let prom = cid.promoted.map_or(String::new(), |p| format!("::promoted[{:?}]", p));
|
||||||
trace!("eval_body_using_ecx: pushing stack frame for global: {}{}", name, prom);
|
trace!("eval_body_using_ecx: pushing stack frame for global: {}{}", name, prom);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ecx.push_stack_frame(
|
ecx.push_stack_frame(
|
||||||
cid.instance,
|
cid.instance,
|
||||||
body,
|
body,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue