diff options
Diffstat (limited to 'src/comp')
| -rw-r--r-- | src/comp/middle/typeck.rs | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs index 2529ab29..b5362263 100644 --- a/src/comp/middle/typeck.rs +++ b/src/comp/middle/typeck.rs @@ -1767,7 +1767,7 @@ fn check_expr(&fn_ctxt fcx, @ast.expr expr) -> @ast.expr { } case (ast.def_fn(?id)) { check (fcx.ccx.item_types.contains_key(id)); - t = fcx.ccx.item_types.get(id); + t = generalize_ty(fcx.ccx, fcx.ccx.item_types.get(id)); } case (ast.def_const(?id)) { check (fcx.ccx.item_types.contains_key(id)); @@ -1783,7 +1783,7 @@ fn check_expr(&fn_ctxt fcx, @ast.expr expr) -> @ast.expr { } case (ast.def_obj(?id)) { check (fcx.ccx.item_types.contains_key(id)); - t = fcx.ccx.item_types.get(id); + t = generalize_ty(fcx.ccx, fcx.ccx.item_types.get(id)); } case (_) { @@ -1794,8 +1794,6 @@ fn check_expr(&fn_ctxt fcx, @ast.expr expr) -> @ast.expr { } } - t = generalize_ty(fcx.ccx, t); - ret @fold.respan[ast.expr_](expr.span, ast.expr_name(name, defopt, ast.ann_type(t))); |