aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle/ty.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2011-01-31 18:06:35 -0800
committerGraydon Hoare <[email protected]>2011-01-31 18:06:35 -0800
commitef50d0e668635824cc5ed86aaa385dd6f3181b53 (patch)
treee022aef8cd9614e87ee47f82836f0f8fd2042125 /src/comp/middle/ty.rs
parentMajority of the remaining work for derived tydescs. Not quite working yet. (diff)
downloadrust-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.rs8
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);