File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -1810,9 +1810,10 @@ mod unify {
1810
1810
1811
1811
fn record_var_binding( & @ctxt cx, int key, t typ) -> result {
1812
1812
ufind:: grow( cx. vb. sets, ( key as uint) + 1 u) ;
1813
+ auto root = ufind:: find( cx. vb. sets, key as uint) ;
1813
1814
1814
1815
auto result_type = typ;
1815
- alt ( smallintmap:: find[ t] ( cx. vb. types, key as uint ) ) {
1816
+ alt ( smallintmap:: find[ t] ( cx. vb. types, root ) ) {
1816
1817
case ( some( ?old_type) ) {
1817
1818
alt ( unify_step( cx, old_type, typ) ) {
1818
1819
case ( ures_ok( ?unified_type) ) {
@@ -1824,7 +1825,7 @@ mod unify {
1824
1825
case ( none) { /* fall through */ }
1825
1826
}
1826
1827
1827
- smallintmap:: insert[ t] ( cx. vb. types, key as uint , result_type) ;
1828
+ smallintmap:: insert[ t] ( cx. vb. types, root , result_type) ;
1828
1829
ret ures_ok( typ) ;
1829
1830
}
1830
1831
You can’t perform that action at this time.
0 commit comments