@@ -25,7 +25,7 @@ impl<'a, 'mir, 'tcx, M: Machine<'a, 'mir, 'tcx>> InterpretCx<'a, 'mir, 'tcx, M>
25
25
// always use the same vtable for the same (Type, Trait) combination.
26
26
// That's not what happens in rustc, but emulating per-crate deduplication
27
27
// does not sound like it actually makes anything any better.
28
- return Ok ( Pointer :: from ( vtable) . with_default_tag ( ) ) ;
28
+ return Ok ( vtable) ;
29
29
}
30
30
31
31
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>
56
56
let tcx = & * self . tcx ;
57
57
58
58
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) ;
60
60
// no need to do any alignment checks on the memory accesses below, because we know the
61
61
// allocation is correctly aligned as we created it above. Also we're only offsetting by
62
62
// 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>
83
83
def_id,
84
84
substs,
85
85
) . 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) ;
87
87
let method_ptr = vtable. offset ( ptr_size * ( 3 + i as u64 ) , self ) ?;
88
88
self . memory
89
89
. get_mut ( method_ptr. alloc_id ) ?
@@ -92,7 +92,7 @@ impl<'a, 'mir, 'tcx, M: Machine<'a, 'mir, 'tcx>> InterpretCx<'a, 'mir, 'tcx, M>
92
92
}
93
93
94
94
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( ) ) ;
96
96
97
97
Ok ( vtable)
98
98
}
0 commit comments