diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs index 1165fbcca4a0ade352a4929128ab65a83bd71f7d..7e02b3d3b1b70e03e445e7c7fd3a8ef76994fa44 100644 --- a/src/comp/middle/resolve.rs +++ b/src/comp/middle/resolve.rs @@ -103,12 +103,17 @@ fn in_scope(ast.ident i, &scope s) -> option.t[def] { case (scope_item(?it)) { alt (it.node) { - case (ast.item_fn(_, ?f, _, _, _)) { + case (ast.item_fn(_, ?f, ?ty_params, _, _)) { for (ast.arg a in f.inputs) { if (_str.eq(a.ident, i)) { ret some[def](ast.def_arg(a.id)); } } + for (ast.ty_param tp in ty_params) { + if (_str.eq(tp.ident, i)) { + ret some[def](ast.def_ty_arg(tp.id)); + } + } } case (ast.item_mod(_, ?m, _)) { ret check_mod(i, m);