Skip to content

Commit e77315f

Browse files
committed
Store adt_destructor in metadata
1 parent 020de11 commit e77315f

File tree

4 files changed

+7
-4
lines changed

4 files changed

+7
-4
lines changed

Diff for: compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -330,10 +330,7 @@ provide! { tcx, def_id, other, cdata,
330330

331331
visibility => { cdata.get_visibility(def_id.index) }
332332
adt_def => { cdata.get_adt_def(def_id.index, tcx) }
333-
adt_destructor => {
334-
let _ = cdata;
335-
tcx.calculate_dtor(def_id, |_,_| Ok(()))
336-
}
333+
adt_destructor => { table }
337334
adt_async_destructor => {
338335
let _ = cdata;
339336
tcx.calculate_async_dtor(def_id, |_,_| Ok(()))

Diff for: compiler/rustc_metadata/src/rmeta/encoder.rs

+4
Original file line numberDiff line numberDiff line change
@@ -1633,6 +1633,10 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
16331633
record!(self.tables.fn_sig[variant.def_id] <- fn_sig);
16341634
}
16351635
}
1636+
1637+
if let Some(destructor) = tcx.adt_destructor(local_def_id) {
1638+
record!(self.tables.adt_destructor[def_id] <- destructor);
1639+
}
16361640
}
16371641

16381642
#[instrument(level = "debug", skip(self))]

Diff for: compiler/rustc_metadata/src/rmeta/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,7 @@ define_tables! {
446446
fn_arg_names: Table<DefIndex, LazyArray<Option<Ident>>>,
447447
coroutine_kind: Table<DefIndex, hir::CoroutineKind>,
448448
coroutine_for_closure: Table<DefIndex, RawDefId>,
449+
adt_destructor: Table<DefIndex, LazyValue<ty::Destructor>>,
449450
coroutine_by_move_body_def_id: Table<DefIndex, RawDefId>,
450451
eval_static_initializer: Table<DefIndex, LazyValue<mir::interpret::ConstAllocation<'static>>>,
451452
trait_def: Table<DefIndex, LazyValue<ty::TraitDef>>,

Diff for: compiler/rustc_middle/src/ty/parameterized.rs

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ trivially_parameterized_over_tcx! {
6868
ty::AssocItemContainer,
6969
ty::Asyncness,
7070
ty::DeducedParamAttrs,
71+
ty::Destructor,
7172
ty::Generics,
7273
ty::ImplPolarity,
7374
ty::ImplTraitInTraitData,

0 commit comments

Comments
 (0)