From 8506241f3a0dce3f0d24764a3ce3d16f99bcb809 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 6 Jan 2012 12:06:35 -0800 Subject: fix how we walk functions to match new closure fmt --- src/rt/rust_shape.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/rt/rust_shape.cpp') diff --git a/src/rt/rust_shape.cpp b/src/rt/rust_shape.cpp index bd388ffff82..1743aaad9dd 100644 --- a/src/rt/rust_shape.cpp +++ b/src/rt/rust_shape.cpp @@ -47,13 +47,9 @@ type_param::make(const type_desc **tydescs, unsigned n_tydescs, // Constructs type parameters from a function shape. This is a bit messy, // because it requires that the function shape have a specific format. type_param * -type_param::from_fn_shape(const uint8_t *sp, ptr dp, arena &arena) { - const type_desc *tydesc = bump_dp(dp); - const type_desc **tydescs = (const type_desc **)dp; - unsigned n_tydescs = tydesc->n_obj_params & 0x7fffffff; - for (unsigned i = 0; i < n_tydescs; i++) - bump_dp(dp); - return make(tydescs, n_tydescs, arena); +type_param::from_fn_shape(rust_opaque_closure *env, arena &arena) { + unsigned n_tydescs = env->td->n_obj_params & 0x7fffffff; + return make(env->captured_tds, n_tydescs, arena); } // Constructs type parameters from an object shape. This is also a bit messy, -- cgit 1.4.1-3-g733a5