diff options
| author | oli <oli@uhura.edef.eu> | 2020-10-26 15:49:11 +0000 |
|---|---|---|
| committer | oli <github35764891676564198441@oli-obk.de> | 2021-01-04 21:40:38 +0000 |
| commit | 248b4dbc4fcc03db855bbd2cfef88652a47c2010 (patch) | |
| tree | 61a3403e493558cbc307b65930b2c744935ab675 | |
| parent | dadf937a12ca35ba1ea3646d415607278a2ddcbd (diff) | |
| download | rust-248b4dbc4fcc03db855bbd2cfef88652a47c2010.tar.gz rust-248b4dbc4fcc03db855bbd2cfef88652a47c2010.zip | |
Limit trait item mir encoding to items with default bodies
| -rw-r--r-- | compiler/rustc_metadata/src/rmeta/encoder.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/encoder.rs b/compiler/rustc_metadata/src/rmeta/encoder.rs index 24225d96ba4..2774e817d3b 100644 --- a/compiler/rustc_metadata/src/rmeta/encoder.rs +++ b/compiler/rustc_metadata/src/rmeta/encoder.rs @@ -1013,8 +1013,15 @@ impl EncodeContext<'a, 'tcx> { self.encode_inferred_outlives(def_id); // This should be kept in sync with `PrefetchVisitor.visit_trait_item`. - self.encode_optimized_mir(def_id.expect_local()); - self.encode_promoted_mir(def_id.expect_local()); + match trait_item.kind { + ty::AssocKind::Type => {} + ty::AssocKind::Const | ty::AssocKind::Fn => { + if self.tcx.mir_keys(LOCAL_CRATE).contains(&def_id.expect_local()) { + self.encode_optimized_mir(def_id.expect_local()); + self.encode_promoted_mir(def_id.expect_local()); + } + } + } } fn metadata_output_only(&self) -> bool { |
