Extra assertions in eval_body_using_ecx to disallow queries for
functions that does allocations
This commit is contained in:
parent
7cb74ed191
commit
de1cd4b36d
2 changed files with 7 additions and 1 deletions
|
@ -30,6 +30,13 @@ fn eval_body_using_ecx<'mir, 'tcx>(
|
|||
body: &'mir mir::Body<'tcx>,
|
||||
) -> InterpResult<'tcx, MPlaceTy<'tcx>> {
|
||||
debug!("eval_body_using_ecx: {:?}, {:?}", cid, ecx.param_env);
|
||||
assert!(
|
||||
cid.promoted.is_some()
|
||||
|| matches!(
|
||||
ecx.tcx.hir().body_const_context(def_id),
|
||||
Some(ConstContext::Const | ConstContext::Static(_))
|
||||
)
|
||||
);
|
||||
let tcx = *ecx.tcx;
|
||||
let layout = ecx.layout_of(body.return_ty().subst(tcx, cid.instance.substs))?;
|
||||
assert!(!layout.is_unsized());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue