aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle/ty.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2011-02-07 14:16:40 -0800
committerGraydon Hoare <[email protected]>2011-02-07 14:16:40 -0800
commit9d576993f31349f2a7dbf8e40ccdaff9cf66144d (patch)
tree2151a1f1b32508fd02c6fe8259ec7f2f7d2e66ec /src/comp/middle/ty.rs
parentIterate type unification to drive the types a bit further down into the leave... (diff)
downloadrust-9d576993f31349f2a7dbf8e40ccdaff9cf66144d.tar.xz
rust-9d576993f31349f2a7dbf8e40ccdaff9cf66144d.zip
Add a fixme for last commit.
Diffstat (limited to 'src/comp/middle/ty.rs')
-rw-r--r--src/comp/middle/ty.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs
index 92fa1399..c3b0e687 100644
--- a/src/comp/middle/ty.rs
+++ b/src/comp/middle/ty.rs
@@ -1215,6 +1215,10 @@ fn unify(@ty.t expected, @ty.t actual, &unify_handler handler)
auto eqer = eq_int;
auto bindings = map.mk_hashmap[int,@ty.t](hasher, eqer);
+ // FIXME: this is a slow way of driving types into residual vars that
+ // occur up in the leaves of result type; it can likely be done better
+ // when unification is actually ... down in the leaves.
+
auto ures = unify_step(bindings, expected, actual, handler);
while (true) {
alt (ures) {