diff options
| author | Patrick Walton <[email protected]> | 2011-03-22 14:02:52 -0700 |
|---|---|---|
| committer | Patrick Walton <[email protected]> | 2011-03-22 14:02:52 -0700 |
| commit | bcf04e253f0cc963f0e529a0ceef2268cb7916e1 (patch) | |
| tree | 74fef368a4672bf1deaacb65eaf23c159fb23bb4 | |
| parent | lib: Add an EBML reader module (diff) | |
| download | rust-bcf04e253f0cc963f0e529a0ceef2268cb7916e1.tar.xz rust-bcf04e253f0cc963f0e529a0ceef2268cb7916e1.zip | |
Revert "Remove usages of case(_) { fail; } since the compiler does this automatically". When we have exhaustiveness checking, "case(_) { fail; }" will be useful to silence warnings.
This reverts commit 92a716d862d92d3cc52a400457d2c3900d0c57a2.
| -rw-r--r-- | src/comp/middle/trans.rs | 3 | ||||
| -rw-r--r-- | src/comp/middle/typeck.rs | 6 | ||||
| -rw-r--r-- | src/lib/deque.rs | 1 | ||||
| -rw-r--r-- | src/lib/map.rs | 1 |
4 files changed, 11 insertions, 0 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index aede3110..bc43185a 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -1789,6 +1789,7 @@ fn variant_types(@crate_ctxt cx, &ast.variant v) -> vec[@ty.t] { } } case (ty.ty_tag(_, _)) { /* nothing */ } + case (_) { fail; } } ret tys; } @@ -2001,6 +2002,7 @@ fn iter_structural_ty_full(@block_ctxt cx, j += 1; } } + case (_) { fail; } } variant_cx.build.Br(next_cx.llbb); @@ -2167,6 +2169,7 @@ fn iter_sequence(@block_ctxt cx, auto et = plain_ty(ty.ty_machine(common.ty_u8)); ret iter_sequence_body(cx, v, et, f, true); } + case (_) { fail; } } cx.fcx.ccx.sess.bug("bad type in trans.iter_sequence"); fail; diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs index 75d6a8ff..c849483e 100644 --- a/src/comp/middle/typeck.rs +++ b/src/comp/middle/typeck.rs @@ -1861,6 +1861,9 @@ fn check_expr(&@fn_ctxt fcx, @ast.expr expr) -> @ast.expr { case (ty.ty_chan(?it)) { item_t = it; } + case (_) { + fail; + } } auto rhs_1 = demand_expr(fcx, item_t, rhs_0); @@ -1881,6 +1884,9 @@ fn check_expr(&@fn_ctxt fcx, @ast.expr expr) -> @ast.expr { case (ty.ty_port(?it)) { item_t = it; } + case (_) { + fail; + } } auto lhs_1 = demand_expr(fcx, item_t, lhs_0); diff --git a/src/lib/deque.rs b/src/lib/deque.rs index 704e6749..776f82e9 100644 --- a/src/lib/deque.rs +++ b/src/lib/deque.rs @@ -47,6 +47,7 @@ fn create[T]() -> t[T] { fn get[T](vec[cell[T]] elts, uint i) -> T { alt (elts.(i)) { case (option.some[T](?t)) { ret t; } + case (_) { fail; } } fail; // FIXME: remove me when exhaustiveness checking works } diff --git a/src/lib/map.rs b/src/lib/map.rs index d8e24314..f22faaca 100644 --- a/src/lib/map.rs +++ b/src/lib/map.rs @@ -176,6 +176,7 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] { fn get(&K key) -> V { alt (find_common[K, V](hasher, eqer, bkts, nbkts, key)) { case (option.some[V](?val)) { ret val; } + case (_) { fail; } } fail; // FIXME: remove me when exhaustiveness checking works } |