diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2011-12-15 13:20:43 -0800 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2011-12-15 13:44:06 -0800 |
| commit | aa3d58c8c0a2e52b2893328a8d1940e5fbd41303 (patch) | |
| tree | 7e6612193e80bef77f6d555a3f7f098d2d0803a8 | |
| parent | 1e3259e119b6370267415b9e07f3ea80869f839d (diff) | |
restore old buggy behavior where n_obj_params is always 0 for fns
| -rw-r--r-- | src/comp/middle/trans_closure.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/comp/middle/trans_closure.rs b/src/comp/middle/trans_closure.rs index 1ee5a9ede67..039709db8d6 100644 --- a/src/comp/middle/trans_closure.rs +++ b/src/comp/middle/trans_closure.rs @@ -190,7 +190,15 @@ fn store_environment( ty::closure_shared. | ty::closure_send. { let bound_tydesc = GEPi(bcx, closure, [0, abi::closure_elt_tydesc]); let ti = none; - let tps = tps_fn(vec::len(lltydescs)); + + // NDM I believe this is the correct value, + // but using it exposes bugs and limitations + // in the shape code. Therefore, I am using + // tps_normal, which is what we used before. + // + // let tps = tps_fn(vec::len(lltydescs)); + + let tps = tps_normal; let {result:closure_td, _} = trans::get_tydesc(bcx, closure_ty, true, tps, ti); trans::lazily_emit_tydesc_glue(bcx, abi::tydesc_field_drop_glue, ti); |
