@@ -75,8 +75,7 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
75
75
{
76
76
let uint i = 0 u;
77
77
while ( i < nbkts) {
78
- // FIXME (issue #94): as in find_common()
79
- let int j = ( hash[ K ] ( hasher, nbkts, key, i) ) as int ;
78
+ let uint j = ( hash[ K ] ( hasher, nbkts, key, i) ) ;
80
79
alt ( bkts. ( j) ) {
81
80
case ( some[ K , V ] ( k, _) ) {
82
81
if ( eqer ( key, k) ) {
@@ -103,8 +102,7 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
103
102
{
104
103
let uint i = 0 u;
105
104
while ( i < nbkts) {
106
- // FIXME (issue #94): Pending bugfix, remove uint coercion.
107
- let int j = ( hash[ K ] ( hasher, nbkts, key, i) ) as int ;
105
+ let uint j = ( hash[ K ] ( hasher, nbkts, key, i) ) ;
108
106
alt ( bkts. ( j) ) {
109
107
case ( some[ K , V ] ( k, v) ) {
110
108
if ( eqer ( key, k) ) {
@@ -149,9 +147,6 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
149
147
if ( !util. rational_leq ( load, lf) ) {
150
148
let uint nnewbkts = _int. next_power_of_two ( nbkts + 1 u) ;
151
149
152
- // FIXME (issue #94): Enforce our workaround to issue #94.
153
- check ( ( nnewbkts as int ) > 0 ) ;
154
-
155
150
let vec[ mutable bucket[ K , V ] ] newbkts = make_buckets[ K , V ] ( nnewbkts) ;
156
151
rehash[ K , V ] ( hasher, eqer, bkts, nbkts, newbkts, nnewbkts) ;
157
152
}
@@ -183,8 +178,7 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
183
178
fn remove ( & K key ) -> util. option[ V ] {
184
179
let uint i = 0 u;
185
180
while ( i < nbkts) {
186
- // FIXME (issue #94): as in find_common()
187
- let int j = ( hash[ K ] ( hasher, nbkts, key, i) ) as int ;
181
+ let uint j = ( hash[ K ] ( hasher, nbkts, key, i) ) ;
188
182
alt ( bkts. ( j) ) {
189
183
case ( some[ K , V ] ( _, val) ) {
190
184
bkts. ( j) = deleted[ K , V ] ( ) ;
0 commit comments