diff options
| author | Graydon Hoare <[email protected]> | 2011-01-31 18:06:35 -0800 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2011-01-31 18:06:35 -0800 |
| commit | ef50d0e668635824cc5ed86aaa385dd6f3181b53 (patch) | |
| tree | e022aef8cd9614e87ee47f82836f0f8fd2042125 /src/comp/middle/ty.rs | |
| parent | Majority of the remaining work for derived tydescs. Not quite working yet. (diff) | |
| download | rust-ef50d0e668635824cc5ed86aaa385dd6f3181b53.tar.xz rust-ef50d0e668635824cc5ed86aaa385dd6f3181b53.zip | |
More work on derived tydescs. Can compile simple tests with generic objects.
Diffstat (limited to 'src/comp/middle/ty.rs')
| -rw-r--r-- | src/comp/middle/ty.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs index f27595a1..7a184bc6 100644 --- a/src/comp/middle/ty.rs +++ b/src/comp/middle/ty.rs @@ -571,7 +571,8 @@ fn is_fn_ty(@t fty) -> bool { // Given an item, returns the associated type as well as a list of the IDs of // its type parameters. -fn item_ty(@ast.item it) -> tup(vec[ast.def_id], @t) { +type ty_params_and_ty = tup(vec[ast.def_id], @t); +fn item_ty(@ast.item it) -> ty_params_and_ty { let vec[ast.ty_param] ty_params; auto result_ty; alt (it.node) { @@ -1233,7 +1234,8 @@ fn type_err_to_str(&ty.type_err err) -> str { // Type parameter resolution, used in translation -fn resolve_ty_params(@ast.item item, @t monoty) -> vec[@t] { +fn resolve_ty_params(ty_params_and_ty ty_params_and_polyty, + @t monoty) -> vec[@t] { obj resolve_ty_params_handler(@hashmap[ast.def_id,@t] bindings) { fn resolve_local(ast.def_id id) -> @t { log "resolve local"; fail; } fn record_local(ast.def_id id, @t ty) { log "record local"; fail; } @@ -1249,8 +1251,6 @@ fn resolve_ty_params(@ast.item item, @t monoty) -> vec[@t] { } } - auto ty_params_and_polyty = item_ty(item); - auto bindings = @new_def_hash[@t](); auto handler = resolve_ty_params_handler(bindings); |