stdlib: Use if/alt expressions in std::map
This commit is contained in:
parent
f6777db615
commit
2d17d9101d
1 changed files with 8 additions and 10 deletions
|
@ -166,19 +166,17 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn contains_key(&K key) -> bool {
|
fn contains_key(&K key) -> bool {
|
||||||
alt (find_common[K, V](hasher, eqer, bkts, nbkts, key)) {
|
ret alt (find_common[K, V](hasher, eqer, bkts, nbkts, key)) {
|
||||||
case (option::some[V](_)) { ret true; }
|
case (option::some[V](_)) { true }
|
||||||
case (_) { ret false; }
|
case (_) { false }
|
||||||
}
|
};
|
||||||
fail; // FIXME: remove me when exhaustiveness checking works
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get(&K key) -> V {
|
fn get(&K key) -> V {
|
||||||
alt (find_common[K, V](hasher, eqer, bkts, nbkts, key)) {
|
ret alt (find_common[K, V](hasher, eqer, bkts, nbkts, key)) {
|
||||||
case (option::some[V](?val)) { ret val; }
|
case (option::some[V](?val)) { val }
|
||||||
case (_) { fail; }
|
case (_) { fail }
|
||||||
}
|
};
|
||||||
fail; // FIXME: remove me when exhaustiveness checking works
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn find(&K key) -> option::t[V] {
|
fn find(&K key) -> option::t[V] {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue