@@ -25,7 +25,7 @@ impl<'a, 'mir, 'tcx, M: Machine<'a, 'mir, 'tcx>> InterpretCx<'a, 'mir, 'tcx, M>
2525 // always use the same vtable for the same (Type, Trait) combination.
2626 // That's not what happens in rustc, but emulating per-crate deduplication
2727 // does not sound like it actually makes anything any better.
28- return Ok ( Pointer :: from ( vtable) . with_default_tag ( ) ) ;
28+ return Ok ( vtable) ;
2929 }
3030
3131 let methods = if let Some ( poly_trait_ref) = poly_trait_ref {
@@ -56,7 +56,7 @@ impl<'a, 'mir, 'tcx, M: Machine<'a, 'mir, 'tcx>> InterpretCx<'a, 'mir, 'tcx, M>
5656 let tcx = & * self . tcx ;
5757
5858 let drop = crate :: monomorphize:: resolve_drop_in_place ( * tcx, ty) ;
59- let drop = self . memory . create_fn_alloc ( drop) . with_default_tag ( ) ;
59+ let drop = self . memory . create_fn_alloc ( drop) ;
6060 // no need to do any alignment checks on the memory accesses below, because we know the
6161 // allocation is correctly aligned as we created it above. Also we're only offsetting by
6262 // multiples of `ptr_align`, which means that it will stay aligned to `ptr_align`.
@@ -83,7 +83,7 @@ impl<'a, 'mir, 'tcx, M: Machine<'a, 'mir, 'tcx>> InterpretCx<'a, 'mir, 'tcx, M>
8383 def_id,
8484 substs,
8585 ) . ok_or_else ( || InterpError :: TooGeneric ) ?;
86- let fn_ptr = self . memory . create_fn_alloc ( instance) . with_default_tag ( ) ;
86+ let fn_ptr = self . memory . create_fn_alloc ( instance) ;
8787 let method_ptr = vtable. offset ( ptr_size * ( 3 + i as u64 ) , self ) ?;
8888 self . memory
8989 . get_mut ( method_ptr. alloc_id ) ?
@@ -92,7 +92,7 @@ impl<'a, 'mir, 'tcx, M: Machine<'a, 'mir, 'tcx>> InterpretCx<'a, 'mir, 'tcx, M>
9292 }
9393
9494 self . memory . mark_immutable ( vtable. alloc_id ) ?;
95- assert ! ( self . vtables. insert( ( ty, poly_trait_ref) , vtable. alloc_id ) . is_none( ) ) ;
95+ assert ! ( self . vtables. insert( ( ty, poly_trait_ref) , vtable) . is_none( ) ) ;
9696
9797 Ok ( vtable)
9898 }
0 commit comments