aboutsummaryrefslogtreecommitdiff
path: root/src/lib/map.rs
diff options
context:
space:
mode:
authorOr Brostovski <[email protected]>2010-08-07 16:43:08 +0300
committerOr Brostovski <[email protected]>2010-08-07 16:43:08 +0300
commit4467d7683dae87d6d4c55e446910f7a5b85abd13 (patch)
treee2578dbe8e2350eb4e82ae2941fc2efb7478253b /src/lib/map.rs
parentAdded AST pretty printing for communication alt statement, closes issue 19. (diff)
parentAdd Or to the AUTHORS file. (diff)
downloadrust-4467d7683dae87d6d4c55e446910f7a5b85abd13.tar.xz
rust-4467d7683dae87d6d4c55e446910f7a5b85abd13.zip
Merge branch 'master' of git://github.com/graydon/rust
Conflicts: src/boot/fe/ast.ml
Diffstat (limited to 'src/lib/map.rs')
-rw-r--r--src/lib/map.rs12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/lib/map.rs b/src/lib/map.rs
index f9574176..ff7b4411 100644
--- a/src/lib/map.rs
+++ b/src/lib/map.rs
@@ -75,8 +75,7 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
{
let uint i = 0u;
while (i < nbkts) {
- // FIXME (issue #94): as in find_common()
- let int j = (hash[K](hasher, nbkts, key, i)) as int;
+ let uint j = (hash[K](hasher, nbkts, key, i));
alt (bkts.(j)) {
case (some[K, V](k, _)) {
if (eqer(key, k)) {
@@ -103,8 +102,7 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
{
let uint i = 0u;
while (i < nbkts) {
- // FIXME (issue #94): Pending bugfix, remove uint coercion.
- let int j = (hash[K](hasher, nbkts, key, i)) as int;
+ let uint j = (hash[K](hasher, nbkts, key, i));
alt (bkts.(j)) {
case (some[K, V](k, v)) {
if (eqer(key, k)) {
@@ -149,9 +147,6 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
if (!util.rational_leq(load, lf)) {
let uint nnewbkts = _int.next_power_of_two(nbkts + 1u);
- // FIXME (issue #94): Enforce our workaround to issue #94.
- check ((nnewbkts as int) > 0);
-
let vec[mutable bucket[K, V]] newbkts = make_buckets[K, V](nnewbkts);
rehash[K, V](hasher, eqer, bkts, nbkts, newbkts, nnewbkts);
}
@@ -183,8 +178,7 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
fn remove(&K key) -> util.option[V] {
let uint i = 0u;
while (i < nbkts) {
- // FIXME (issue #94): as in find_common()
- let int j = (hash[K](hasher, nbkts, key, i)) as int;
+ let uint j = (hash[K](hasher, nbkts, key, i));
alt (bkts.(j)) {
case (some[K, V](_, val)) {
bkts.(j) = deleted[K, V]();