X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flibrustc_trans%2Ftrans%2Finline.rs;h=14e1ca7675f790f9981089818017478ff4a362eb;hb=46750d0409a9c3ba5214aa20ccb0c9bdbf09ea7e;hp=b8f75df8c11caae241d638dbe2bbd0d24a192bc7;hpb=6843ea4a46f1479b5f33d0d46512083f432d6251;p=rust.git diff --git a/src/librustc_trans/trans/inline.rs b/src/librustc_trans/trans/inline.rs index b8f75df8c11..14e1ca7675f 100644 --- a/src/librustc_trans/trans/inline.rs +++ b/src/librustc_trans/trans/inline.rs @@ -110,18 +110,17 @@ fn instantiate_inline(ccx: &CrateContext, fn_id: DefId) let ty_vs = &ccx.tcx().lookup_adt_def(parent_id).variants; assert_eq!(ast_vs.len(), ty_vs.len()); for (ast_v, ty_v) in ast_vs.iter().zip(ty_vs.iter()) { - if ty_v.did == fn_id { my_id = ast_v.node.id; } - ccx.external().borrow_mut().insert(ty_v.did, Some(ast_v.node.id)); + if ty_v.did == fn_id { my_id = ast_v.node.data.id(); } + ccx.external().borrow_mut().insert(ty_v.did, Some(ast_v.node.data.id())); } } hir::ItemStruct(ref struct_def, _) => { - match struct_def.ctor_id { - None => ccx.sess().bug("instantiate_inline: called on a \ - non-tuple struct"), - Some(ctor_id) => { - ccx.external().borrow_mut().insert(fn_id, Some(ctor_id)); - my_id = ctor_id; - } + if struct_def.is_struct() { + ccx.sess().bug("instantiate_inline: called on a \ + non-tuple struct") + } else { + ccx.external().borrow_mut().insert(fn_id, Some(struct_def.id())); + my_id = struct_def.id(); } } _ => ccx.sess().bug("instantiate_inline: item has a \