about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2022-07-22 10:37:03 -0400
committerRalf Jung <post@ralfj.de>2022-07-22 10:37:03 -0400
commit19e29e9a5750c744926a491238e6c80e8a929988 (patch)
tree75dacda529ac5e03a8b0a2fc3b146481e5acabfa
parente7a9c1141698bc4557b9da3d3fce2bf75339427f (diff)
downloadrust-19e29e9a5750c744926a491238e6c80e8a929988.tar.gz
rust-19e29e9a5750c744926a491238e6c80e8a929988.zip
interpret: fix vtable check debug assertion
-rw-r--r--compiler/rustc_const_eval/src/interpret/terminator.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/rustc_const_eval/src/interpret/terminator.rs b/compiler/rustc_const_eval/src/interpret/terminator.rs
index e7e60b5fa23..6fef7b3b3cf 100644
--- a/compiler/rustc_const_eval/src/interpret/terminator.rs
+++ b/compiler/rustc_const_eval/src/interpret/terminator.rs
@@ -589,13 +589,12 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
                         ty::ExistentialTraitRef::erase_self_ty(tcx, virtual_trait_ref);
                     let concrete_trait_ref = existential_trait_ref.with_self_ty(tcx, dyn_ty);
 
-                    let concrete_method = Instance::resolve(
+                    let concrete_method = Instance::resolve_for_vtable(
                         tcx,
                         self.param_env,
                         def_id,
                         instance.substs.rebase_onto(tcx, trait_def_id, concrete_trait_ref.substs),
                     )
-                    .unwrap()
                     .unwrap();
                     assert_eq!(fn_inst, concrete_method);
                 }