Skip to content

Commit 8f3a8c2

Browse files
committed
always encode variant fields
we need them to be able to retrace.
1 parent c7840cf commit 8f3a8c2

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/librustc_metadata/decoder.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,10 @@ impl crate_metadata {
7171

7272
fn lookup_item(&self, item_id: DefIndex) -> rbml::Doc {
7373
match self.get_item(item_id) {
74-
None => bug!("lookup_item: id not found: {:?}", item_id),
74+
None => bug!("lookup_item: id not found: {:?} in crate {:?} with number {}",
75+
item_id,
76+
self.name,
77+
self.cnum),
7578
Some(d) => d
7679
}
7780
}

src/librustc_metadata/encoder.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -267,12 +267,8 @@ fn encode_enum_variant_info<'a, 'tcx>(ecx: &EncodeContext<'a, 'tcx>,
267267
let vid = variant.did;
268268
let variant_node_id = ecx.local_id(vid);
269269

270-
if let ty::VariantKind::Struct = variant.kind() {
271-
// tuple-like enum variant fields aren't really items so
272-
// don't try to encode them.
273-
for field in &variant.fields {
274-
encode_field(ecx, rbml_w, field, index);
275-
}
270+
for field in &variant.fields {
271+
encode_field(ecx, rbml_w, field, index);
276272
}
277273

278274
let _task = index.record(vid, rbml_w);
@@ -306,6 +302,7 @@ fn encode_enum_variant_info<'a, 'tcx>(ecx: &EncodeContext<'a, 'tcx>,
306302
encode_bounds_and_type_for_item(rbml_w, ecx, index, variant_node_id);
307303

308304
rbml_w.end_tag();
305+
309306
disr_val = disr_val.wrap_incr();
310307
}
311308
}

0 commit comments

Comments
 (0)