diff options
| author | Ralf Jung <post@ralfj.de> | 2022-07-22 17:26:10 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-22 17:26:10 -0400 |
| commit | 25de227b434dc596f9f9caef180e0811564f8d14 (patch) | |
| tree | 68fc54468999eda64dba7d8d5ce1b8a780ad6cb3 | |
| parent | 0549516230e9286ed75e3c59cd928e8ba1d6969c (diff) | |
| parent | 19e29e9a5750c744926a491238e6c80e8a929988 (diff) | |
| download | rust-25de227b434dc596f9f9caef180e0811564f8d14.tar.gz rust-25de227b434dc596f9f9caef180e0811564f8d14.zip | |
Rollup merge of #99607 - RalfJung:vtable-check, r=eddyb
interpret: fix vtable check debug assertion Fixes https://github.com/rust-lang/rust/issues/99605 Thanks to `@eddyb` for suggesting the fix!
| -rw-r--r-- | compiler/rustc_const_eval/src/interpret/terminator.rs | 3 |
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); } |
