about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2015-01-07 14:06:04 -0500
committerNiko Matsakis <niko@alum.mit.edu>2015-01-07 14:07:58 -0500
commit448ddad87768a8ecef4dc8fc1394fdebbc487f85 (patch)
tree7518cbd1e2b5432a301a01ea1d041b1371a625ec /src
parentaec62af7427083ac7f6dcb2fd484876199147fdc (diff)
downloadrust-448ddad87768a8ecef4dc8fc1394fdebbc487f85.tar.gz
rust-448ddad87768a8ecef4dc8fc1394fdebbc487f85.zip
Better debug output in `decl_rust_fn`. The lack of output here has
caused me quite a bit of hair-pulling.
Diffstat (limited to 'src')
-rw-r--r--src/librustc_trans/trans/base.rs13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/librustc_trans/trans/base.rs b/src/librustc_trans/trans/base.rs
index 057d0f378e6..ceceabb80f5 100644
--- a/src/librustc_trans/trans/base.rs
+++ b/src/librustc_trans/trans/base.rs
@@ -281,8 +281,15 @@ pub fn kind_for_unboxed_closure(ccx: &CrateContext, closure_id: ast::DefId)
 
 pub fn decl_rust_fn<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>,
                               fn_ty: Ty<'tcx>, name: &str) -> ValueRef {
+    debug!("decl_rust_fn(fn_ty={}, name={:?})",
+           fn_ty.repr(ccx.tcx()),
+           name);
+
     let fn_ty = monomorphize::normalize_associated_type(ccx.tcx(), &fn_ty);
 
+    debug!("decl_rust_fn: fn_ty={} (after normalized associated types)",
+           fn_ty.repr(ccx.tcx()));
+
     let function_type; // placeholder so that the memory ownership works out ok
 
     let (sig, abi, env) = match fn_ty.sty {
@@ -305,10 +312,12 @@ pub fn decl_rust_fn<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>,
     let sig = ty::erase_late_bound_regions(ccx.tcx(), sig);
     let sig = ty::Binder(sig);
 
+    debug!("decl_rust_fn: sig={} (after erasing regions)",
+           sig.repr(ccx.tcx()));
+
     let llfty = type_of_rust_fn(ccx, env, &sig, abi);
 
-    debug!("decl_rust_fn(sig={}, type={})",
-           sig.repr(ccx.tcx()),
+    debug!("decl_rust_fn: llfty={}",
            ccx.tn().type_to_string(llfty));
 
     let llfn = decl_fn(ccx, name, llvm::CCallConv, llfty, sig.0.output /* (1) */);