X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flibrustc_trans%2Ftrans%2Finline.rs;h=14e1ca7675f790f9981089818017478ff4a362eb;hb=46750d0409a9c3ba5214aa20ccb0c9bdbf09ea7e;hp=14b65bcb75504346dbaf4dd3254f2c9390c926e2;hpb=0ffc6829751a551c7a34bad4c0be66055f552abb;p=rust.git diff --git a/src/librustc_trans/trans/inline.rs b/src/librustc_trans/trans/inline.rs index 14b65bcb755..14e1ca7675f 100644 --- a/src/librustc_trans/trans/inline.rs +++ b/src/librustc_trans/trans/inline.rs @@ -44,7 +44,7 @@ fn instantiate_inline(ccx: &CrateContext, fn_id: DefId) let csearch_result = csearch::maybe_get_item_ast( ccx.tcx(), fn_id, - Box::new(|a,b,c,d,e| astencode::decode_inlined_item(a, b, c, d,e))); + Box::new(astencode::decode_inlined_item)); let inline_id = match csearch_result { csearch::FoundAst::NotFound => { @@ -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 \