1
Fork 0

Fix rebase

This commit is contained in:
Vadim Petrochenkov 2015-10-04 13:11:56 +03:00
parent b404ded15b
commit f4e3851aa7
3 changed files with 10 additions and 7 deletions

View file

@ -1068,8 +1068,8 @@ fn encode_info_for_item<'a, 'tcx>(ecx: &EncodeContext<'a, 'tcx>,
// Encode inherent implementations for this structure. // Encode inherent implementations for this structure.
encode_inherent_implementations(ecx, rbml_w, def_id); encode_inherent_implementations(ecx, rbml_w, def_id);
if let Some(ctor_id) = struct_def.ctor_id { if struct_def.kind != hir::VariantKind::Dict {
let ctor_did = ecx.tcx.map.local_def_id(ctor_id); let ctor_did = ecx.tcx.map.local_def_id(struct_def.id);
rbml_w.wr_tagged_u64(tag_items_data_item_struct_ctor, rbml_w.wr_tagged_u64(tag_items_data_item_struct_ctor,
def_to_u64(ctor_did)); def_to_u64(ctor_did));
} }

View file

@ -1316,11 +1316,11 @@ fn copy_item_types(dcx: &DecodeContext, ii: &InlinedItem, orig_did: DefId) {
{ {
debug!("astencode: copying variant {:?} => {:?}", debug!("astencode: copying variant {:?} => {:?}",
orig_variant.did, i_variant.node.id); orig_variant.did, i_variant.node.id);
copy_item_type(dcx, i_variant.node.id, orig_variant.did); copy_item_type(dcx, i_variant.node.def.id, orig_variant.did);
} }
} }
hir::ItemStruct(ref def, _) => { hir::ItemStruct(ref def, _) => {
if let Some(ctor_id) = def.ctor_id { if def.kind != hir::VariantKind::Dict {
let ctor_did = dcx.tcx.lookup_adt_def(orig_did) let ctor_did = dcx.tcx.lookup_adt_def(orig_did)
.struct_variant().did; .struct_variant().did;
debug!("astencode: copying ctor {:?} => {:?}", ctor_did, debug!("astencode: copying ctor {:?} => {:?}", ctor_did,

View file

@ -1125,8 +1125,11 @@ fn convert_struct_def<'tcx>(tcx: &ty::ctxt<'tcx>,
{ {
let did = tcx.map.local_def_id(it.id); let did = tcx.map.local_def_id(it.id);
let ctor_id = def.ctor_id.map_or(did, let ctor_id = if def.kind != hir::VariantKind::Dict {
|ctor_id| tcx.map.local_def_id(ctor_id)); tcx.map.local_def_id(def.id)
} else {
did
};
tcx.intern_adt_def( tcx.intern_adt_def(
did, did,
ty::AdtKind::Struct, ty::AdtKind::Struct,
@ -1208,7 +1211,7 @@ fn convert_enum_def<'tcx>(tcx: &ty::ctxt<'tcx>,
{ {
let did = tcx.map.local_def_id(v.node.def.id); let did = tcx.map.local_def_id(v.node.def.id);
let name = v.node.name; let name = v.node.name;
convert_struct_variant(tcx, did, name, disr, &v.node.def) convert_struct_variant(tcx, did, name, disr, &v.node.def, did)
} }
let did = tcx.map.local_def_id(it.id); let did = tcx.map.local_def_id(it.id);
let repr_hints = tcx.lookup_repr_hints(did); let repr_hints = tcx.lookup_repr_hints(did);