]> git.lizzy.rs Git - rust.git/commitdiff
minor rebase fixes
authorNiko Matsakis <niko@alum.mit.edu>
Fri, 24 Jul 2015 08:48:32 +0000 (04:48 -0400)
committerNiko Matsakis <niko@alum.mit.edu>
Fri, 24 Jul 2015 12:24:35 +0000 (08:24 -0400)
src/librustc_trans/trans/closure.rs
src/librustc_trans/trans/debuginfo/metadata.rs
src/librustc_trans/trans/debuginfo/mod.rs

index ff89d97c47b1198f63754ae720647d991938aa75..ef5da3e40dfda9559e0a753482d5a2e9c9af14ce 100644 (file)
@@ -148,9 +148,7 @@ pub fn get_or_create_closure_declaration<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>,
     });
 
     let function_type = ccx.tcx().mk_closure_from_closure_substs(closure_id, Box::new(substs));
-    let llfn = declare::define_internal_rust_fn(ccx, &symbol[..], function_type).unwrap_or_else(||{
-        ccx.sess().bug(&format!("symbol `{}` already defined", symbol));
-    });
+    let llfn = declare::define_internal_rust_fn(ccx, &symbol[..], function_type);
 
     // set an inline hint for all closures
     attributes::inline(llfn, attributes::InlineAttr::Hint);
index 66772e67755db5239b18c0df597acdc14416882f..09495dea286864777596fd26fae84c3b36bdd3c8 100644 (file)
@@ -811,14 +811,10 @@ pub fn type_metadata<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
             MetadataCreationResult::new(pointer_type_metadata(cx, t, fn_metadata), false)
 
         }
-        ty::TyClosure(def_id, ref substs) => {
-            let infcx = infer::normalizing_infer_ctxt(cx.tcx(), &cx.tcx().tables);
-            let upvars = infcx.closure_upvars(def_id, substs).unwrap();
-            let upvar_types = upvars.iter().map(|u| u.ty).collect::<Vec<_>>();
-
+        ty::TyClosure(_, ref substs) => {
             prepare_tuple_metadata(cx,
                                    t,
-                                   &upvar_types[..],
+                                   &substs.upvar_tys,
                                    unique_type_id,
                                    usage_site_span).finalize(cx)
         }
index 9ce5c457bff33b4d245bf909ab5d148b2d325e85..8e4e0aaa75fec338bcb5311a8f6d71ddfb77a1f0 100644 (file)
@@ -416,7 +416,7 @@ fn get_function_signature<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
             ty::TyBareFn(_, ref barefnty) => {
                 (cx.tcx().erase_late_bound_regions(&barefnty.sig), barefnty.abi)
             }
-            ty::TyClosure(def_id, substs) => {
+            ty::TyClosure(def_id, ref substs) => {
                 let closure_type = cx.tcx().closure_type(def_id, substs);
                 (cx.tcx().erase_late_bound_regions(&closure_type.sig), closure_type.abi)
             }