aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Chevalier <[email protected]>2011-05-02 11:23:07 -0700
committerGraydon Hoare <[email protected]>2011-05-02 12:16:29 -0700
commitaa25f22f197682de3b18fc4c8ba068d1feda220f (patch)
tree6d01f8fbb5680964fd9c53564c96aa58cb75d3d1
parentrustc: Add a "fat tydesc" LLVM type to trans (diff)
downloadrust-aa25f22f197682de3b18fc4c8ba068d1feda220f.tar.xz
rust-aa25f22f197682de3b18fc4c8ba068d1feda220f.zip
Use different syntax for checks that matter to typestate
This giant commit changes the syntax of Rust to use "assert" for "check" expressions that didn't mean anything to the typestate system, and continue using "check" for checks that are used as part of typestate checking. Most of the changes are just replacing "check" with "assert" in test cases and rustc.
-rw-r--r--src/boot/fe/item.ml8
-rw-r--r--src/boot/fe/lexer.mll1
-rw-r--r--src/boot/fe/token.ml2
-rw-r--r--src/comp/front/ast.rs5
-rw-r--r--src/comp/front/creader.rs14
-rw-r--r--src/comp/front/lexer.rs3
-rw-r--r--src/comp/front/parser.rs42
-rw-r--r--src/comp/front/token.rs2
-rw-r--r--src/comp/lib/llvm.rs186
-rw-r--r--src/comp/middle/fold.rs31
-rw-r--r--src/comp/middle/metadata.rs2
-rw-r--r--src/comp/middle/resolve.rs2
-rw-r--r--src/comp/middle/trans.rs72
-rw-r--r--src/comp/middle/ty.rs187
-rw-r--r--src/comp/middle/typeck.rs46
-rw-r--r--src/comp/middle/typestate_check.rs406
-rw-r--r--src/comp/middle/walk.rs5
-rw-r--r--src/comp/pretty/pprust.rs8
-rw-r--r--src/comp/util/typestate_ann.rs4
-rw-r--r--src/lib/Term.rs2
-rw-r--r--src/lib/_int.rs2
-rw-r--r--src/lib/_str.rs14
-rw-r--r--src/lib/_uint.rs2
-rw-r--r--src/lib/_vec.rs11
-rw-r--r--src/lib/bitv.rs10
-rw-r--r--src/lib/deque.rs2
-rw-r--r--src/lib/ebml.rs2
-rw-r--r--src/lib/fs.rs2
-rw-r--r--src/lib/io.rs10
-rw-r--r--src/lib/linux_os.rs4
-rw-r--r--src/lib/macos_os.rs4
-rw-r--r--src/lib/posix_fs.rs2
-rw-r--r--src/lib/sha1.rs8
-rw-r--r--src/lib/win32_os.rs2
-rw-r--r--src/test/run-fail/fail.rs2
-rw-r--r--src/test/run-fail/linked-failure.rs2
-rw-r--r--src/test/run-fail/str-overrun.rs4
-rw-r--r--src/test/run-fail/vec-overrun.rs4
-rw-r--r--src/test/run-fail/vec-underrun.rs4
-rw-r--r--src/test/run-pass/alt-pattern-drop.rs4
-rw-r--r--src/test/run-pass/alt-pattern-lit.rs4
-rw-r--r--src/test/run-pass/alt-tag.rs6
-rw-r--r--src/test/run-pass/arith-0.rs2
-rw-r--r--src/test/run-pass/arith-1.rs32
-rw-r--r--src/test/run-pass/arith-2.rs2
-rw-r--r--src/test/run-pass/arith-unsigned.rs36
-rw-r--r--src/test/run-pass/autoderef-full-lval.rs4
-rw-r--r--src/test/run-pass/bind-exterior.rs2
-rw-r--r--src/test/run-pass/bind-interior.rs2
-rw-r--r--src/test/run-pass/bind-obj-ctor.rs6
-rw-r--r--src/test/run-pass/bind-thunk.rs2
-rw-r--r--src/test/run-pass/bind-trivial.rs2
-rw-r--r--src/test/run-pass/bitwise.rs16
-rw-r--r--src/test/run-pass/bool-not.rs8
-rw-r--r--src/test/run-pass/box-compare.rs6
-rw-r--r--src/test/run-pass/box-unbox.rs2
-rw-r--r--src/test/run-pass/box.rs2
-rw-r--r--src/test/run-pass/break.rs12
-rw-r--r--src/test/run-pass/cast.rs16
-rw-r--r--src/test/run-pass/char.rs14
-rw-r--r--src/test/run-pass/clone-with-exterior.rs4
-rw-r--r--src/test/run-pass/comm.rs2
-rw-r--r--src/test/run-pass/decl-with-recv.rs4
-rw-r--r--src/test/run-pass/deep.rs2
-rw-r--r--src/test/run-pass/div-mod.rs20
-rw-r--r--src/test/run-pass/else-if.rs26
-rw-r--r--src/test/run-pass/expr-alt-box.rs4
-rw-r--r--src/test/run-pass/expr-alt-generic-box1.rs2
-rw-r--r--src/test/run-pass/expr-alt-generic-box2.rs2
-rw-r--r--src/test/run-pass/expr-alt-generic.rs2
-rw-r--r--src/test/run-pass/expr-alt-struct.rs4
-rw-r--r--src/test/run-pass/expr-alt.rs10
-rw-r--r--src/test/run-pass/expr-block-box.rs2
-rw-r--r--src/test/run-pass/expr-block-fn.rs2
-rw-r--r--src/test/run-pass/expr-block-generic-box1.rs2
-rw-r--r--src/test/run-pass/expr-block-generic-box2.rs2
-rw-r--r--src/test/run-pass/expr-block-generic.rs2
-rw-r--r--src/test/run-pass/expr-block.rs6
-rw-r--r--src/test/run-pass/expr-if-box.rs4
-rw-r--r--src/test/run-pass/expr-if-generic-box1.rs2
-rw-r--r--src/test/run-pass/expr-if-generic-box2.rs2
-rw-r--r--src/test/run-pass/expr-if-generic.rs2
-rw-r--r--src/test/run-pass/expr-if-struct.rs4
-rw-r--r--src/test/run-pass/expr-if.rs18
-rw-r--r--src/test/run-pass/exterior.rs10
-rw-r--r--src/test/run-pass/fact.rs2
-rw-r--r--src/test/run-pass/float2.rs18
-rw-r--r--src/test/run-pass/floatlits.rs8
-rw-r--r--src/test/run-pass/foreach-nested-2.rs16
-rw-r--r--src/test/run-pass/foreach-nested.rs8
-rw-r--r--src/test/run-pass/foreach-put-structured.rs4
-rw-r--r--src/test/run-pass/foreach-simple-outer-slot.rs2
-rw-r--r--src/test/run-pass/fun-call-variants.rs4
-rw-r--r--src/test/run-pass/fun-indirect-call.rs2
-rw-r--r--src/test/run-pass/generic-alias-box.rs2
-rw-r--r--src/test/run-pass/generic-bind-2.rs4
-rw-r--r--src/test/run-pass/generic-bind.rs4
-rw-r--r--src/test/run-pass/generic-box.rs2
-rw-r--r--src/test/run-pass/generic-derived-type.rs4
-rw-r--r--src/test/run-pass/generic-exterior-box.rs4
-rw-r--r--src/test/run-pass/generic-fn-infer.rs2
-rw-r--r--src/test/run-pass/generic-fn.rs6
-rw-r--r--src/test/run-pass/generic-obj-with-derived-type.rs6
-rw-r--r--src/test/run-pass/generic-obj.rs6
-rw-r--r--src/test/run-pass/generic-tag-alt.rs2
-rw-r--r--src/test/run-pass/generic-tag-values.rs6
-rw-r--r--src/test/run-pass/generic-temporary.rs2
-rw-r--r--src/test/run-pass/generic-tup.rs4
-rw-r--r--src/test/run-pass/generic-type.rs4
-rw-r--r--src/test/run-pass/i32-sub.rs2
-rw-r--r--src/test/run-pass/i8-incr.rs2
-rw-r--r--src/test/run-pass/integral-indexing.rs20
-rw-r--r--src/test/run-pass/iter-range.rs2
-rw-r--r--src/test/run-pass/lazy-and-or.rs10
-rw-r--r--src/test/run-pass/lazychan.rs4
-rw-r--r--src/test/run-pass/lib-bitv.rs52
-rw-r--r--src/test/run-pass/lib-box.rs8
-rw-r--r--src/test/run-pass/lib-deque.rs108
-rw-r--r--src/test/run-pass/lib-int.rs26
-rw-r--r--src/test/run-pass/lib-io.rs2
-rw-r--r--src/test/run-pass/lib-map.rs130
-rw-r--r--src/test/run-pass/lib-sha1.rs4
-rw-r--r--src/test/run-pass/lib-sort.rs2
-rw-r--r--src/test/run-pass/lib-str-buf.rs4
-rw-r--r--src/test/run-pass/lib-str.rs38
-rw-r--r--src/test/run-pass/lib-uint.rs80
-rw-r--r--src/test/run-pass/lib-vec-str-conversions.rs4
-rw-r--r--src/test/run-pass/lib-vec.rs30
-rw-r--r--src/test/run-pass/linear-for-loop.rs14
-rw-r--r--src/test/run-pass/many.rs2
-rw-r--r--src/test/run-pass/mutable-alias-vec.rs2
-rw-r--r--src/test/run-pass/native-opaque-type.rs2
-rw-r--r--src/test/run-pass/obj-as.rs8
-rw-r--r--src/test/run-pass/obj-dtor-2.rs2
-rw-r--r--src/test/run-pass/obj-dtor.rs2
-rw-r--r--src/test/run-pass/obj-self-3.rs6
-rw-r--r--src/test/run-pass/obj-with-vec.rs2
-rw-r--r--src/test/run-pass/opeq.rs8
-rw-r--r--src/test/run-pass/operator-associativity.rs2
-rw-r--r--src/test/run-pass/readalias.rs2
-rw-r--r--src/test/run-pass/rec-extend.rs12
-rw-r--r--src/test/run-pass/rec-tup.rs18
-rw-r--r--src/test/run-pass/rec.rs18
-rw-r--r--src/test/run-pass/rt-circular-buffer.rs12
-rw-r--r--src/test/run-pass/seq-compare.rs24
-rw-r--r--src/test/run-pass/stateful-obj.rs4
-rw-r--r--src/test/run-pass/str-append.rs6
-rw-r--r--src/test/run-pass/str-concat.rs2
-rw-r--r--src/test/run-pass/str-growth.rs12
-rw-r--r--src/test/run-pass/str-idx.rs2
-rw-r--r--src/test/run-pass/structured-compare-recursive.rs2
-rw-r--r--src/test/run-pass/structured-compare.rs18
-rw-r--r--src/test/run-pass/syntax-extension-fmt.rs2
-rw-r--r--src/test/run-pass/tag.rs2
-rw-r--r--src/test/run-pass/tail-cps.rs2
-rw-r--r--src/test/run-pass/tail-direct.rs4
-rw-r--r--src/test/run-pass/task-comm-0.rs2
-rw-r--r--src/test/run-pass/task-comm-16.rs34
-rw-r--r--src/test/run-pass/task-comm-3.rs4
-rw-r--r--src/test/run-pass/task-comm-4.rs2
-rw-r--r--src/test/run-pass/task-comm-5.rs2
-rw-r--r--src/test/run-pass/task-comm-6.rs4
-rw-r--r--src/test/run-pass/task-comm-7.rs2
-rw-r--r--src/test/run-pass/task-comm-8.rs2
-rw-r--r--src/test/run-pass/task-comm-9.rs2
-rw-r--r--src/test/run-pass/task-comm-chan-nil.rs2
-rw-r--r--src/test/run-pass/task-comm.rs2
-rw-r--r--src/test/run-pass/tup.rs10
-rw-r--r--src/test/run-pass/type-sizes.rs24
-rw-r--r--src/test/run-pass/u32-decr.rs2
-rw-r--r--src/test/run-pass/u8-incr-decr.rs2
-rw-r--r--src/test/run-pass/u8-incr.rs2
-rw-r--r--src/test/run-pass/utf8.rs18
-rw-r--r--src/test/run-pass/utf8_chars.rs32
-rw-r--r--src/test/run-pass/vec-append.rs26
-rw-r--r--src/test/run-pass/vec-concat.rs6
-rw-r--r--src/test/run-pass/vec-growth.rs10
-rw-r--r--src/test/run-pass/vec-ref-count.rs4
-rw-r--r--src/test/run-pass/vec-slice.rs4
-rw-r--r--src/test/run-pass/vec.rs12
-rw-r--r--src/test/run-pass/while-with-break.rs2
-rw-r--r--src/test/run-pass/writealias.rs2
182 files changed, 1256 insertions, 1239 deletions
diff --git a/src/boot/fe/item.ml b/src/boot/fe/item.ml
index 6b232e7e..70e59be3 100644
--- a/src/boot/fe/item.ml
+++ b/src/boot/fe/item.ml
@@ -199,6 +199,14 @@ and parse_stmts_including_none (ps:pstate) : Ast.stmt array =
bump ps;
expect ps SEMI;
[| span ps apos (lexpos ps) Ast.STMT_cont |]
+ | ASSERT ->
+ bump ps;
+ let (stmts, expr) =
+ ctxt "stmts: check value" parse_expr ps
+ in
+ expect ps SEMI;
+ spans ps stmts apos (Ast.STMT_check_expr expr)
+(* leaving check as it is; adding assert as a synonym for the "old" check *)
| CHECK ->
bump ps;
begin
diff --git a/src/boot/fe/lexer.mll b/src/boot/fe/lexer.mll
index b375b874..a65acba1 100644
--- a/src/boot/fe/lexer.mll
+++ b/src/boot/fe/lexer.mll
@@ -92,6 +92,7 @@
("type", TYPE);
("check", CHECK);
+ ("assert", ASSERT);
("claim", CLAIM);
("prove", PROVE);
diff --git a/src/boot/fe/token.ml b/src/boot/fe/token.ml
index 0b157983..27cb399b 100644
--- a/src/boot/fe/token.ml
+++ b/src/boot/fe/token.ml
@@ -77,6 +77,7 @@ type token =
(* Type and type-state keywords *)
| TYPE
| CHECK
+ | ASSERT
| CLAIM
| PROVE
@@ -237,6 +238,7 @@ let rec string_of_tok t =
(* Type and type-state keywords *)
| TYPE -> "type"
| CHECK -> "check"
+ | ASSERT -> "assert"
| CLAIM -> "claim"
| PROVE -> "prove"
diff --git a/src/comp/front/ast.rs b/src/comp/front/ast.rs
index 2fd13194..13b5739e 100644
--- a/src/comp/front/ast.rs
+++ b/src/comp/front/ast.rs
@@ -283,7 +283,10 @@ tag expr_ {
expr_put(option.t[@expr], ann);
expr_be(@expr, ann);
expr_log(int, @expr, ann);
- expr_check_expr(@expr, ann);
+/* just an assert, no significance to typestate */
+ expr_assert(@expr, ann);
+/* preds that typestate is aware of */
+ expr_check(@expr, ann);
expr_port(ann);
expr_chan(@expr, ann);
}
diff --git a/src/comp/front/creader.rs b/src/comp/front/creader.rs
index f48d47c9..c8b31159 100644
--- a/src/comp/front/creader.rs
+++ b/src/comp/front/creader.rs
@@ -93,7 +93,7 @@ fn parse_ty(@pstate st, str_def sd) -> ty.t {
case ('c') { ret ty.mk_char(st.tcx); }
case ('s') { ret ty.mk_str(st.tcx); }
case ('t') {
- check(next(st) as char == '[');
+ assert (next(st) as char == '[');
auto def = parse_def(st, sd);
let vec[ty.t] params = vec();
while (peek(st) as char != ']') {
@@ -108,7 +108,7 @@ fn parse_ty(@pstate st, str_def sd) -> ty.t {
case ('P') { ret ty.mk_port(st.tcx, parse_ty(st, sd)); }
case ('C') { ret ty.mk_chan(st.tcx, parse_ty(st, sd)); }
case ('T') {
- check(next(st) as char == '[');
+ assert (next(st) as char == '[');
let vec[ty.mt] params = vec();
while (peek(st) as char != ']') {
params += vec(parse_mt(st, sd));
@@ -117,7 +117,7 @@ fn parse_ty(@pstate st, str_def sd) -> ty.t {
ret ty.mk_tup(st.tcx, params);
}
case ('R') {
- check(next(st) as char == '[');
+ assert (next(st) as char == '[');
let vec[ty.field] fields = vec();
while (peek(st) as char != ']') {
auto name = "";
@@ -149,7 +149,7 @@ fn parse_ty(@pstate st, str_def sd) -> ty.t {
ret ty.mk_native_fn(st.tcx,abi,func._0,func._1);
}
case ('O') {
- check(next(st) as char == '[');
+ assert (next(st) as char == '[');
let vec[ty.method] methods = vec();
while (peek(st) as char != ']') {
auto proto;
@@ -175,9 +175,9 @@ fn parse_ty(@pstate st, str_def sd) -> ty.t {
case ('Y') { ret ty.mk_type(st.tcx); }
case ('#') {
auto pos = parse_hex(st);
- check (next(st) as char == ':');
+ assert (next(st) as char == ':');
auto len = parse_hex(st);
- check (next(st) as char == '#');
+ assert (next(st) as char == '#');
alt (st.tcx.rcache.find(tup(st.crate,pos,len))) {
case (some[ty.t](?tt)) { ret tt; }
case (none[ty.t]) {
@@ -245,7 +245,7 @@ fn parse_hex(@pstate st) -> uint {
}
fn parse_ty_fn(@pstate st, str_def sd) -> tup(vec[ty.arg], ty.t) {
- check(next(st) as char == '[');
+ assert (next(st) as char == '[');
let vec[ty.arg] inputs = vec();
while (peek(st) as char != ']') {
auto mode = ast.val;
diff --git a/src/comp/front/lexer.rs b/src/comp/front/lexer.rs
index 3659af1c..dabdee1c 100644
--- a/src/comp/front/lexer.rs
+++ b/src/comp/front/lexer.rs
@@ -127,6 +127,7 @@ fn keyword_table() -> std.map.hashmap[str, token.token] {
keywords.insert("type", token.TYPE);
keywords.insert("check", token.CHECK);
+ keywords.insert("assert", token.ASSERT);
keywords.insert("claim", token.CLAIM);
keywords.insert("prove", token.PROVE);
@@ -528,7 +529,7 @@ fn scan_numeric_escape(reader rdr) -> char {
auto n_hex_digits = 0;
- check (rdr.curr() == '\\');
+ assert (rdr.curr() == '\\');
alt (rdr.next()) {
case ('x') { n_hex_digits = 2; }
diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs
index fdd41cf0..3e8ca85a 100644
--- a/src/comp/front/parser.rs
+++ b/src/comp/front/parser.rs
@@ -621,7 +621,7 @@ fn parse_path(parser p, greed g) -> ast.path {
if (p.peek() == token.DOT) {
if (g == GREEDY) {
p.bump();
- check (is_ident(p.peek()));
+ assert (is_ident(p.peek()));
} else {
more = false;
}
@@ -816,20 +816,23 @@ fn parse_bottom_expr(parser p) -> @ast.expr {
ex = ast.expr_log(0, e, ast.ann_none);
}
- case (token.CHECK) {
+ case (token.ASSERT) {
p.bump();
- alt (p.peek()) {
- case (token.LPAREN) {
- auto e = parse_expr(p);
- auto hi = e.span.hi;
- ex = ast.expr_check_expr(e, ast.ann_none);
- }
- case (_) {
- p.get_session().unimpl("constraint-check stmt");
- }
- }
+ auto e = parse_expr(p);
+ auto hi = e.span.hi;
+ ex = ast.expr_assert(e, ast.ann_none);
}
+ case (token.CHECK) {
+ p.bump();
+ /* Should be a predicate (pure boolean function) applied to
+ arguments that are all either slot variables or literals.
+ but the typechecker enforces that. */
+ auto e = parse_expr(p);
+ auto hi = e.span.hi;
+ ex = ast.expr_check(e, ast.ann_none);
+ }
+
case (token.RET) {
p.bump();
alt (p.peek()) {
@@ -937,7 +940,7 @@ fn expand_syntax_ext(parser p, ast.span sp,
&ast.path path, vec[@ast.expr] args,
option.t[str] body) -> ast.expr_ {
- check (_vec.len[ast.ident](path.node.idents) > 0u);
+ assert (_vec.len[ast.ident](path.node.idents) > 0u);
auto extname = path.node.idents.(0);
if (_str.eq(extname, "fmt")) {
auto expanded = extfmt.expand_syntax_ext(args, body);
@@ -1673,7 +1676,8 @@ fn stmt_ends_with_semi(@ast.stmt stmt) -> bool {
case (ast.expr_put(_,_)) { ret true; }
case (ast.expr_be(_,_)) { ret true; }
case (ast.expr_log(_,_,_)) { ret true; }
- case (ast.expr_check_expr(_,_)) { ret true; }
+ case (ast.expr_check(_,_)) { ret true; }
+ case (ast.expr_assert(_,_)) { ret true; }
}
}
// We should not be calling this on a cdir.
@@ -2157,24 +2161,24 @@ fn parse_item(parser p) -> @ast.item {
alt (p.peek()) {
case (token.CONST) {
- check (lyr == ast.layer_value);
+ assert (lyr == ast.layer_value);
ret parse_item_const(p);
}
case (token.FN) {
- check (lyr == ast.layer_value);
+ assert (lyr == ast.layer_value);
ret parse_item_fn_or_iter(p);
}
case (token.ITER) {
- check (lyr == ast.layer_value);
+ assert (lyr == ast.layer_value);
ret parse_item_fn_or_iter(p);
}
case (token.MOD) {
- check (lyr == ast.layer_value);
+ assert (lyr == ast.layer_value);
ret parse_item_mod(p);
}
case (token.NATIVE) {
- check (lyr == ast.layer_value);
+ assert (lyr == ast.layer_value);
ret parse_item_native_mod(p);
}
case (token.TYPE) {
diff --git a/src/comp/front/token.rs b/src/comp/front/token.rs
index f367bcc6..594515f2 100644
--- a/src/comp/front/token.rs
+++ b/src/comp/front/token.rs
@@ -89,6 +89,7 @@ tag token {
/* Type and type-state keywords */
TYPE;
+ ASSERT;
CHECK;
CLAIM;
PROVE;
@@ -258,6 +259,7 @@ fn to_str(token t) -> str {
/* Type and type-state keywords */
case (TYPE) { ret "type"; }
+ case (ASSERT) { ret "assert"; }
case (CHECK) { ret "check"; }
case (CLAIM) { ret "claim"; }
case (PROVE) { ret "prove"; }
diff --git a/src/comp/lib/llvm.rs b/src/comp/lib/llvm.rs
index 41ec1836..070174ba 100644
--- a/src/comp/lib/llvm.rs
+++ b/src/comp/lib/llvm.rs
@@ -861,19 +861,19 @@ obj builder(BuilderRef B, @mutable bool terminated) {
/* Terminators */
fn RetVoid() -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildRetVoid(B);
}
fn Ret(ValueRef V) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildRet(B, V);
}
fn AggregateRet(vec[ValueRef] RetVals) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildAggregateRet(B,
_vec.buf[ValueRef](RetVals),
@@ -881,26 +881,26 @@ obj builder(BuilderRef B, @mutable bool terminated) {
}
fn Br(BasicBlockRef Dest) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildBr(B, Dest);
}
fn CondBr(ValueRef If, BasicBlockRef Then,
BasicBlockRef Else) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildCondBr(B, If, Then, Else);
}
fn Switch(ValueRef V, BasicBlockRef Else, uint NumCases) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildSwitch(B, V, Else, NumCases);
}
fn IndirectBr(ValueRef Addr, uint NumDests) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildIndirectBr(B, Addr, NumDests);
}
@@ -909,7 +909,7 @@ obj builder(BuilderRef B, @mutable bool terminated) {
vec[ValueRef] Args,
BasicBlockRef Then,
BasicBlockRef Catch) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildInvoke(B, Fn,
_vec.buf[ValueRef](Args),
@@ -919,209 +919,209 @@ obj builder(BuilderRef B, @mutable bool terminated) {
}
fn Unwind() -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildUnwind(B);
}
fn Unreachable() -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
*terminated = true;
ret llvm.LLVMBuildUnreachable(B);
}
/* Arithmetic */
fn Add(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildAdd(B, LHS, RHS, _str.buf(""));
}
fn NSWAdd(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNSWAdd(B, LHS, RHS, _str.buf(""));
}
fn NUWAdd(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNUWAdd(B, LHS, RHS, _str.buf(""));
}
fn FAdd(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFAdd(B, LHS, RHS, _str.buf(""));
}
fn Sub(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildSub(B, LHS, RHS, _str.buf(""));
}
fn NSWSub(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNSWSub(B, LHS, RHS, _str.buf(""));
}
fn NUWSub(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNUWSub(B, LHS, RHS, _str.buf(""));
}
fn FSub(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFSub(B, LHS, RHS, _str.buf(""));
}
fn Mul(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildMul(B, LHS, RHS, _str.buf(""));
}
fn NSWMul(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNSWMul(B, LHS, RHS, _str.buf(""));
}
fn NUWMul(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNUWMul(B, LHS, RHS, _str.buf(""));
}
fn FMul(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFMul(B, LHS, RHS, _str.buf(""));
}
fn UDiv(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildUDiv(B, LHS, RHS, _str.buf(""));
}
fn SDiv(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildSDiv(B, LHS, RHS, _str.buf(""));
}
fn ExactSDiv(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildExactSDiv(B, LHS, RHS, _str.buf(""));
}
fn FDiv(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFDiv(B, LHS, RHS, _str.buf(""));
}
fn URem(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildURem(B, LHS, RHS, _str.buf(""));
}
fn SRem(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildSRem(B, LHS, RHS, _str.buf(""));
}
fn FRem(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFRem(B, LHS, RHS, _str.buf(""));
}
fn Shl(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildShl(B, LHS, RHS, _str.buf(""));
}
fn LShr(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildLShr(B, LHS, RHS, _str.buf(""));
}
fn AShr(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildAShr(B, LHS, RHS, _str.buf(""));
}
fn And(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildAnd(B, LHS, RHS, _str.buf(""));
}
fn Or(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildOr(B, LHS, RHS, _str.buf(""));
}
fn Xor(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildXor(B, LHS, RHS, _str.buf(""));
}
fn BinOp(Opcode Op, ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildBinOp(B, Op, LHS, RHS, _str.buf(""));
}
fn Neg(ValueRef V) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNeg(B, V, _str.buf(""));
}
fn NSWNeg(ValueRef V) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNSWNeg(B, V, _str.buf(""));
}
fn NUWNeg(ValueRef V) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNUWNeg(B, V, _str.buf(""));
}
fn FNeg(ValueRef V) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFNeg(B, V, _str.buf(""));
}
fn Not(ValueRef V) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildNot(B, V, _str.buf(""));
}
/* Memory */
fn Malloc(TypeRef Ty) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildMalloc(B, Ty, _str.buf(""));
}
fn ArrayMalloc(TypeRef Ty, ValueRef Val) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildArrayMalloc(B, Ty, Val, _str.buf(""));
}
fn Alloca(TypeRef Ty) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildAlloca(B, Ty, _str.buf(""));
}
fn ArrayAlloca(TypeRef Ty, ValueRef Val) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildArrayAlloca(B, Ty, Val, _str.buf(""));
}
fn Free(ValueRef PointerVal) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFree(B, PointerVal);
}
fn Load(ValueRef PointerVal) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildLoad(B, PointerVal, _str.buf(""));
}
fn Store(ValueRef Val, ValueRef Ptr) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildStore(B, Val, Ptr);
}
fn GEP(ValueRef Pointer, vec[ValueRef] Indices) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildGEP(B, Pointer,
_vec.buf[ValueRef](Indices),
_vec.len[ValueRef](Indices),
@@ -1129,7 +1129,7 @@ obj builder(BuilderRef B, @mutable bool terminated) {
}
fn InBoundsGEP(ValueRef Pointer, vec[ValueRef] Indices) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildInBoundsGEP(B, Pointer,
_vec.buf[ValueRef](Indices),
_vec.len[ValueRef](Indices),
@@ -1137,125 +1137,125 @@ obj builder(BuilderRef B, @mutable bool terminated) {
}
fn StructGEP(ValueRef Pointer, uint Idx) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildStructGEP(B, Pointer, Idx, _str.buf(""));
}
fn GlobalString(sbuf Str) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildGlobalString(B, Str, _str.buf(""));
}
fn GlobalStringPtr(sbuf Str) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildGlobalStringPtr(B, Str, _str.buf(""));
}
/* Casts */
fn Trunc(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildTrunc(B, Val, DestTy, _str.buf(""));
}
fn ZExt(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildZExt(B, Val, DestTy, _str.buf(""));
}
fn SExt(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildSExt(B, Val, DestTy, _str.buf(""));
}
fn FPToUI(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFPToUI(B, Val, DestTy, _str.buf(""));
}
fn FPToSI(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFPToSI(B, Val, DestTy, _str.buf(""));
}
fn UIToFP(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildUIToFP(B, Val, DestTy, _str.buf(""));
}
fn SIToFP(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildSIToFP(B, Val, DestTy, _str.buf(""));
}
fn FPTrunc(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFPTrunc(B, Val, DestTy, _str.buf(""));
}
fn FPExt(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFPExt(B, Val, DestTy, _str.buf(""));
}
fn PtrToInt(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildPtrToInt(B, Val, DestTy, _str.buf(""));
}
fn IntToPtr(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildIntToPtr(B, Val, DestTy, _str.buf(""));
}
fn BitCast(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildBitCast(B, Val, DestTy, _str.buf(""));
}
fn ZExtOrBitCast(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildZExtOrBitCast(B, Val, DestTy, _str.buf(""));
}
fn SExtOrBitCast(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildSExtOrBitCast(B, Val, DestTy, _str.buf(""));
}
fn TruncOrBitCast(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildTruncOrBitCast(B, Val, DestTy, _str.buf(""));
}
fn Cast(Opcode Op, ValueRef Val, TypeRef DestTy, sbuf Name) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildCast(B, Op, Val, DestTy, _str.buf(""));
}
fn PointerCast(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildPointerCast(B, Val, DestTy, _str.buf(""));
}
fn IntCast(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildIntCast(B, Val, DestTy, _str.buf(""));
}
fn FPCast(ValueRef Val, TypeRef DestTy) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFPCast(B, Val, DestTy, _str.buf(""));
}
/* Comparisons */
fn ICmp(uint Op, ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildICmp(B, Op, LHS, RHS, _str.buf(""));
}
fn FCmp(uint Op, ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildFCmp(B, Op, LHS, RHS, _str.buf(""));
}
@@ -1263,9 +1263,9 @@ obj builder(BuilderRef B, @mutable bool terminated) {
/* Miscellaneous instructions */
fn Phi(TypeRef Ty, vec[ValueRef] vals,
vec[BasicBlockRef] bbs) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
auto phi = llvm.LLVMBuildPhi(B, Ty, _str.buf(""));
- check (_vec.len[ValueRef](vals) == _vec.len[BasicBlockRef](bbs));
+ assert (_vec.len[ValueRef](vals) == _vec.len[BasicBlockRef](bbs));
llvm.LLVMAddIncoming(phi,
_vec.buf[ValueRef](vals),
_vec.buf[BasicBlockRef](bbs),
@@ -1276,7 +1276,7 @@ obj builder(BuilderRef B, @mutable bool terminated) {
fn AddIncomingToPhi(ValueRef phi,
vec[ValueRef] vals,
vec[BasicBlockRef] bbs) {
- check (_vec.len[ValueRef](vals) == _vec.len[BasicBlockRef](bbs));
+ assert (_vec.len[ValueRef](vals) == _vec.len[BasicBlockRef](bbs));
llvm.LLVMAddIncoming(phi,
_vec.buf[ValueRef](vals),
_vec.buf[BasicBlockRef](bbs),
@@ -1284,7 +1284,7 @@ obj builder(BuilderRef B, @mutable bool terminated) {
}
fn Call(ValueRef Fn, vec[ValueRef] Args) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildCall(B, Fn,
_vec.buf[ValueRef](Args),
_vec.len[ValueRef](Args),
@@ -1292,7 +1292,7 @@ obj builder(BuilderRef B, @mutable bool terminated) {
}
fn FastCall(ValueRef Fn, vec[ValueRef] Args) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
auto v = llvm.LLVMBuildCall(B, Fn,
_vec.buf[ValueRef](Args),
_vec.len[ValueRef](Args),
@@ -1302,65 +1302,65 @@ obj builder(BuilderRef B, @mutable bool terminated) {
}
fn Select(ValueRef If, ValueRef Then, ValueRef Else) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildSelect(B, If, Then, Else, _str.buf(""));
}
fn VAArg(ValueRef List, TypeRef Ty) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildVAArg(B, List, Ty, _str.buf(""));
}
fn ExtractElement(ValueRef VecVal, ValueRef Index) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildExtractElement(B, VecVal, Index, _str.buf(""));
}
fn InsertElement(ValueRef VecVal, ValueRef EltVal,
ValueRef Index) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildInsertElement(B, VecVal, EltVal, Index,
_str.buf(""));
}
fn ShuffleVector(ValueRef V1, ValueRef V2, ValueRef Mask) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildShuffleVector(B, V1, V2, Mask, _str.buf(""));
}
fn ExtractValue(ValueRef AggVal, uint Index) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildExtractValue(B, AggVal, Index, _str.buf(""));
}
fn InsertValue(ValueRef AggVal, ValueRef EltVal,
uint Index) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildInsertValue(B, AggVal, EltVal, Index, _str.buf(""));
}
fn IsNull(ValueRef Val) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildIsNull(B, Val, _str.buf(""));
}
fn IsNotNull(ValueRef Val) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildIsNotNull(B, Val, _str.buf(""));
}
fn PtrDiff(ValueRef LHS, ValueRef RHS) -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
ret llvm.LLVMBuildPtrDiff(B, LHS, RHS, _str.buf(""));
}
fn Trap() -> ValueRef {
- check (!*terminated);
+ assert (!*terminated);
let BasicBlockRef BB = llvm.LLVMGetInsertBlock(B);
let ValueRef FN = llvm.LLVMGetBasicBlockParent(BB);
let ModuleRef M = llvm.LLVMGetGlobalParent(FN);
let ValueRef T = llvm.LLVMGetNamedFunction(M, _str.buf("llvm.trap"));
- check (T as int != 0);
+ assert (T as int != 0);
let vec[ValueRef] Args = vec();
ret llvm.LLVMBuildCall(B, T,
_vec.buf[ValueRef](Args),
@@ -1391,8 +1391,8 @@ state obj type_names(std.map.hashmap[TypeRef, str] type_names,
std.map.hashmap[str, TypeRef] named_types) {
fn associate(str s, TypeRef t) {
- check (!named_types.contains_key(s));
- check (!type_names.contains_key(t));
+ assert (!named_types.contains_key(s));
+ assert (!type_names.contains_key(t));
type_names.insert(t, s);
named_types.insert(s, t);
}
diff --git a/src/comp/middle/fold.rs b/src/comp/middle/fold.rs
index a0f3bc93..e932fd9a 100644
--- a/src/comp/middle/fold.rs
+++ b/src/comp/middle/fold.rs
@@ -196,7 +196,10 @@ type ast_fold[ENV] =
@expr e, ann a) -> @expr) fold_expr_log,
(fn(&ENV e, &span sp,
- @expr e, ann a) -> @expr) fold_expr_check_expr,
+ @expr e, ann a) -> @expr) fold_expr_check,
+
+ (fn(&ENV e, &span sp,
+ @expr e, ann a) -> @expr) fold_expr_assert,
(fn(&ENV e, &span sp,
ann a) -> @expr) fold_expr_port,
@@ -796,10 +799,16 @@ fn fold_expr[ENV](&ENV env, ast_fold[ENV] fld, &@expr e) -> @expr {
ret fld.fold_expr_log(env_, e.span, l, ee, t2);
}
- case (ast.expr_check_expr(?x, ?t)) {
+ case (ast.expr_check(?x, ?t)) {
auto ee = fold_expr(env_, fld, x);
auto t2 = fld.fold_ann(env_, t);
- ret fld.fold_expr_check_expr(env_, e.span, ee, t2);
+ ret fld.fold_expr_check(env_, e.span, ee, t2);
+ }
+
+ case (ast.expr_assert(?x, ?t)) {
+ auto ee = fold_expr(env_, fld, x);
+ auto t2 = fld.fold_ann(env_, t);
+ ret fld.fold_expr_assert(env_, e.span, ee, t2);
}
case (ast.expr_port(?t)) {
@@ -1380,9 +1389,14 @@ fn identity_fold_expr_log[ENV](&ENV e, &span sp, int lvl, @expr x,
ret @respan(sp, ast.expr_log(lvl, x, a));
}
-fn identity_fold_expr_check_expr[ENV](&ENV e, &span sp, @expr x, ann a)
+fn identity_fold_expr_check[ENV](&ENV e, &span sp, @expr x, ann a)
+ -> @expr {
+ ret @respan(sp, ast.expr_check(x, a));
+}
+
+fn identity_fold_expr_assert[ENV](&ENV e, &span sp, @expr x, ann a)
-> @expr {
- ret @respan(sp, ast.expr_check_expr(x, a));
+ ret @respan(sp, ast.expr_check(x, a));
}
fn identity_fold_expr_port[ENV](&ENV e, &span sp, ann a) -> @expr {
@@ -1676,8 +1690,11 @@ fn new_identity_fold[ENV]() -> ast_fold[ENV] {
fold_expr_put = bind identity_fold_expr_put[ENV](_,_,_,_),
fold_expr_be = bind identity_fold_expr_be[ENV](_,_,_,_),
fold_expr_log = bind identity_fold_expr_log[ENV](_,_,_,_,_),
- fold_expr_check_expr
- = bind identity_fold_expr_check_expr[ENV](_,_,_,_),
+ fold_expr_check
+ = bind identity_fold_expr_check[ENV](_,_,_,_),
+ fold_expr_assert
+ = bind identity_fold_expr_assert[ENV](_,_,_,_),
+
fold_expr_port = bind identity_fold_expr_port[ENV](_,_,_),
fold_expr_chan = bind identity_fold_expr_chan[ENV](_,_,_,_),
diff --git a/src/comp/middle/metadata.rs b/src/comp/middle/metadata.rs
index 806f38b5..bec62628 100644
--- a/src/comp/middle/metadata.rs
+++ b/src/comp/middle/metadata.rs
@@ -63,7 +63,7 @@ mod Encode {
);
fn ty_str(@ctxt cx, ty.t t) -> str {
- check (! cx.use_abbrevs);
+ assert (! cx.use_abbrevs);
auto sw = io.string_writer();
enc_ty(sw.get_writer(), cx, t);
ret sw.get_str();
diff --git a/src/comp/middle/resolve.rs b/src/comp/middle/resolve.rs
index d75a6db0..c045413c 100644
--- a/src/comp/middle/resolve.rs
+++ b/src/comp/middle/resolve.rs
@@ -662,7 +662,7 @@ fn fold_pat_tag(&env e, &span sp, ast.path p, vec[@ast.pat] args,
fn fold_expr_path(&env e, &span sp, &ast.path p, &option.t[def] d,
ann a) -> @ast.expr {
auto n_idents = _vec.len[ast.ident](p.node.idents);
- check (n_idents != 0u);
+ assert (n_idents != 0u);
auto index = new_def_hash[def_wrap]();
auto d = find_final_def(e, index, sp, p.node.idents, ns_value,
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index fa88f79a..9d4260d8 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -592,7 +592,7 @@ fn type_of_explicit_args(@crate_ctxt cx, vec[ty.arg] inputs) -> vec[TypeRef] {
let vec[TypeRef] atys = vec();
for (ty.arg arg in inputs) {
if (ty.type_has_dynamic_size(cx.tcx, arg.ty)) {
- check (arg.mode == ast.alias);
+ assert (arg.mode == ast.alias);
atys += vec(T_typaram_ptr(cx.tn));
} else {
let TypeRef t;
@@ -638,7 +638,7 @@ fn type_of_fn_full(@crate_ctxt cx,
// Arg 2: Env (closure-bindings / self-obj)
alt (obj_self) {
case (some[TypeRef](?t)) {
- check (t as int != 0);
+ assert (t as int != 0);
atys += vec(t);
}
case (_) {
@@ -806,7 +806,7 @@ fn type_of_inner(@crate_ctxt cx, ty.t t) -> TypeRef {
case (ty.ty_type) { llty = T_ptr(T_tydesc(cx.tn)); }
}
- check (llty as int != 0);
+ assert (llty as int != 0);
llvm.LLVMAddTypeName(cx.llmod,
_str.buf(ty.ty_to_short_str(cx.tcx,
cx.type_abbrevs, t)),
@@ -1361,7 +1361,7 @@ fn dynamic_align_of(@block_ctxt cx, ty.t t) -> result {
fn GEP_tup_like(@block_ctxt cx, ty.t t,
ValueRef base, vec[int] ixs) -> result {
- check (ty.type_is_tup_like(cx.fcx.lcx.ccx.tcx, t));
+ assert (ty.type_is_tup_like(cx.fcx.lcx.ccx.tcx, t));
// It might be a static-known type. Handle this.
@@ -1399,17 +1399,17 @@ fn GEP_tup_like(@block_ctxt cx, ty.t t,
// and the latter would only be meaningful if we supported non-0
// values for the 0th index (we don't).
- check (len > 1u);
+ assert (len > 1u);
if (n == 0u) {
// Since we're starting from a value that's a pointer to a
// *single* structure, the first index (in GEP-ese) should just be
// 0, to yield the pointee.
- check (ixs.(n) == 0);
+ assert (ixs.(n) == 0);
ret split_type(ccx, t, ixs, n+1u);
}
- check (n < len);
+ assert (n < len);
let int ix = ixs.(n);
let vec[ty.t] prefix = vec();
@@ -1603,8 +1603,8 @@ fn get_tydesc(&@block_ctxt cx, ty.t t, bool escapes) -> result {
let uint n_params = ty.count_ty_params(cx.fcx.lcx.ccx.tcx, t);
auto tys = linearize_ty_params(cx, t);
- check (n_params == _vec.len[uint](tys._0));
- check (n_params == _vec.len[ValueRef](tys._1));
+ assert (n_params == _vec.len[uint](tys._0));
+ assert (n_params == _vec.len[ValueRef](tys._1));
auto root = get_static_tydesc(cx, t, tys._0).tydesc;
@@ -2327,7 +2327,7 @@ fn tag_variants(@crate_ctxt cx, ast.def_id id) -> vec[variant_info] {
ret creader.get_tag_variants(cx.sess, cx.tcx, id);
}
- check (cx.items.contains_key(id));
+ assert (cx.items.contains_key(id));
alt (cx.items.get(id).node) {
case (ast.item_tag(_, ?variants, _, _, _)) {
let vec[variant_info] result = vec();
@@ -3346,7 +3346,7 @@ fn join_results(@block_ctxt parent_cx,
// No incoming edges are live, so we're in dead-code-land.
// Arbitrarily pick the first dead edge, since the caller
// is just going to propagate it outward.
- check (_vec.len[result](ins) >= 1u);
+ assert (_vec.len[result](ins) >= 1u);
ret ins.(0);
}
@@ -3974,7 +3974,7 @@ fn lval_generic_fn(@block_ctxt cx,
auto lv;
if (cx.fcx.lcx.ccx.sess.get_targ_crate_num() == fn_id._0) {
// Internal reference.
- check (cx.fcx.lcx.ccx.fn_pairs.contains_key(fn_id));
+ assert (cx.fcx.lcx.ccx.fn_pairs.contains_key(fn_id));
lv = lval_val(cx, cx.fcx.lcx.ccx.fn_pairs.get(fn_id));
} else {
// External reference.
@@ -4017,7 +4017,7 @@ fn lookup_discriminant(@local_ctxt lcx, ast.def_id tid, ast.def_id vid)
alt (lcx.ccx.discrims.find(vid)) {
case (none[ValueRef]) {
// It's an external discriminant that we haven't seen yet.
- check (lcx.ccx.sess.get_targ_crate_num() != vid._0);
+ assert (lcx.ccx.sess.get_targ_crate_num() != vid._0);
auto sym = creader.get_symbol(lcx.ccx.sess, vid);
auto gvar = llvm.LLVMAddGlobal(lcx.ccx.llmod, T_int(),
_str.buf(sym));
@@ -4039,7 +4039,7 @@ fn trans_path(@block_ctxt cx, &ast.path p, &option.t[ast.def] dopt,
case (ast.def_arg(?did)) {
alt (cx.fcx.llargs.find(did)) {
case (none[ValueRef]) {
- check (cx.fcx.llupvars.contains_key(did));
+ assert (cx.fcx.llupvars.contains_key(did));
ret lval_mem(cx, cx.fcx.llupvars.get(did));
}
case (some[ValueRef](?llval)) {
@@ -4050,7 +4050,7 @@ fn trans_path(@block_ctxt cx, &ast.path p, &option.t[ast.def] dopt,
case (ast.def_local(?did)) {
alt (cx.fcx.lllocals.find(did)) {
case (none[ValueRef]) {
- check (cx.fcx.llupvars.contains_key(did));
+ assert (cx.fcx.llupvars.contains_key(did));
ret lval_mem(cx, cx.fcx.llupvars.get(did));
}
case (some[ValueRef](?llval)) {
@@ -4059,11 +4059,11 @@ fn trans_path(@block_ctxt cx, &ast.path p, &option.t[ast.def] dopt,
}
}
case (ast.def_binding(?did)) {
- check (cx.fcx.lllocals.contains_key(did));
+ assert (cx.fcx.lllocals.contains_key(did));
ret lval_mem(cx, cx.fcx.lllocals.get(did));
}
case (ast.def_obj_field(?did)) {
- check (cx.fcx.llobjfields.contains_key(did));
+ assert (cx.fcx.llobjfields.contains_key(did));
ret lval_mem(cx, cx.fcx.llobjfields.get(did));
}
case (ast.def_fn(?did)) {
@@ -4115,7 +4115,7 @@ fn trans_path(@block_ctxt cx, &ast.path p, &option.t[ast.def] dopt,
}
case (ast.def_const(?did)) {
// TODO: externals
- check (cx.fcx.lcx.ccx.consts.contains_key(did));
+ assert (cx.fcx.lcx.ccx.consts.contains_key(did));
ret lval_mem(cx, cx.fcx.lcx.ccx.consts.get(did));
}
case (ast.def_native_fn(?did)) {
@@ -4254,7 +4254,7 @@ fn trans_lval(@block_ctxt cx, @ast.expr e) -> lval_result {
ret trans_index(cx, e.span, base, idx, ann);
}
case (ast.expr_unary(?unop, ?base, ?ann)) {
- check (unop == ast.deref);
+ assert (unop == ast.deref);
auto sub = trans_expr(cx, base);
auto val = sub.bcx.build.GEP(sub.val,
@@ -4418,7 +4418,7 @@ fn trans_bind_thunk(@local_ctxt cx,
}
} else if (ty.type_contains_params(cx.ccx.tcx,
out_arg.ty)) {
- check (out_arg.mode == ast.alias);
+ assert (out_arg.mode == ast.alias);
val = bcx.build.PointerCast(val, llout_arg_ty);
}
@@ -4431,7 +4431,7 @@ fn trans_bind_thunk(@local_ctxt cx,
let ValueRef passed_arg = llvm.LLVMGetParam(llthunk, a);
if (ty.type_contains_params(cx.ccx.tcx, out_arg.ty)) {
- check (out_arg.mode == ast.alias);
+ assert (out_arg.mode == ast.alias);
passed_arg = bcx.build.PointerCast(passed_arg,
llout_arg_ty);
}
@@ -5121,7 +5121,7 @@ fn trans_expr(@block_ctxt cx, @ast.expr e) -> result {
case (ast.expr_assign(?dst, ?src, ?ann)) {
auto lhs_res = trans_lval(cx, dst);
- check (lhs_res.is_mem);
+ assert (lhs_res.is_mem);
auto rhs_res = trans_expr(lhs_res.res.bcx, src);
auto t = node_ann_type(cx.fcx.lcx.ccx, ann);
// FIXME: calculate copy init-ness in typestate.
@@ -5132,7 +5132,7 @@ fn trans_expr(@block_ctxt cx, @ast.expr e) -> result {
case (ast.expr_assign_op(?op, ?dst, ?src, ?ann)) {
auto t = node_ann_type(cx.fcx.lcx.ccx, ann);
auto lhs_res = trans_lval(cx, dst);
- check (lhs_res.is_mem);
+ assert (lhs_res.is_mem);
auto rhs_res = trans_expr(lhs_res.res.bcx, src);
if (ty.type_is_sequence(cx.fcx.lcx.ccx.tcx, t)) {
alt (op) {
@@ -5189,7 +5189,11 @@ fn trans_expr(@block_ctxt cx, @ast.expr e) -> result {
ret trans_log(lvl, cx, a);
}
- case (ast.expr_check_expr(?a, _)) {
+ case (ast.expr_assert(?a, _)) {
+ ret trans_check_expr(cx, a);
+ }
+
+ case (ast.expr_check(?a, _)) {
ret trans_check_expr(cx, a);
}
@@ -5510,7 +5514,7 @@ fn trans_ret(@block_ctxt cx, &option.t[@ast.expr] e) -> result {
fn trans_be(@block_ctxt cx, @ast.expr e) -> result {
// FIXME: This should be a typestate precondition
- check (ast.is_call_expr(e));
+ assert (ast.is_call_expr(e));
// FIXME: Turn this into a real tail call once
// calling convention issues are settled
ret trans_ret(cx, some(e));
@@ -5606,7 +5610,7 @@ fn trans_recv(@block_ctxt cx, @ast.expr lhs, @ast.expr rhs,
auto bcx = cx;
auto data = trans_lval(bcx, lhs);
- check (data.is_mem);
+ assert (data.is_mem);
bcx = data.res.bcx;
auto unit_ty = node_ann_type(bcx.fcx.lcx.ccx, ann);
@@ -5638,7 +5642,7 @@ fn recv_val(@block_ctxt cx, ValueRef lhs, @ast.expr rhs,
fn init_local(@block_ctxt cx, @ast.local local) -> result {
// Make a note to drop this slot on the way out.
- check (cx.fcx.lllocals.contains_key(local.id));
+ assert (cx.fcx.lllocals.contains_key(local.id));
auto llptr = cx.fcx.lllocals.get(local.id);
auto ty = node_ann_type(cx.fcx.lcx.ccx, local.ann);
auto bcx = cx;
@@ -5754,7 +5758,7 @@ fn trans_block_cleanups(@block_ctxt cx,
auto bcx = cx;
if (cleanup_cx.kind == NON_SCOPE_BLOCK) {
- check (_vec.len[cleanup](cleanup_cx.cleanups) == 0u);
+ assert (_vec.len[cleanup](cleanup_cx.cleanups) == 0u);
}
auto i = _vec.len[cleanup](cleanup_cx.cleanups);
@@ -5975,7 +5979,7 @@ fn create_llargs_for_fn_args(&@fn_ctxt cx,
auto i = 0u;
for (ast.ty_param tp in ty_params) {
auto llarg = llvm.LLVMGetParam(cx.llfn, arg_n);
- check (llarg as int != 0);
+ assert (llarg as int != 0);
cx.lltydescs += vec(llarg);
arg_n += 1u;
i += 1u;
@@ -5985,14 +5989,14 @@ fn create_llargs_for_fn_args(&@fn_ctxt cx,
if (proto == ast.proto_iter) {
auto llarg = llvm.LLVMGetParam(cx.llfn, arg_n);
- check (llarg as int != 0);
+ assert (llarg as int != 0);
cx.lliterbody = some[ValueRef](llarg);
arg_n += 1u;
}
for (ast.arg arg in args) {
auto llarg = llvm.LLVMGetParam(cx.llfn, arg_n);
- check (llarg as int != 0);
+ assert (llarg as int != 0);
cx.llargs.insert(arg.id, llarg);
arg_n += 1u;
}
@@ -6430,7 +6434,7 @@ fn trans_tag_variant(@local_ctxt cx, ast.def_id tag_id,
id=varg.id));
}
- check (cx.ccx.item_ids.contains_key(variant.node.id));
+ assert (cx.ccx.item_ids.contains_key(variant.node.id));
let ValueRef llfndecl = cx.ccx.item_ids.get(variant.node.id);
auto fcx = new_fn_ctxt(cx, llfndecl);
@@ -6697,7 +6701,7 @@ fn decl_native_fn_and_pair(@crate_ctxt ccx,
for each (uint i in _uint.range(0u, num_ty_param)) {
auto llarg = llvm.LLVMGetParam(fcx.llfn, arg_n);
fcx.lltydescs += vec(llarg);
- check (llarg as int != 0);
+ assert (llarg as int != 0);
call_args += vec(vp2i(bcx, llarg));
arg_n += 1u;
}
@@ -6763,7 +6767,7 @@ fn decl_native_fn_and_pair(@crate_ctxt ccx,
for (ty.arg arg in args) {
auto llarg = llvm.LLVMGetParam(fcx.llfn, arg_n);
- check (llarg as int != 0);
+ assert (llarg as int != 0);
push_arg(bcx, call_args, llarg, arg.ty, arg.mode);
if (arg.mode == ast.val) {
drop_args += vec(tup(llarg, arg.ty));
diff --git a/src/comp/middle/ty.rs b/src/comp/middle/ty.rs
index 83befefc..220adcb1 100644
--- a/src/comp/middle/ty.rs
+++ b/src/comp/middle/ty.rs
@@ -895,7 +895,7 @@ fn type_is_tup_like(ctxt cx, t ty) -> bool {
}
fn get_element_type(ctxt cx, t ty, uint i) -> t {
- check (type_is_tup_like(cx, ty));
+ assert (type_is_tup_like(cx, ty));
alt (struct(cx, ty)) {
case (ty_tup(?mts)) {
ret mts.(i).ty;
@@ -1785,50 +1785,117 @@ fn pat_ty(ctxt cx, @ast.pat pat) -> t {
fail; // not reached
}
-fn expr_ann(@ast.expr expr) -> option.t[ast.ann] {
- alt (expr.node) {
- case (ast.expr_vec(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_tup(_, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_rec(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_bind(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_call(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_self_method(_, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_spawn(_, _, _, _, ?ann))
- { ret some[ast.ann](ann); }
- case (ast.expr_binary(_, _, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_unary(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_lit(_, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_cast(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_if(_, _, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_for(_, _, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_for_each(_, _, _, ?ann))
- { ret some[ast.ann](ann); }
- case (ast.expr_while(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_do_while(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_alt(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_block(_, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_assign(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_assign_op(_, _, _, ?ann))
- { ret some[ast.ann](ann); }
- case (ast.expr_field(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_index(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_path(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_ext(_, _, _, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_port(?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_chan(_, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_send(_, _, ?ann)) { ret some[ast.ann](ann); }
- case (ast.expr_recv(_, _, ?ann)) { ret some[ast.ann](ann); }
-
- case (ast.expr_fail(_)) { ret none[ast.ann]; }
- case (ast.expr_break(_)) { ret none[ast.ann]; }
- case (ast.expr_cont(_)) { ret none[ast.ann]; }
- case (ast.expr_log(_,_,_)) { ret none[ast.ann]; }
- case (ast.expr_check_expr(_,_)) { ret none[ast.ann]; }
- case (ast.expr_ret(_,_)) { ret none[ast.ann]; }
- case (ast.expr_put(_,_)) { ret none[ast.ann]; }
- case (ast.expr_be(_,_)) { ret none[ast.ann]; }
+fn expr_ann(&@ast.expr e) -> ast.ann {
+ alt(e.node) {
+ case (ast.expr_vec(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_tup(_,?a)) {
+ ret a;
+ }
+ case (ast.expr_rec(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_call(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_bind(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_binary(_,_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_unary(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_lit(_,?a)) {
+ ret a;
+ }
+ case (ast.expr_cast(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_if(_,_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_while(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_for(_,_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_for_each(_,_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_do_while(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_alt(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_block(_,?a)) {
+ ret a;
+ }
+ case (ast.expr_assign(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_assign_op(_,_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_send(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_recv(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_field(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_index(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_path(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_ext(_,_,_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_fail(?a)) {
+ ret a;
+ }
+ case (ast.expr_ret(_,?a)) {
+ ret a;
+ }
+ case (ast.expr_put(_,?a)) {
+ ret a;
+ }
+ case (ast.expr_be(_,?a)) {
+ ret a;
+ }
+ case (ast.expr_log(_,_,?a)) {
+ ret a;
+ }
+ case (ast.expr_assert(_,?a)) {
+ ret a;
+ }
+ case (ast.expr_check(_,?a)) {
+ ret a;
+ }
+ case (ast.expr_port(?a)) {
+ ret a;
+ }
+ case (ast.expr_chan(_,?a)) {
+ ret a;
+ }
+ case (ast.expr_break(?a)) {
+ ret a;
+ }
+ case (ast.expr_cont(?a)) {
+ ret a;
+ }
+ case (ast.expr_self_method(_, ?a)) {
+ ret a;
+ }
}
- fail;
}
// Returns the type of an expression as a monotype.
@@ -1838,35 +1905,21 @@ fn expr_ann(@ast.expr expr) -> option.t[ast.ann] {
// instead of "fn(&T) -> T with T = int". If this isn't what you want, see
// expr_ty_params_and_ty() below.
fn expr_ty(ctxt cx, @ast.expr expr) -> t {
- alt (expr_ann(expr)) {
- case (none[ast.ann]) { ret mk_nil(cx); }
- case (some[ast.ann](?a)) { ret ann_to_monotype(cx, a); }
- }
+ { ret ann_to_monotype(cx, expr_ann(expr)); }
}
fn expr_ty_params_and_ty(ctxt cx, @ast.expr expr) -> tup(vec[t], t) {
- alt (expr_ann(expr)) {
- case (none[ast.ann]) {
- let vec[t] tps = vec();
- ret tup(tps, mk_nil(cx));
- }
- case (some[ast.ann](?a)) {
- ret tup(ann_to_type_params(a), ann_to_type(a));
- }
- }
+ auto a = expr_ann(expr);
+
+ ret tup(ann_to_type_params(a), ann_to_type(a));
}
fn expr_has_ty_params(@ast.expr expr) -> bool {
// FIXME: Rewrite using complex patterns when they're trustworthy.
alt (expr_ann(expr)) {
- case (none[ast.ann]) { fail; }
- case (some[ast.ann](?a)) {
- alt (a) {
- case (ast.ann_none) { fail; }
- case (ast.ann_type(_, ?tps_opt, _)) {
- ret !option.is_none[vec[t]](tps_opt);
- }
- }
+ case (ast.ann_none) { fail; }
+ case (ast.ann_type(_, ?tps_opt, _)) {
+ ret !option.is_none[vec[t]](tps_opt);
}
}
}
@@ -2233,7 +2286,7 @@ mod Unify {
if (actual_n < vlen) {
cx.types.(actual_n) += vec(expected);
} else {
- check (actual_n == vlen);
+ assert (actual_n == vlen);
cx.types += vec(mutable vec(expected));
}
}
@@ -2601,7 +2654,7 @@ mod Unify {
if (expected_n < vlen) {
cx.types.(expected_n) += vec(actual);
} else {
- check (expected_n == vlen);
+ assert (expected_n == vlen);
cx.types += vec(mutable vec(actual));
}
ret ures_ok(expected);
diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs
index 3354fe46..094b7e1f 100644
--- a/src/comp/middle/typeck.rs
+++ b/src/comp/middle/typeck.rs
@@ -110,7 +110,7 @@ fn ty_param_count_and_ty_for_def(@fn_ctxt fcx, &ast.span sp, &ast.def defn)
-> ty_param_count_and_ty {
alt (defn) {
case (ast.def_arg(?id)) {
- // check (fcx.locals.contains_key(id));
+ // assert (fcx.locals.contains_key(id));
ret tup(0u, fcx.locals.get(id));
}
case (ast.def_local(?id)) {
@@ -122,7 +122,7 @@ fn ty_param_count_and_ty_for_def(@fn_ctxt fcx, &ast.span sp, &ast.def defn)
ret tup(0u, t);
}
case (ast.def_obj_field(?id)) {
- // check (fcx.locals.contains_key(id));
+ // assert (fcx.locals.contains_key(id));
ret tup(0u, fcx.locals.get(id));
}
case (ast.def_fn(?id)) {
@@ -142,7 +142,7 @@ fn ty_param_count_and_ty_for_def(@fn_ctxt fcx, &ast.span sp, &ast.def defn)
fcx.ccx.type_cache, vid);
}
case (ast.def_binding(?id)) {
- // check (fcx.locals.contains_key(id));
+ // assert (fcx.locals.contains_key(id));
ret tup(0u, fcx.locals.get(id));
}
case (ast.def_obj(?id)) {
@@ -298,7 +298,7 @@ fn ast_ty_to_ty(ty.ctxt tcx, ty_getter getter, &@ast.ty ast_ty) -> ty.t {
}
case (ast.ty_path(?path, ?def)) {
- check (def != none[ast.def]);
+ assert (def != none[ast.def]);
alt (option.get[ast.def](def)) {
case (ast.def_ty(?id)) {
typ = instantiate(tcx, getter, id, path.node.types);
@@ -411,7 +411,7 @@ mod Collect {
ret creader.get_type(cx.sess, cx.tcx, id);
}
- // check (cx.id_to_ty_item.contains_key(id));
+ // assert (cx.id_to_ty_item.contains_key(id));
auto it = cx.id_to_ty_item.get(id);
auto tpt;
@@ -672,7 +672,7 @@ mod Collect {
fn fold_item_const(&@env e, &span sp, ast.ident i,
@ast.ty t, @ast.expr ex,
ast.def_id id, ast.ann a) -> @ast.item {
- // check (e.cx.type_cache.contains_key(id));
+ // assert (e.cx.type_cache.contains_key(id));
auto typ = e.cx.type_cache.get(id)._1;
auto item = ast.item_const(i, t, ex, id, triv_ann(typ));
ret @fold.respan[ast.item_](sp, item);
@@ -681,7 +681,7 @@ mod Collect {
fn fold_item_fn(&@env e, &span sp, ast.ident i,
&ast._fn f, vec[ast.ty_param] ty_params,
ast.def_id id, ast.ann a) -> @ast.item {
- // check (e.cx.type_cache.contains_key(id));
+ // assert (e.cx.type_cache.contains_key(id));
auto typ = e.cx.type_cache.get(id)._1;
auto item = ast.item_fn(i, f, ty_params, id, triv_ann(typ));
ret @fold.respan[ast.item_](sp, item);
@@ -690,7 +690,7 @@ mod Collect {
fn fold_native_item_fn(&@env e, &span sp, ast.ident i, option.t[str] ln,
&ast.fn_decl d, vec[ast.ty_param] ty_params,
ast.def_id id, ast.ann a) -> @ast.native_item {
- // check (e.cx.type_cache.contains_key(id));
+ // assert (e.cx.type_cache.contains_key(id));
auto typ = e.cx.type_cache.get(id)._1;
auto item = ast.native_item_fn(i, ln, d, ty_params, id,
triv_ann(typ));
@@ -721,7 +721,7 @@ mod Collect {
fn fold_item_obj(&@env e, &span sp, ast.ident i,
&ast._obj ob, vec[ast.ty_param] ty_params,
ast.obj_def_ids odid, ast.ann a) -> @ast.item {
- // check (e.cx.type_cache.contains_key(odid.ctor));
+ // assert (e.cx.type_cache.contains_key(odid.ctor));
auto t = e.cx.type_cache.get(odid.ctor)._1;
let vec[method] meth_tys = get_ctor_obj_methods(e, t);
let vec[@ast.method] methods = vec();
@@ -777,7 +777,7 @@ mod Collect {
fn fold_item_ty(&@env e, &span sp, ast.ident i,
@ast.ty t, vec[ast.ty_param] ty_params,
ast.def_id id, ast.ann a) -> @ast.item {
- // check (e.cx.type_cache.contains_key(id));
+ // assert (e.cx.type_cache.contains_key(id));
auto typ = e.cx.type_cache.get(id)._1;
auto item = ast.item_ty(i, t, ty_params, id, triv_ann(typ));
ret @fold.respan[ast.item_](sp, item);
@@ -1214,7 +1214,7 @@ mod Pushdown {
case (none[@ast.expr]) {
auto i = 0u;
for (ast.field field_0 in fields_0) {
- check (_str.eq(field_0.ident,
+ assert (_str.eq(field_0.ident,
field_mts.(i).ident));
auto e_1 =
pushdown_expr(fcx,
@@ -1409,7 +1409,8 @@ mod Pushdown {
case (ast.expr_ret(_,_)) { e_1 = e.node; }
case (ast.expr_put(_,_)) { e_1 = e.node; }
case (ast.expr_be(_,_)) { e_1 = e.node; }
- case (ast.expr_check_expr(_,_)) { e_1 = e.node; }
+ case (ast.expr_check(_,_)) { e_1 = e.node; }
+ case (ast.expr_assert(_,_)) { e_1 = e.node; }
case (ast.expr_port(?ann)) {
auto t = Demand.simple(fcx, e.span, expected,
@@ -1839,7 +1840,7 @@ fn check_expr(&@fn_ctxt fcx, @ast.expr expr) -> @ast.expr {
case (ast.expr_path(?pth, ?defopt, _)) {
auto t = ty.mk_nil(fcx.ccx.tcx);
- check (defopt != none[ast.def]);
+ assert (defopt != none[ast.def]);
auto defn = option.get[ast.def](defopt);
auto tpt = ty_param_count_and_ty_for_def(fcx, expr.span, defn);
@@ -1939,7 +1940,7 @@ fn check_expr(&@fn_ctxt fcx, @ast.expr expr) -> @ast.expr {
case (ast.expr_be(?e, _)) {
/* FIXME: prove instead of check */
- check (ast.is_call_expr(e));
+ assert (ast.is_call_expr(e));
auto expr_0 = check_expr(fcx, e);
auto expr_1 = Pushdown.pushdown_expr(fcx, fcx.ret_ty, expr_0);
ret @fold.respan[ast.expr_](expr.span,
@@ -1953,12 +1954,25 @@ fn check_expr(&@fn_ctxt fcx, @ast.expr expr) -> @ast.expr {
plain_ann(fcx.ccx.tcx)));
}
- case (ast.expr_check_expr(?e, _)) {
+ case (ast.expr_check(?e, _)) {
+ /* FIXME */
+ /* presumably, here is where we should check that e is
+ actually a call to a predicate, where all the arguments
+ are literals or slot variables? */
auto expr_t = check_expr(fcx, e);
Demand.simple(fcx, expr.span, ty.mk_bool(fcx.ccx.tcx),
expr_ty(fcx.ccx.tcx, expr_t));
ret @fold.respan[ast.expr_]
- (expr.span, ast.expr_check_expr(expr_t,
+ (expr.span, ast.expr_check(expr_t,
+ plain_ann(fcx.ccx.tcx)));
+ }
+
+ case (ast.expr_assert(?e, _)) {
+ auto expr_t = check_expr(fcx, e);
+ Demand.simple(fcx, expr.span, ty.mk_bool(fcx.ccx.tcx),
+ expr_ty(fcx.ccx.tcx, expr_t));
+ ret @fold.respan[ast.expr_]
+ (expr.span, ast.expr_assert(expr_t,
plain_ann(fcx.ccx.tcx)));
}
diff --git a/src/comp/middle/typestate_check.rs b/src/comp/middle/typestate_check.rs
index d08ae82d..e15c720a 100644
--- a/src/comp/middle/typestate_check.rs
+++ b/src/comp/middle/typestate_check.rs
@@ -55,7 +55,8 @@ import front.ast.expr_put;
import front.ast.expr_port;
import front.ast.expr_chan;
import front.ast.expr_be;
-import front.ast.expr_check_expr;
+import front.ast.expr_check;
+import front.ast.expr_assert;
import front.ast.expr_cast;
import front.ast.expr_for;
import front.ast.expr_for_each;
@@ -147,8 +148,7 @@ import util.typestate_ann.clone;
import middle.ty;
import middle.ty.ann_to_type;
import middle.ty.arg;
-import middle.ty.block_ty;
-import middle.ty.expr_ty;
+import middle.ty.expr_ann;
import middle.ty.ty_to_str;
import pretty.pprust.print_block;
@@ -293,11 +293,11 @@ type fn_info = std.map.hashmap[def_id, var_info];
type fn_info_map = std.map.hashmap[def_id, fn_info];
fn bit_num(def_id v, fn_info m) -> uint {
- check (m.contains_key(v));
+ assert (m.contains_key(v));
ret m.get(v)._0;
}
fn get_fn_info(fn_info_map fm, def_id did) -> fn_info {
- check (fm.contains_key(did));
+ assert (fm.contains_key(did));
ret fm.get(did);
}
@@ -389,116 +389,6 @@ fn mk_f_to_fn_info(@ast.crate c) -> fn_info_map {
ret res;
}
/**** Helpers ****/
-fn expr_ann(&expr e) -> ann {
- alt(e.node) {
- case (ast.expr_vec(_,_,?a)) {
- ret a;
- }
- case (ast.expr_tup(_,?a)) {
- ret a;
- }
- case (ast.expr_rec(_,_,?a)) {
- ret a;
- }
- case (ast.expr_call(_,_,?a)) {
- ret a;
- }
- case (ast.expr_bind(_,_,?a)) {
- ret a;
- }
- case (ast.expr_binary(_,_,_,?a)) {
- ret a;
- }
- case (ast.expr_unary(_,_,?a)) {
- ret a;
- }
- case (ast.expr_lit(_,?a)) {
- ret a;
- }
- case (ast.expr_cast(_,_,?a)) {
- ret a;
- }
- case (ast.expr_if(_,_,_,?a)) {
- ret a;
- }
- case (ast.expr_while(_,_,?a)) {
- ret a;
- }
- case (ast.expr_for(_,_,_,?a)) {
- ret a;
- }
- case (ast.expr_for_each(_,_,_,?a)) {
- ret a;
- }
- case (ast.expr_do_while(_,_,?a)) {
- ret a;
- }
- case (ast.expr_alt(_,_,?a)) {
- ret a;
- }
- case (ast.expr_block(_,?a)) {
- ret a;
- }
- case (ast.expr_assign(_,_,?a)) {
- ret a;
- }
- case (ast.expr_assign_op(_,_,_,?a)) {
- ret a;
- }
- case (ast.expr_send(_,_,?a)) {
- ret a;
- }
- case (ast.expr_recv(_,_,?a)) {
- ret a;
- }
- case (ast.expr_field(_,_,?a)) {
- ret a;
- }
- case (ast.expr_index(_,_,?a)) {
- ret a;
- }
- case (ast.expr_path(_,_,?a)) {
- ret a;
- }
- case (ast.expr_ext(_,_,_,_,?a)) {
- ret a;
- }
- case (ast.expr_fail(?a)) {
- ret a;
- }
- case (ast.expr_ret(_,?a)) {
- ret a;
- }
- case (ast.expr_put(_,?a)) {
- ret a;
- }
- case (ast.expr_be(_,?a)) {
- ret a;
- }
- case (ast.expr_log(_,_,?a)) {
- ret a;
- }
- case (ast.expr_check_expr(_,?a)) {
- ret a;
- }
- case (ast.expr_port(?a)) {
- ret a;
- }
- case (ast.expr_chan(_,?a)) {
- ret a;
- }
- case (expr_break(?a)) {
- ret a;
- }
- case (expr_cont(?a)) {
- ret a;
- }
- case (expr_self_method(_, ?a)) {
- ret a;
- }
- }
-}
-
fn ann_to_ts_ann(ann a, uint nv) -> ts_ann {
alt (a) {
case (ann_none) { ret empty_ann(nv); }
@@ -532,7 +422,7 @@ fn ann_to_ts_ann_fail_more(ann a) -> @ts_ann {
fail;
}
case (ann_type(_,_,?t)) {
- check (! is_none[@ts_ann](t));
+ assert (! is_none[@ts_ann](t));
ret get[@ts_ann](t);
}
}
@@ -557,7 +447,7 @@ fn stmt_to_ann(&stmt s) -> option.t[@ts_ann] {
}
/* fails if e has no annotation */
-fn expr_states(&expr e) -> pre_and_post_state {
+fn expr_states(@expr e) -> pre_and_post_state {
alt (expr_ann(e)) {
case (ann_none) {
log_err "expr_pp: the impossible happened (no annotation)";
@@ -578,7 +468,7 @@ fn expr_states(&expr e) -> pre_and_post_state {
}
/* fails if e has no annotation */
-fn expr_pp(&expr e) -> pre_and_post {
+fn expr_pp(@expr e) -> pre_and_post {
alt (expr_ann(e)) {
case (ann_none) {
log_err "expr_pp: the impossible happened (no annotation)";
@@ -664,19 +554,19 @@ fn stmt_states(&stmt s, uint nv) -> pre_and_post_state {
}
-fn expr_precond(&expr e) -> precond {
+fn expr_precond(@expr e) -> precond {
ret (expr_pp(e)).precondition;
}
-fn expr_postcond(&expr e) -> postcond {
+fn expr_postcond(@expr e) -> postcond {
ret (expr_pp(e)).postcondition;
}
-fn expr_prestate(&expr e) -> prestate {
+fn expr_prestate(@expr e) -> prestate {
ret (expr_states(e)).prestate;
}
-fn expr_poststate(&expr e) -> poststate {
+fn expr_poststate(@expr e) -> poststate {
ret (expr_states(e)).poststate;
}
@@ -737,7 +627,7 @@ fn seq_preconds(fn_info enclosing, vec[pre_and_post] pps) -> precond {
if (sz >= 1u) {
auto first = pps.(0);
- check (pps_len(first) == num_vars);
+ assert (pps_len(first) == num_vars);
let precond rest = seq_preconds(enclosing,
slice[pre_and_post](pps, 1u, sz));
difference(rest, first.postcondition);
@@ -797,7 +687,7 @@ fn intersect_postconds_go(&postcond first, &vec[postcond] rest) -> postcond {
}
fn intersect_postconds(&vec[postcond] pcs) -> postcond {
- check (len[postcond](pcs) > 0u);
+ assert (len[postcond](pcs) > 0u);
ret intersect_postconds_go(bitv.clone(pcs.(0)), pcs);
}
@@ -826,7 +716,7 @@ fn find_pre_post_state_native_mod(&native_mod m) -> bool {
fn find_pre_post_obj(&fn_info_map fm, _obj o) -> () {
fn do_a_method(fn_info_map fm, &@method m) -> () {
- check(fm.contains_key(m.node.id));
+ assert (fm.contains_key(m.node.id));
find_pre_post_fn(fm, fm.get(m.node.id), m.node.meth);
}
auto f = bind do_a_method(fm,_);
@@ -836,7 +726,7 @@ fn find_pre_post_obj(&fn_info_map fm, _obj o) -> () {
fn find_pre_post_state_obj(fn_info_map fm, _obj o) -> bool {
fn do_a_method(fn_info_map fm, &@method m) -> bool {
- check(fm.contains_key(m.node.id));
+ assert (fm.contains_key(m.node.id));
ret find_pre_post_state_fn(fm, fm.get(m.node.id), m.node.meth);
}
auto f = bind do_a_method(fm,_);
@@ -849,10 +739,10 @@ fn find_pre_post_state_obj(fn_info_map fm, _obj o) -> bool {
fn find_pre_post_item(fn_info_map fm, fn_info enclosing, &item i) -> () {
alt (i.node) {
case (ast.item_const(?id, ?t, ?e, ?di, ?a)) {
- find_pre_post_expr(fm, enclosing, *e);
+ find_pre_post_expr(fm, enclosing, e);
}
case (ast.item_fn(?id, ?f, ?ps, ?di, ?a)) {
- check (fm.contains_key(di));
+ assert (fm.contains_key(di));
find_pre_post_fn(fm, fm.get(di), f);
}
case (ast.item_mod(?id, ?m, ?di)) {
@@ -883,14 +773,14 @@ fn find_pre_post_exprs(&fn_info_map fm, &fn_info enclosing,
fn do_one(fn_info_map fm, fn_info enclosing,
&@expr e) -> () {
- find_pre_post_expr(fm, enclosing, *e);
+ find_pre_post_expr(fm, enclosing, e);
}
auto f = bind do_one(fm, enclosing, _);
_vec.map[@expr, ()](f, args);
fn get_pp(&@expr e) -> pre_and_post {
- ret expr_pp(*e);
+ ret expr_pp(e);
}
auto g = get_pp;
auto pps = _vec.map[@expr, pre_and_post](g, args);
@@ -904,31 +794,31 @@ fn find_pre_post_exprs(&fn_info_map fm, &fn_info enclosing,
fn find_pre_post_loop(&fn_info_map fm, &fn_info enclosing, &@decl d,
&@expr index, &block body, &ann a) -> () {
- find_pre_post_expr(fm, enclosing, *index);
+ find_pre_post_expr(fm, enclosing, index);
find_pre_post_block(fm, enclosing, body);
auto loop_precond = declare_var(enclosing, decl_lhs(d),
- seq_preconds(enclosing, vec(expr_pp(*index),
- block_pp(body))));
+ seq_preconds(enclosing, vec(expr_pp(index),
+ block_pp(body))));
auto loop_postcond = intersect_postconds
- (vec(expr_postcond(*index), block_postcond(body)));
+ (vec(expr_postcond(index), block_postcond(body)));
set_pre_and_post(a, rec(precondition=loop_precond,
postcondition=loop_postcond));
}
/* Fills in annotations as a side effect. Does not rebuild the expr */
-fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
+fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, @expr e) -> () {
auto num_local_vars = num_locals(enclosing);
fn do_rand_(fn_info_map fm, fn_info enclosing, &@expr e) -> () {
- find_pre_post_expr(fm, enclosing, *e);
+ find_pre_post_expr(fm, enclosing, e);
}
fn pp_one(&@expr e) -> pre_and_post {
- ret expr_pp(*e);
+ ret expr_pp(e);
}
log("find_pre_post_expr (num_locals =" +
uistr(num_local_vars) + "):");
- log_expr(e);
+ log_expr(*e);
alt (e.node) {
case (expr_call(?operator, ?operands, ?a)) {
@@ -974,18 +864,18 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
set_pre_and_post(a, empty_pre_post(num_local_vars));
}
case(expr_log(_, ?arg, ?a)) {
- find_pre_post_expr(fm, enclosing, *arg);
- set_pre_and_post(a, expr_pp(*arg));
+ find_pre_post_expr(fm, enclosing, arg);
+ set_pre_and_post(a, expr_pp(arg));
}
case (expr_chan(?arg, ?a)) {
- find_pre_post_expr(fm, enclosing, *arg);
- set_pre_and_post(a, expr_pp(*arg));
+ find_pre_post_expr(fm, enclosing, arg);
+ set_pre_and_post(a, expr_pp(arg));
}
case(expr_put(?opt, ?a)) {
alt (opt) {
case (some[@expr](?arg)) {
- find_pre_post_expr(fm, enclosing, *arg);
- set_pre_and_post(a, expr_pp(*arg));
+ find_pre_post_expr(fm, enclosing, arg);
+ set_pre_and_post(a, expr_pp(arg));
}
case (none[@expr]) {
set_pre_and_post(a, empty_pre_post(num_local_vars));
@@ -1004,10 +894,10 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
case (expr_assign(?lhs, ?rhs, ?a)) {
alt (lhs.node) {
case (expr_path(?p, some[def](def_local(?d_id)), ?a_lhs)) {
- find_pre_post_expr(fm, enclosing, *rhs);
- set_pre_and_post(a, expr_pp(*rhs));
+ find_pre_post_expr(fm, enclosing, rhs);
+ set_pre_and_post(a, expr_pp(rhs));
log("gen:");
- log_expr(e);
+ log_expr(*e);
gen(enclosing, a, d_id);
}
case (_) {
@@ -1020,10 +910,10 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
case (expr_recv(?lhs, ?rhs, ?a)) {
alt (lhs.node) {
case (expr_path(?p, some[def](def_local(?d_id)), ?a_lhs)) {
- find_pre_post_expr(fm, enclosing, *rhs);
- set_pre_and_post(a, expr_pp(*rhs));
+ find_pre_post_expr(fm, enclosing, rhs);
+ set_pre_and_post(a, expr_pp(rhs));
log("gen:");
- log_expr(e);
+ log_expr(*e);
gen(enclosing, a, d_id);
}
case (_) {
@@ -1049,45 +939,45 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
postcondition=false_postcond(num_local_vars)));
}
case (some[@expr](?ret_val)) {
- find_pre_post_expr(fm, enclosing, *ret_val);
+ find_pre_post_expr(fm, enclosing, ret_val);
let pre_and_post pp =
- rec(precondition=expr_precond(*ret_val),
+ rec(precondition=expr_precond(ret_val),
postcondition=false_postcond(num_local_vars));
set_pre_and_post(a, pp);
}
}
}
case (expr_be(?e, ?a)) {
- find_pre_post_expr(fm, enclosing, *e);
- set_pre_and_post(a, rec(precondition=expr_prestate(*e),
+ find_pre_post_expr(fm, enclosing, e);
+ set_pre_and_post(a, rec(precondition=expr_prestate(e),
postcondition=false_postcond(num_local_vars)));
}
case (expr_if(?antec, ?conseq, ?maybe_alt, ?a)) {
- find_pre_post_expr(fm, enclosing, *antec);
+ find_pre_post_expr(fm, enclosing, antec);
find_pre_post_block(fm, enclosing, conseq);
alt (maybe_alt) {
case (none[@expr]) {
auto precond_res = seq_preconds(enclosing,
- vec(expr_pp(*antec),
+ vec(expr_pp(antec),
block_pp(conseq)));
set_pre_and_post(a, rec(precondition=precond_res,
postcondition=
- expr_poststate(*antec)));
+ expr_poststate(antec)));
}
case (some[@expr](?altern)) {
- find_pre_post_expr(fm, enclosing, *altern);
+ find_pre_post_expr(fm, enclosing, altern);
auto precond_true_case =
seq_preconds(enclosing,
- vec(expr_pp(*antec), block_pp(conseq)));
+ vec(expr_pp(antec), block_pp(conseq)));
auto postcond_true_case = union_postconds
(num_local_vars,
- vec(expr_postcond(*antec), block_postcond(conseq)));
+ vec(expr_postcond(antec), block_postcond(conseq)));
auto precond_false_case = seq_preconds
(enclosing,
- vec(expr_pp(*antec), expr_pp(*altern)));
+ vec(expr_pp(antec), expr_pp(altern)));
auto postcond_false_case = union_postconds
(num_local_vars,
- vec(expr_postcond(*antec), expr_postcond(*altern)));
+ vec(expr_postcond(antec), expr_postcond(altern)));
auto precond_res = union_postconds
(num_local_vars,
vec(precond_true_case, precond_false_case));
@@ -1107,31 +997,31 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
find_pre_post_exprs(fm, enclosing, vec(l, r), a);
}
case (expr_unary(_,?operand,?a)) {
- find_pre_post_expr(fm, enclosing, *operand);
- set_pre_and_post(a, expr_pp(*operand));
+ find_pre_post_expr(fm, enclosing, operand);
+ set_pre_and_post(a, expr_pp(operand));
}
case (expr_cast(?operand, _, ?a)) {
- find_pre_post_expr(fm, enclosing, *operand);
- set_pre_and_post(a, expr_pp(*operand));
+ find_pre_post_expr(fm, enclosing, operand);
+ set_pre_and_post(a, expr_pp(operand));
}
case (expr_while(?test, ?body, ?a)) {
- find_pre_post_expr(fm, enclosing, *test);
+ find_pre_post_expr(fm, enclosing, test);
find_pre_post_block(fm, enclosing, body);
set_pre_and_post(a,
rec(precondition=
seq_preconds(enclosing,
- vec(expr_pp(*test),
+ vec(expr_pp(test),
block_pp(body))),
postcondition=
- intersect_postconds(vec(expr_postcond(*test),
+ intersect_postconds(vec(expr_postcond(test),
block_postcond(body)))));
}
case (expr_do_while(?body, ?test, ?a)) {
find_pre_post_block(fm, enclosing, body);
- find_pre_post_expr(fm, enclosing, *test);
+ find_pre_post_expr(fm, enclosing, test);
auto loop_postcond = union_postconds(num_local_vars,
- vec(block_postcond(body), expr_postcond(*test)));
+ vec(block_postcond(body), expr_postcond(test)));
/* conservative approximination: if the body
could break or cont, the test may never be executed */
if (has_nonlocal_exits(body)) {
@@ -1141,7 +1031,7 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
set_pre_and_post(a,
rec(precondition=seq_preconds(enclosing,
vec(block_pp(body),
- expr_pp(*test))),
+ expr_pp(test))),
postcondition=loop_postcond));
}
case (expr_for(?d, ?index, ?body, ?a)) {
@@ -1154,7 +1044,7 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
find_pre_post_exprs(fm, enclosing, vec(e, sub), a);
}
case (expr_alt(?e, ?alts, ?a)) {
- find_pre_post_expr(fm, enclosing, *e);
+ find_pre_post_expr(fm, enclosing, e);
fn do_an_alt(fn_info_map fm, fn_info enc, &arm an_alt)
-> pre_and_post {
find_pre_post_block(fm, enc, an_alt.block);
@@ -1170,7 +1060,7 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
intersect(pp.postcondition, next.postcondition);
ret pp;
}
- auto antec_pp = pp_clone(expr_pp(*e));
+ auto antec_pp = pp_clone(expr_pp(e));
auto e_pp = rec(precondition=empty_prestate(num_local_vars),
postcondition=false_postcond(num_local_vars));
auto g = bind combine_pp(antec_pp, enclosing, _, _);
@@ -1181,8 +1071,8 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
set_pre_and_post(a, alts_overall_pp);
}
case (expr_field(?operator, _, ?a)) {
- find_pre_post_expr(fm, enclosing, *operator);
- set_pre_and_post(a, expr_pp(*operator));
+ find_pre_post_expr(fm, enclosing, operator);
+ set_pre_and_post(a, expr_pp(operator));
}
case (expr_fail(?a)) {
set_pre_and_post(a,
@@ -1191,10 +1081,14 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
rec(precondition=empty_prestate(num_local_vars),
postcondition=false_postcond(num_local_vars)));
}
- case (expr_check_expr(?p, ?a)) {
+ case (expr_assert(?p, ?a)) {
+ find_pre_post_expr(fm, enclosing, p);
+ set_pre_and_post(a, expr_pp(p));
+ }
+ case (expr_check(?p, ?a)) {
/* will need to change when we support arbitrary predicates... */
- find_pre_post_expr(fm, enclosing, *p);
- set_pre_and_post(a, expr_pp(*p));
+ find_pre_post_expr(fm, enclosing, p);
+ set_pre_and_post(a, expr_pp(p));
}
case(expr_bind(?operator, ?maybe_args, ?a)) {
auto args = _vec.cat_options[@expr](maybe_args);
@@ -1211,21 +1105,21 @@ fn find_pre_post_expr(&fn_info_map fm, &fn_info enclosing, &expr e) -> () {
set_pre_and_post(a, empty_pre_post(num_local_vars));
}
case (expr_ext(_, _, _, ?expanded, ?a)) {
- find_pre_post_expr(fm, enclosing, *expanded);
- set_pre_and_post(a, expr_pp(*expanded));
+ find_pre_post_expr(fm, enclosing, expanded);
+ set_pre_and_post(a, expr_pp(expanded));
}
}
}
fn gen(&fn_info enclosing, &ann a, def_id id) -> bool {
- check(enclosing.contains_key(id));
+ assert (enclosing.contains_key(id));
let uint i = (enclosing.get(id))._0;
ret set_in_postcond(i, (ann_to_ts_ann_fail_more(a)).conditions);
}
fn declare_var(&fn_info enclosing, def_id id, prestate pre)
-> prestate {
- check(enclosing.contains_key(id));
+ assert (enclosing.contains_key(id));
let uint i = (enclosing.get(id))._0;
auto res = clone(pre);
relax_prestate(i, res);
@@ -1233,7 +1127,7 @@ fn declare_var(&fn_info enclosing, def_id id, prestate pre)
}
fn gen_poststate(&fn_info enclosing, &ann a, def_id id) -> bool {
- check(enclosing.contains_key(id));
+ assert (enclosing.contains_key(id));
let uint i = (enclosing.get(id))._0;
ret set_in_poststate(i, (ann_to_ts_ann_fail_more(a)).states);
@@ -1251,8 +1145,8 @@ fn find_pre_post_stmt(fn_info_map fm, &fn_info enclosing, &ast.stmt s)
case(ast.decl_local(?alocal)) {
alt(alocal.init) {
case(some[ast.initializer](?an_init)) {
- find_pre_post_expr(fm, enclosing, *an_init.expr);
- auto rhs_pp = expr_pp(*an_init.expr);
+ find_pre_post_expr(fm, enclosing, an_init.expr);
+ auto rhs_pp = expr_pp(an_init.expr);
set_pre_and_post(alocal.ann, rhs_pp);
/* Inherit ann from initializer, and add var being
@@ -1281,8 +1175,8 @@ fn find_pre_post_stmt(fn_info_map fm, &fn_info enclosing, &ast.stmt s)
}
}
case(stmt_expr(?e,?a)) {
- find_pre_post_expr(fm, enclosing, *e);
- set_pre_and_post(a, expr_pp(*e));
+ find_pre_post_expr(fm, enclosing, e);
+ set_pre_and_post(a, expr_pp(e));
}
}
}
@@ -1318,7 +1212,7 @@ fn find_pre_post_block(&fn_info_map fm, &fn_info enclosing, block b)
_vec.map[@stmt, ()](do_one, b.node.stmts);
fn do_inner_(fn_info_map fm, fn_info i, &@expr e) -> () {
- find_pre_post_expr(fm, i, *e);
+ find_pre_post_expr(fm, i, e);
}
auto do_inner = bind do_inner_(fm, enclosing, _);
option.map[@expr, ()](do_inner, b.node.expr);
@@ -1331,7 +1225,7 @@ fn find_pre_post_block(&fn_info_map fm, &fn_info enclosing, block b)
auto f = get_pp_stmt;
pps += _vec.map[@stmt, pre_and_post](f, b.node.stmts);
fn get_pp_expr(&@expr e) -> pre_and_post {
- ret expr_pp(*e);
+ ret expr_pp(e);
}
auto g = get_pp_expr;
plus_option[pre_and_post](pps,
@@ -1363,7 +1257,7 @@ fn check_item_fn(&fn_info_map fm, &span sp, ident i, &ast._fn f,
log("check_item_fn:");
log_fn(f, i, ty_params);
- check (fm.contains_key(id));
+ assert (fm.contains_key(id));
find_pre_post_fn(fm, fm.get(id), f);
ret @respan(sp, ast.item_fn(i, f, ty_params, id, a));
@@ -1377,7 +1271,7 @@ fn find_pre_post_state_item(fn_info_map fm, fn_info enclosing, @item i)
empty_prestate(num_locals(enclosing)), e);
}
case (ast.item_fn(?id, ?f, ?ps, ?di, ?a)) {
- check (fm.contains_key(di));
+ assert (fm.contains_key(di));
ret find_pre_post_state_fn(fm, fm.get(di), f);
}
case (ast.item_mod(?id, ?m, ?di)) {
@@ -1401,7 +1295,7 @@ fn find_pre_post_state_item(fn_info_map fm, fn_info enclosing, @item i)
fn set_prestate_ann(@ann a, prestate pre) -> bool {
alt (*a) {
case (ann_type(_,_,?ts_a)) {
- check (! is_none[@ts_ann](ts_a));
+ assert (! is_none[@ts_ann](ts_a));
ret set_prestate(get[@ts_ann](ts_a), pre);
}
case (ann_none) {
@@ -1415,8 +1309,8 @@ fn set_prestate_ann(@ann a, prestate pre) -> bool {
fn extend_prestate_ann(ann a, prestate pre) -> bool {
alt (a) {
case (ann_type(_,_,?ts_a)) {
- check (! is_none[@ts_ann](ts_a));
- ret extend_prestate((*get[@ts_ann](ts_a)).states.prestate, pre);
+ assert (! is_none[@ts_ann](ts_a));
+ ret extend_prestate((get[@ts_ann](ts_a)).states.prestate, pre);
}
case (ann_none) {
log("set_prestate_ann: expected an ann_type here");
@@ -1428,8 +1322,8 @@ fn extend_prestate_ann(ann a, prestate pre) -> bool {
fn set_poststate_ann(ann a, poststate post) -> bool {
alt (a) {
case (ann_type(_,_,?ts_a)) {
- check (! is_none[@ts_ann](ts_a));
- ret set_poststate(*get[@ts_ann](ts_a), post);
+ assert (! is_none[@ts_ann](ts_a));
+ ret set_poststate(get[@ts_ann](ts_a), post);
}
case (ann_none) {
log("set_poststate_ann: expected an ann_type here");
@@ -1441,7 +1335,7 @@ fn set_poststate_ann(ann a, poststate post) -> bool {
fn extend_poststate_ann(ann a, poststate post) -> bool {
alt (a) {
case (ann_type(_,_,?ts_a)) {
- check (! is_none[@ts_ann](ts_a));
+ assert (! is_none[@ts_ann](ts_a));
ret extend_poststate((*get[@ts_ann](ts_a)).states.poststate, post);
}
case (ann_none) {
@@ -1454,7 +1348,7 @@ fn extend_poststate_ann(ann a, poststate post) -> bool {
fn set_pre_and_post(&ann a, pre_and_post pp) -> () {
alt (a) {
case (ann_type(_,_,?ts_a)) {
- check (! is_none[@ts_ann](ts_a));
+ assert (! is_none[@ts_ann](ts_a));
auto t = *get[@ts_ann](ts_a);
/* log("set_pre_and_post, old =");
log_pp(t.conditions);
@@ -1478,7 +1372,7 @@ fn seq_states(&fn_info_map fm, &fn_info enclosing,
for (@expr e in exprs) {
changed = find_pre_post_state_expr(fm, enclosing, post, e) || changed;
- post = expr_poststate(*e);
+ post = expr_poststate(e);
}
ret tup(changed, post);
@@ -1513,8 +1407,8 @@ fn find_pre_post_state_loop(fn_info_map fm, fn_info enclosing,
/* in general, would need the intersection of
(poststate of index, poststate of body) */
changed = find_pre_post_state_block(fm, enclosing,
- expr_poststate(*index), body) || changed;
- auto res_p = intersect_postconds(vec(expr_poststate(*index),
+ expr_poststate(index), body) || changed;
+ auto res_p = intersect_postconds(vec(expr_poststate(index),
block_poststate(body)));
changed = extend_poststate_ann(a, res_p) || changed;
@@ -1522,7 +1416,7 @@ fn find_pre_post_state_loop(fn_info_map fm, fn_info enclosing,
}
fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
- &prestate pres, &@expr e) -> bool {
+ &prestate pres, @expr e) -> bool {
auto changed = false;
auto num_local_vars = num_locals(enclosing);
@@ -1540,20 +1434,20 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
|| changed;
/* rands go left-to-right */
ret(find_pre_post_state_exprs(fm, enclosing,
- expr_poststate(*operator), a, operands)
+ expr_poststate(operator), a, operands)
|| changed);
}
case (expr_spawn(_, _, ?operator, ?operands, ?a)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, operator);
ret(find_pre_post_state_exprs(fm, enclosing,
- expr_poststate(*operator), a, operands)
+ expr_poststate(operator), a, operands)
|| changed);
}
case (expr_bind(?operator, ?maybe_args, ?a)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, operator)
|| changed;
ret (find_pre_post_state_exprs(fm, enclosing,
- expr_poststate(*operator), a, cat_options[@expr](maybe_args))
+ expr_poststate(operator), a, cat_options[@expr](maybe_args))
|| changed);
}
case (expr_path(_,_,?a)) {
@@ -1563,19 +1457,19 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
/* factor out the "one exp" pattern */
changed = find_pre_post_state_expr(fm, enclosing, pres, e);
changed = extend_prestate_ann(a, pres) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*e)) || changed;
+ changed = extend_poststate_ann(a, expr_poststate(e)) || changed;
ret changed;
}
case (expr_chan(?e, ?a)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, e);
changed = extend_prestate_ann(a, pres) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*e)) || changed;
+ changed = extend_poststate_ann(a, expr_poststate(e)) || changed;
ret changed;
}
case (expr_ext(_, _, _, ?expanded, ?a)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, expanded);
changed = extend_prestate_ann(a, pres) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*expanded))
+ changed = extend_poststate_ann(a, expr_poststate(expanded))
|| changed;
ret changed;
}
@@ -1584,7 +1478,7 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
case (some[@expr](?arg)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, arg);
changed = extend_prestate_ann(a, pres) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*arg))
+ changed = extend_poststate_ann(a, expr_poststate(arg))
|| changed;
ret changed;
}
@@ -1611,7 +1505,7 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
case (some[@expr](?base)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, base)
|| changed;
- changed = extend_poststate_ann(a, expr_poststate(*base))
+ changed = extend_poststate_ann(a, expr_poststate(base))
|| changed;
}
}
@@ -1626,7 +1520,7 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = pure_exp(a_lhs, pres) || changed;
changed = find_pre_post_state_expr(fm, enclosing, pres, rhs)
|| changed;
- changed = extend_poststate_ann(a, expr_poststate(*rhs))
+ changed = extend_poststate_ann(a, expr_poststate(rhs))
|| changed;
changed = gen_poststate(enclosing, a, d_id) || changed;
}
@@ -1635,8 +1529,8 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = find_pre_post_state_expr(fm, enclosing, pres, lhs)
|| changed;
changed = find_pre_post_state_expr(fm, enclosing,
- expr_poststate(*lhs), rhs) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*rhs))
+ expr_poststate(lhs), rhs) || changed;
+ changed = extend_poststate_ann(a, expr_poststate(rhs))
|| changed;
}
}
@@ -1651,7 +1545,7 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = pure_exp(a_lhs, pres) || changed;
changed = find_pre_post_state_expr(fm, enclosing, pres, rhs)
|| changed;
- changed = extend_poststate_ann(a, expr_poststate(*rhs))
+ changed = extend_poststate_ann(a, expr_poststate(rhs))
|| changed;
changed = gen_poststate(enclosing, a, d_id) || changed;
}
@@ -1660,8 +1554,8 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = find_pre_post_state_expr(fm, enclosing, pres, lhs)
|| changed;
changed = find_pre_post_state_expr(fm, enclosing,
- expr_poststate(*lhs), rhs) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*rhs))
+ expr_poststate(lhs), rhs) || changed;
+ changed = extend_poststate_ann(a, expr_poststate(rhs))
|| changed;
}
}
@@ -1691,17 +1585,17 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = find_pre_post_state_expr(fm, enclosing, pres, antec)
|| changed;
changed = find_pre_post_state_block(fm, enclosing,
- expr_poststate(*antec), conseq) || changed;
+ expr_poststate(antec), conseq) || changed;
alt (maybe_alt) {
case (none[@expr]) {
- changed = extend_poststate_ann(a, expr_poststate(*antec))
+ changed = extend_poststate_ann(a, expr_poststate(antec))
|| changed;
}
case (some[@expr](?altern)) {
changed = find_pre_post_state_expr(fm, enclosing,
- expr_poststate(*antec), altern) || changed;
+ expr_poststate(antec), altern) || changed;
auto poststate_res = intersect_postconds
- (vec(block_poststate(conseq), expr_poststate(*altern)));
+ (vec(block_poststate(conseq), expr_poststate(altern)));
changed = extend_poststate_ann(a, poststate_res) || changed;
}
}
@@ -1710,7 +1604,7 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
log("new prestate:");
log_bitv(enclosing, pres);
log("new poststate:");
- log_bitv(enclosing, expr_poststate(*e));
+ log_bitv(enclosing, expr_poststate(e));
ret changed;
}
@@ -1720,8 +1614,8 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = find_pre_post_state_expr(fm, enclosing, pres, l)
|| changed;
changed = find_pre_post_state_expr(fm,
- enclosing, expr_poststate(*l), r) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*r)) || changed;
+ enclosing, expr_poststate(l), r) || changed;
+ changed = extend_poststate_ann(a, expr_poststate(r)) || changed;
ret changed;
}
case (expr_send(?l, ?r, ?a)) {
@@ -1729,8 +1623,8 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = find_pre_post_state_expr(fm, enclosing, pres, l)
|| changed;
changed = find_pre_post_state_expr(fm,
- enclosing, expr_poststate(*l), r) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*r)) || changed;
+ enclosing, expr_poststate(l), r) || changed;
+ changed = extend_poststate_ann(a, expr_poststate(r)) || changed;
ret changed;
}
case (expr_assign_op(?op, ?lhs, ?rhs, ?a)) {
@@ -1739,8 +1633,8 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = find_pre_post_state_expr(fm, enclosing, pres, lhs)
|| changed;
changed = find_pre_post_state_expr(fm,
- enclosing, expr_poststate(*lhs), rhs) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*rhs)) || changed;
+ enclosing, expr_poststate(lhs), rhs) || changed;
+ changed = extend_poststate_ann(a, expr_poststate(rhs)) || changed;
ret changed;
}
case (expr_while(?test, ?body, ?a)) {
@@ -1756,9 +1650,9 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = find_pre_post_state_expr(fm, enclosing, pres, test)
|| changed;
changed = find_pre_post_state_block(fm,
- enclosing, expr_poststate(*test), body) || changed;
+ enclosing, expr_poststate(test), body) || changed;
changed = extend_poststate_ann(a,
- intersect_postconds(vec(expr_poststate(*test),
+ intersect_postconds(vec(expr_poststate(test),
block_poststate(body)))) || changed;
ret changed;
}
@@ -1777,7 +1671,7 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = set_poststate_ann(a, pres) || changed;
}
else {
- changed = extend_poststate_ann(a, expr_poststate(*test))
+ changed = extend_poststate_ann(a, expr_poststate(test))
|| changed;
}
@@ -1793,14 +1687,14 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = extend_prestate_ann(a, pres) || changed;
changed = find_pre_post_state_expr(fm, enclosing, pres, e) || changed;
changed = find_pre_post_state_expr(fm, enclosing,
- expr_poststate(*e), sub) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*sub));
+ expr_poststate(e), sub) || changed;
+ changed = extend_poststate_ann(a, expr_poststate(sub));
ret changed;
}
case (expr_alt(?e, ?alts, ?a)) {
changed = extend_prestate_ann(a, pres) || changed;
changed = find_pre_post_state_expr(fm, enclosing, pres, e) || changed;
- auto e_post = expr_poststate(*e);
+ auto e_post = expr_poststate(e);
auto a_post;
if (_vec.len[arm](alts) > 0u) {
a_post = false_postcond(num_local_vars);
@@ -1821,14 +1715,14 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
case (expr_field(?e,_,?a)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, e);
changed = extend_prestate_ann(a, pres) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*e)) || changed;
+ changed = extend_poststate_ann(a, expr_poststate(e)) || changed;
ret changed;
}
case (expr_unary(_,?operand,?a)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, operand)
|| changed;
changed = extend_prestate_ann(a, pres) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*operand))
+ changed = extend_poststate_ann(a, expr_poststate(operand))
|| changed;
ret changed;
}
@@ -1836,7 +1730,7 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
changed = find_pre_post_state_expr(fm, enclosing, pres, operand)
|| changed;
changed = extend_prestate_ann(a, pres) || changed;
- changed = extend_poststate_ann(a, expr_poststate(*operand))
+ changed = extend_poststate_ann(a, expr_poststate(operand))
|| changed;
ret changed;
}
@@ -1845,14 +1739,15 @@ fn find_pre_post_state_expr(&fn_info_map fm, &fn_info enclosing,
/* if execution continues after fail, then everything is true! woo! */
changed = set_poststate_ann(a, false_postcond(num_local_vars))
|| changed;
- /* log_err("fail: poststate = ");
- log_bitv(enclosing, expr_poststate(*e)); */
ret changed;
}
- case (expr_check_expr(?p, ?a)) {
+ case (expr_assert(?p, ?a)) {
+ ret pure_exp(a, pres);
+ }
+ case (expr_check(?p, ?a)) {
changed = extend_prestate_ann(a, pres) || changed;
changed = find_pre_post_state_expr(fm, enclosing, pres, p) || changed;
- /* p is pure, so the poststate must be the same as the prestate */
+ /* FIXME: update the postcondition to reflect that p holds */
changed = extend_poststate_ann(a, pres) || changed;
ret changed;
}
@@ -1875,7 +1770,7 @@ fn find_pre_post_state_stmt(&fn_info_map fm, &fn_info enclosing,
&prestate pres, @stmt s) -> bool {
auto changed = false;
auto stmt_ann_ = stmt_to_ann(*s);
- check (!is_none[@ts_ann](stmt_ann_));
+ assert (!is_none[@ts_ann](stmt_ann_));
auto stmt_ann = *(get[@ts_ann](stmt_ann_));
log("*At beginning: stmt = ");
log_stmt(*s);
@@ -1897,7 +1792,7 @@ fn find_pre_post_state_stmt(&fn_info_map fm, &fn_info enclosing,
changed = find_pre_post_state_expr
(fm, enclosing, pres, an_init.expr) || changed;
changed = extend_poststate(stmt_ann.states.poststate,
- expr_poststate(*an_init.expr))
+ expr_poststate(an_init.expr))
|| changed;
changed = gen_poststate(enclosing, a, alocal.id) || changed;
log("Summary: stmt = ");
@@ -1932,10 +1827,10 @@ fn find_pre_post_state_stmt(&fn_info_map fm, &fn_info enclosing,
}
case (stmt_expr(?e, _)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, e) || changed;
- changed = extend_prestate(stmt_ann.states.prestate, expr_prestate(*e))
+ changed = extend_prestate(stmt_ann.states.prestate, expr_prestate(e))
|| changed;
changed = extend_poststate(stmt_ann.states.poststate,
- expr_poststate(*e)) || changed;
+ expr_poststate(e)) || changed;
/*
log("Summary: stmt = ");
log_stmt(*s);
@@ -1980,7 +1875,7 @@ fn find_pre_post_state_block(&fn_info_map fm, &fn_info enclosing,
case (none[@expr]) {}
case (some[@expr](?e)) {
changed = find_pre_post_state_expr(fm, enclosing, pres, e) || changed;
- post = expr_poststate(*e);
+ post = expr_poststate(e);
}
}
@@ -2038,13 +1933,13 @@ fn fixed_point_states(fn_info_map fm, fn_info f_info,
}
}
-fn check_states_expr(fn_info enclosing, &expr e) -> () {
+fn check_states_expr(fn_info enclosing, @expr e) -> () {
let precond prec = expr_precond(e);
let prestate pres = expr_prestate(e);
if (!implies(pres, prec)) {
log_err("check_states_expr: Unsatisfied precondition constraint for ");
- log_expr_err(e);
+ log_expr_err(*e);
log_err("Precondition: ");
log_bitv_err(enclosing, prec);
log_err("Prestate: ");
@@ -2093,7 +1988,7 @@ fn check_states_against_conditions(fn_info enclosing, &ast._fn f) -> () {
_vec.map[@stmt, ()](do_one, f.body.node.stmts);
fn do_inner_(fn_info i, &@expr e) -> () {
- check_states_expr(i, *e);
+ check_states_expr(i, e);
}
auto do_inner = bind do_inner_(enclosing, _);
option.map[@expr, ()](do_inner, f.body.node.expr);
@@ -2116,7 +2011,7 @@ fn check_item_fn_state(&fn_info_map f_info_map, &span sp, ident i,
ann a) -> @item {
/* Look up the var-to-bit-num map for this function */
- check(f_info_map.contains_key(id));
+ assert (f_info_map.contains_key(id));
auto f_info = f_info_map.get(id);
check_fn_states(f_info_map, f_info, f);
@@ -2126,7 +2021,7 @@ fn check_item_fn_state(&fn_info_map f_info_map, &span sp, ident i,
}
fn check_method_states(&fn_info_map f_info_map, @method m) -> () {
- check (f_info_map.contains_key(m.node.id));
+ assert (f_info_map.contains_key(m.node.id));
auto f_info = f_info_map.get(m.node.id);
check_fn_states(f_info_map, f_info, m.node.meth);
}
@@ -2193,7 +2088,7 @@ fn init_block(&fn_info fi, &span sp, &block_ b) -> block {
fn item_fn_anns(&fn_info_map fm, &span sp, ident i, &ast._fn f,
vec[ast.ty_param] ty_params, def_id id, ann a) -> @item {
- check(fm.contains_key(id));
+ assert (fm.contains_key(id));
auto f_info = fm.get(id);
log(i + " has " + uistr(num_locals(f_info)) + " local vars");
@@ -2413,8 +2308,11 @@ fn annotate_expr(&fn_info_map fm, &@expr e) -> @expr {
case (expr_log(?n, ?e, ?a)) {
e1 = expr_log(n, annotate_expr(fm, e), a);
}
- case (expr_check_expr(?e, ?a)) {
- e1 = expr_check_expr(annotate_expr(fm, e), a);
+ case (expr_assert(?e, ?a)) {
+ e1 = expr_assert(annotate_expr(fm, e), a);
+ }
+ case (expr_check(?e, ?a)) {
+ e1 = expr_check(annotate_expr(fm, e), a);
}
case (expr_port(_)) { /* no change */ }
case (expr_chan(?e, ?a)) {
diff --git a/src/comp/middle/walk.rs b/src/comp/middle/walk.rs
index dbc188b1..8a5d40dc 100644
--- a/src/comp/middle/walk.rs
+++ b/src/comp/middle/walk.rs
@@ -392,7 +392,10 @@ fn walk_expr(&ast_visitor v, @ast.expr e) {
case (ast.expr_log(_,?x, _)) {
walk_expr(v, x);
}
- case (ast.expr_check_expr(?x, _)) {
+ case (ast.expr_check(?x, _)) {
+ walk_expr(v, x);
+ }
+ case (ast.expr_assert(?x, _)) {
walk_expr(v, x);
}
case (ast.expr_port(_)) { }
diff --git a/src/comp/pretty/pprust.rs b/src/comp/pretty/pprust.rs
index e49ed34e..7ef91ce8 100644
--- a/src/comp/pretty/pprust.rs
+++ b/src/comp/pretty/pprust.rs
@@ -661,12 +661,18 @@ fn print_expr(ps s, &@ast.expr expr) {
}
print_expr(s, expr);
}
- case (ast.expr_check_expr(?expr,_)) {
+ case (ast.expr_check(?expr,_)) {
wrd1(s, "check");
popen_h(s);
print_expr(s, expr);
pclose(s);
}
+ case (ast.expr_assert(?expr,_)) {
+ wrd1(s, "assert");
+ popen_h(s);
+ print_expr(s, expr);
+ pclose(s);
+ }
case (ast.expr_ext(?path, ?args, ?body, _, _)) {
wrd(s.s, "#");
print_path(s, path);
diff --git a/src/comp/util/typestate_ann.rs b/src/comp/util/typestate_ann.rs
index b7fbc3cc..9e815b46 100644
--- a/src/comp/util/typestate_ann.rs
+++ b/src/comp/util/typestate_ann.rs
@@ -85,7 +85,7 @@ fn intersect(&precond p1, &precond p2) -> bool {
fn pps_len(&pre_and_post p) -> uint {
// gratuitous check
- check (p.precondition.nbits == p.postcondition.nbits);
+ assert (p.precondition.nbits == p.postcondition.nbits);
ret p.precondition.nbits;
}
@@ -129,7 +129,7 @@ fn set_prestate(@ts_ann a, &prestate p) -> bool {
// Sets all the bits in a's postcondition to equal the
// corresponding bit in p's postcondition.
-fn set_poststate(&ts_ann a, &poststate p) -> bool {
+fn set_poststate(@ts_ann a, &poststate p) -> bool {
ret bitv.copy(a.states.poststate, p);
}
diff --git a/src/lib/Term.rs b/src/lib/Term.rs
index 0d925d7d..368fe217 100644
--- a/src/lib/Term.rs
+++ b/src/lib/Term.rs
@@ -35,7 +35,7 @@ fn color_supported() -> bool {
}
fn set_color(io.buf_writer writer, u8 first_char, u8 color) {
- check (color < 16u8);
+ assert (color < 16u8);
esc(writer);
if (color >= 8u8) {
diff --git a/src/lib/_int.rs b/src/lib/_int.rs
index dfd2204d..1824d142 100644
--- a/src/lib/_int.rs
+++ b/src/lib/_int.rs
@@ -27,7 +27,7 @@ iter range(int lo, int hi) -> int {
fn to_str(int n, uint radix) -> str
{
- check (0u < radix && radix <= 16u);
+ assert (0u < radix && radix <= 16u);
if (n < 0) {
ret "-" + _uint.to_str((-n) as uint, radix);
} else {
diff --git a/src/lib/_str.rs b/src/lib/_str.rs
index 44f14fb6..ed2027e1 100644
--- a/src/lib/_str.rs
+++ b/src/lib/_str.rs
@@ -218,14 +218,14 @@ fn utf8_char_width(u8 b) -> uint {
fn char_range_at(str s, uint i) -> tup(char, uint) {
auto b0 = s.(i);
auto w = utf8_char_width(b0);
- check(w != 0u);
+ assert (w != 0u);
if (w == 1u) {ret tup(b0 as char, i + 1u);}
auto val = 0u;
auto end = i + w;
i += 1u;
while (i < end) {
auto byte = s.(i);
- check(byte & 0xc0_u8 == tag_cont_u8);
+ assert (byte & 0xc0_u8 == tag_cont_u8);
val <<= 6u;
val += (byte & 0x3f_u8) as uint;
i += 1u;
@@ -247,11 +247,11 @@ fn char_len(str s) -> uint {
auto total = byte_len(s);
while (i < total) {
auto chsize = utf8_char_width(s.(i));
- check(chsize > 0u);
+ assert (chsize > 0u);
len += 1u;
i += chsize;
}
- check(i == total);
+ assert (i == total);
ret len;
}
@@ -274,7 +274,7 @@ fn push_char(&mutable str s, char ch) {
fn pop_char(&mutable str s) -> char {
auto end = byte_len(s);
while (end > 0u && s.(end - 1u) & 0xc0_u8 == tag_cont_u8) {end -= 1u;}
- check(end > 0u);
+ assert (end > 0u);
auto ch = char_at(s, end - 1u);
s = substr(s, 0u, end - 1u);
ret ch;
@@ -404,7 +404,7 @@ fn slice(str s, uint begin, uint end) -> str {
fn shift_byte(&mutable str s) -> u8 {
auto len = byte_len(s);
- check(len > 0u);
+ assert (len > 0u);
auto b = s.(0);
s = substr(s, 1u, len - 1u);
ret b;
@@ -412,7 +412,7 @@ fn shift_byte(&mutable str s) -> u8 {
fn pop_byte(&mutable str s) -> u8 {
auto len = byte_len(s);
- check(len > 0u);
+ assert (len > 0u);
auto b = s.(len - 1u);
s = substr(s, 0u, len - 1u);
ret b;
diff --git a/src/lib/_uint.rs b/src/lib/_uint.rs
index 97108c90..2d373cdd 100644
--- a/src/lib/_uint.rs
+++ b/src/lib/_uint.rs
@@ -56,7 +56,7 @@ fn to_str(uint num, uint radix) -> str
{
auto n = num;
- check (0u < radix && radix <= 16u);
+ assert (0u < radix && radix <= 16u);
fn digit(uint n) -> char {
alt (n) {
case (0u) { ret '0'; }
diff --git a/src/lib/_vec.rs b/src/lib/_vec.rs
index 126bf363..4761a867 100644
--- a/src/lib/_vec.rs
+++ b/src/lib/_vec.rs
@@ -131,7 +131,7 @@ fn len_set[T](array[T] v, uint n) {
}
fn buf_off[T](array[T] v, uint offset) -> vbuf {
- check (offset < len[T](v));
+ assert (offset < len[T](v));
ret rustrt.vec_buf[T](v, offset);
}
@@ -149,9 +149,10 @@ fn last[T](array[T] v) -> option.t[T] {
}
// Returns elements from [start..end) from v.
+
fn slice[T](array[T] v, uint start, uint end) -> vec[T] {
- check (start <= end);
- check (end <= len[T](v));
+ assert (start <= end);
+ assert (end <= len[T](v));
auto result = alloc[T](end - start);
let uint i = start;
while (i < end) {
@@ -163,7 +164,7 @@ fn slice[T](array[T] v, uint start, uint end) -> vec[T] {
fn shift[T](&mutable array[T] v) -> T {
auto ln = len[T](v);
- check(ln > 0u);
+ assert (ln > 0u);
auto e = v.(0);
v = slice[T](v, 1u, ln);
ret e;
@@ -171,7 +172,7 @@ fn shift[T](&mutable array[T] v) -> T {
fn pop[T](&mutable array[T] v) -> T {
auto ln = len[T](v);
- check(ln > 0u);
+ assert (ln > 0u);
ln -= 1u;
auto e = v.(ln);
v = slice[T](v, 0u, ln);
diff --git a/src/lib/bitv.rs b/src/lib/bitv.rs
index feb4296a..f52b016b 100644
--- a/src/lib/bitv.rs
+++ b/src/lib/bitv.rs
@@ -28,8 +28,8 @@ fn create(uint nbits, bool init) -> t {
fn process(&fn(uint, uint) -> uint op, &t v0, &t v1) -> bool {
auto len = _vec.len[mutable uint](v1.storage);
- check (_vec.len[mutable uint](v0.storage) == len);
- check (v0.nbits == v1.nbits);
+ assert (_vec.len[mutable uint](v0.storage) == len);
+ assert (v0.nbits == v1.nbits);
auto changed = false;
@@ -84,7 +84,7 @@ fn clone(t v) -> t {
}
fn get(&t v, uint i) -> bool {
- check (i < v.nbits);
+ assert (i < v.nbits);
auto bits = uint_bits();
@@ -129,7 +129,7 @@ fn difference(&t v0, &t v1) -> bool {
}
fn set(&t v, uint i, bool x) {
- check (i < v.nbits);
+ assert (i < v.nbits);
auto bits = uint_bits();
@@ -196,7 +196,7 @@ fn to_str(&t v) -> str {
// FIXME: can we just use structural equality on to_vec?
fn eq_vec(&t v0, &vec[uint] v1) -> bool {
- check (v0.nbits == _vec.len[uint](v1));
+ assert (v0.nbits == _vec.len[uint](v1));
auto len = v0.nbits;
auto i = 0u;
while (i < len) {
diff --git a/src/lib/deque.rs b/src/lib/deque.rs
index 776f82e9..ee706ae7 100644
--- a/src/lib/deque.rs
+++ b/src/lib/deque.rs
@@ -28,7 +28,7 @@ fn create[T]() -> t[T] {
* elsewhere.
*/
fn grow[T](uint nelts, uint lo, vec[cell[T]] elts) -> vec[cell[T]] {
- check (nelts == _vec.len[cell[T]](elts));
+ assert (nelts == _vec.len[cell[T]](elts));
fn fill[T](uint i, uint nelts, uint lo,
vec[cell[T]] old) -> cell[T] {
diff --git a/src/lib/ebml.rs b/src/lib/ebml.rs
index f73ad4fc..9bad0f33 100644
--- a/src/lib/ebml.rs
+++ b/src/lib/ebml.rs
@@ -99,7 +99,7 @@ fn doc_data(doc d) -> vec[u8] {
fn be_uint_from_bytes(vec[u8] data, uint start, uint size) -> uint {
auto sz = size;
- check (sz <= 4u);
+ assert (sz <= 4u);
auto val = 0u;
auto pos = start;
while (sz > 0u) {
diff --git a/src/lib/fs.rs b/src/lib/fs.rs
index 774ce113..e185ca3e 100644
--- a/src/lib/fs.rs
+++ b/src/lib/fs.rs
@@ -10,7 +10,7 @@ type path = str;
fn dirname(path p) -> path {
auto sep = path_sep();
- check (_str.byte_len(sep) == 1u);
+ assert (_str.byte_len(sep) == 1u);
let int i = _str.rindex(p, sep.(0));
if (i == -1) {
ret p;
diff --git a/src/lib/io.rs b/src/lib/io.rs
index 4c1bf2df..7d59da30 100644
--- a/src/lib/io.rs
+++ b/src/lib/io.rs
@@ -72,7 +72,7 @@ state obj FILE_buf_reader(os.libc.FILE f, bool must_close) {
ret os.libc.feof(f) != 0;
}
fn seek(int offset, seek_style whence) {
- check (os.libc.fseek(f, offset, convert_whence(whence)) == 0);
+ assert (os.libc.fseek(f, offset, convert_whence(whence)) == 0);
}
fn tell() -> uint {
ret os.libc.ftell(f) as uint;
@@ -101,14 +101,14 @@ state obj new_reader(buf_reader rdr) {
if (c0 == -1) {ret -1 as char;} // FIXME will this stay valid?
auto b0 = c0 as u8;
auto w = _str.utf8_char_width(b0);
- check(w > 0u);
+ assert (w > 0u);
if (w == 1u) {ret b0 as char;}
auto val = 0u;
while (w > 1u) {
w -= 1u;
auto next = rdr.read_byte();
- check(next > -1);
- check(next & 0xc0 == 0x80);
+ assert (next > -1);
+ assert (next & 0xc0 == 0x80);
val <<= 6u;
val += (next & 0x3f) as uint;
}
@@ -279,7 +279,7 @@ state obj FILE_writer(os.libc.FILE f, bool must_close) {
}
fn seek(int offset, seek_style whence) {
- check(os.libc.fseek(f, offset, convert_whence(whence)) == 0);
+ assert (os.libc.fseek(f, offset, convert_whence(whence)) == 0);
}
fn tell() -> uint {
diff --git a/src/lib/linux_os.rs b/src/lib/linux_os.rs
index d5230e9a..d2a8ff97 100644
--- a/src/lib/linux_os.rs
+++ b/src/lib/linux_os.rs
@@ -66,7 +66,7 @@ fn dylib_filename(str base) -> str {
fn pipe() -> tup(int, int) {
let vec[mutable int] fds = vec(mutable 0, 0);
- check(os.libc.pipe(_vec.buf[mutable int](fds)) == 0);
+ assert (os.libc.pipe(_vec.buf[mutable int](fds)) == 0);
ret tup(fds.(0), fds.(1));
}
@@ -76,7 +76,7 @@ fn fd_FILE(int fd) -> libc.FILE {
fn waitpid(int pid) -> int {
let vec[mutable int] status = vec(mutable 0);
- check(os.libc.waitpid(pid, _vec.buf[mutable int](status), 0) != -1);
+ assert (os.libc.waitpid(pid, _vec.buf[mutable int](status), 0) != -1);
ret status.(0);
}
diff --git a/src/lib/macos_os.rs b/src/lib/macos_os.rs
index b0980bc5..a52b02c5 100644
--- a/src/lib/macos_os.rs
+++ b/src/lib/macos_os.rs
@@ -63,7 +63,7 @@ fn dylib_filename(str base) -> str {
fn pipe() -> tup(int, int) {
let vec[mutable int] fds = vec(mutable 0, 0);
- check(os.libc.pipe(_vec.buf[mutable int](fds)) == 0);
+ assert (os.libc.pipe(_vec.buf[mutable int](fds)) == 0);
ret tup(fds.(0), fds.(1));
}
@@ -73,7 +73,7 @@ fn fd_FILE(int fd) -> libc.FILE {
fn waitpid(int pid) -> int {
let vec[mutable int] status = vec(mutable 0);
- check(os.libc.waitpid(pid, _vec.buf[mutable int](status), 0) != -1);
+ assert (os.libc.waitpid(pid, _vec.buf[mutable int](status), 0) != -1);
ret status.(0);
}
diff --git a/src/lib/posix_fs.rs b/src/lib/posix_fs.rs
index 03115fc7..f4cf12d3 100644
--- a/src/lib/posix_fs.rs
+++ b/src/lib/posix_fs.rs
@@ -5,7 +5,7 @@ native "rust" mod rustrt {
fn list_dir(str path) -> vec[str] {
// TODO ensure this is always closed
auto dir = os.libc.opendir(_str.buf(path));
- check (dir as uint != 0u);
+ assert (dir as uint != 0u);
let vec[str] result = vec();
while (true) {
auto ent = os.libc.readdir(dir);
diff --git a/src/lib/sha1.rs b/src/lib/sha1.rs
index 3866be1e..690489db 100644
--- a/src/lib/sha1.rs
+++ b/src/lib/sha1.rs
@@ -43,7 +43,7 @@ fn mk_sha1() -> sha1 {
fn add_input(&sha1state st, &vec[u8] msg) {
// FIXME: Should be typestate precondition
- check (!st.computed);
+ assert (!st.computed);
for (u8 element in msg) {
st.msg_block.(st.msg_block_idx) = element;
@@ -67,7 +67,7 @@ fn mk_sha1() -> sha1 {
fn process_msg_block(&sha1state st) {
// FIXME: Make precondition
- check (_vec.len[mutable u32](st.h) == digest_buf_len);
+ assert (_vec.len[mutable u32](st.h) == digest_buf_len);
// Constants
auto k = vec(0x5A827999u32,
@@ -192,7 +192,7 @@ fn mk_sha1() -> sha1 {
*/
fn pad_msg(&sha1state st) {
// FIXME: Should be a precondition
- check (_vec.len[mutable u8](st.msg_block) == msg_block_len);
+ assert (_vec.len[mutable u8](st.msg_block) == msg_block_len);
/*
* Check to see if the current message block is too small to hold
@@ -236,7 +236,7 @@ fn mk_sha1() -> sha1 {
fn reset() {
// FIXME: Should be typestate precondition
- check (_vec.len[mutable u32](st.h) == digest_buf_len);
+ assert (_vec.len[mutable u32](st.h) == digest_buf_len);
st.len_low = 0u32;
st.len_high = 0u32;
diff --git a/src/lib/win32_os.rs b/src/lib/win32_os.rs
index a2940d8d..1c6521e3 100644
--- a/src/lib/win32_os.rs
+++ b/src/lib/win32_os.rs
@@ -53,7 +53,7 @@ fn dylib_filename(str base) -> str {
fn pipe() -> tup(int, int) {
let vec[mutable int] fds = vec(mutable 0, 0);
- check(os.libc._pipe(_vec.buf[mutable int](fds), 1024u,
+ assert (os.libc._pipe(_vec.buf[mutable int](fds), 1024u,
libc_constants.O_BINARY()) == 0);
ret tup(fds.(0), fds.(1));
}
diff --git a/src/test/run-fail/fail.rs b/src/test/run-fail/fail.rs
index e8c9cf71..c688a404 100644
--- a/src/test/run-fail/fail.rs
+++ b/src/test/run-fail/fail.rs
@@ -2,5 +2,5 @@
// error-pattern:1 == 2
fn main() {
- check (1 == 2);
+ assert (1 == 2);
}
diff --git a/src/test/run-fail/linked-failure.rs b/src/test/run-fail/linked-failure.rs
index 7def7c11..60e82200 100644
--- a/src/test/run-fail/linked-failure.rs
+++ b/src/test/run-fail/linked-failure.rs
@@ -4,7 +4,7 @@
// error-pattern:1 == 2
fn child() {
- check (1 == 2);
+ assert (1 == 2);
}
fn main() {
diff --git a/src/test/run-fail/str-overrun.rs b/src/test/run-fail/str-overrun.rs
index 4388cb3a..68b1e263 100644
--- a/src/test/run-fail/str-overrun.rs
+++ b/src/test/run-fail/str-overrun.rs
@@ -6,12 +6,12 @@
fn main() {
let str s = "hello";
let int x = 0;
- check (s.(x) == (0x68 as u8));
+ assert (s.(x) == (0x68 as u8));
// NB: at the moment a string always has a trailing NULL,
// so the largest index value on the string above is 5, not
// 4. Possibly change this.
// Bounds-check failure.
- check (s.(x + 6) == (0x0 as u8));
+ assert (s.(x + 6) == (0x0 as u8));
}
diff --git a/src/test/run-fail/vec-overrun.rs b/src/test/run-fail/vec-overrun.rs
index 961da730..810feb39 100644
--- a/src/test/run-fail/vec-overrun.rs
+++ b/src/test/run-fail/vec-overrun.rs
@@ -6,7 +6,7 @@
fn main() {
let vec[int] v = vec(10);
let int x = 0;
- check (v.(x) == 10);
+ assert (v.(x) == 10);
// Bounds-check failure.
- check (v.(x + 2) == 20);
+ assert (v.(x + 2) == 20);
}
diff --git a/src/test/run-fail/vec-underrun.rs b/src/test/run-fail/vec-underrun.rs
index a230d1be..f1998da5 100644
--- a/src/test/run-fail/vec-underrun.rs
+++ b/src/test/run-fail/vec-underrun.rs
@@ -6,7 +6,7 @@
fn main() {
let vec[int] v = vec(10, 20);
let int x = 0;
- check (v.(x) == 10);
+ assert (v.(x) == 10);
// Bounds-check failure.
- check (v.(x-1) == 20);
+ assert (v.(x-1) == 20);
}
diff --git a/src/test/run-pass/alt-pattern-drop.rs b/src/test/run-pass/alt-pattern-drop.rs
index 4ee2c12b..b92ffd74 100644
--- a/src/test/run-pass/alt-pattern-drop.rs
+++ b/src/test/run-pass/alt-pattern-drop.rs
@@ -21,12 +21,12 @@ fn foo(str s) {
}
log _str.refcount(s);
- check (_str.refcount(s) == const_refcount);
+ assert (_str.refcount(s) == const_refcount);
}
fn main() {
let str s = "hi"; // ref up
foo(s); // ref up then down
log _str.refcount(s);
- check (_str.refcount(s) == const_refcount);
+ assert (_str.refcount(s) == const_refcount);
}
diff --git a/src/test/run-pass/alt-pattern-lit.rs b/src/test/run-pass/alt-pattern-lit.rs
index 91190260..bad74a2a 100644
--- a/src/test/run-pass/alt-pattern-lit.rs
+++ b/src/test/run-pass/alt-pattern-lit.rs
@@ -12,6 +12,6 @@ fn altlit(int f) -> int {
}
fn main() {
- check (altlit(10) == 20);
- check (altlit(11) == 22);
+ assert (altlit(10) == 20);
+ assert (altlit(11) == 22);
}
diff --git a/src/test/run-pass/alt-tag.rs b/src/test/run-pass/alt-tag.rs
index 68013dfe..bc0afcb5 100644
--- a/src/test/run-pass/alt-tag.rs
+++ b/src/test/run-pass/alt-tag.rs
@@ -32,8 +32,8 @@ fn main() {
let color gray = rgb(127, 127, 127);
let color clear = rgba(50, 150, 250, 0);
let color red = hsl(0, 255, 255);
- check (process(gray) == 127);
- check (process(clear) == 0);
- check (process(red) == 255);
+ assert (process(gray) == 127);
+ assert (process(clear) == 0);
+ assert (process(red) == 255);
}
diff --git a/src/test/run-pass/arith-0.rs b/src/test/run-pass/arith-0.rs
index 7587b005..857eaa8e 100644
--- a/src/test/run-pass/arith-0.rs
+++ b/src/test/run-pass/arith-0.rs
@@ -1,5 +1,5 @@
fn main() -> () {
let int a = 10;
log a;
- check (a * (a - 1) == 90);
+ assert (a * (a - 1) == 90);
} \ No newline at end of file
diff --git a/src/test/run-pass/arith-1.rs b/src/test/run-pass/arith-1.rs
index bac6a055..55230e9e 100644
--- a/src/test/run-pass/arith-1.rs
+++ b/src/test/run-pass/arith-1.rs
@@ -1,22 +1,22 @@
fn main() -> () {
let int i32_a = 10;
- check(i32_a == 10);
- check(i32_a - 10 == 0);
- check(i32_a / 10 == 1);
- check(i32_a - 20 == -10);
- check(i32_a << 10 == 10240);
- check(i32_a << 16 == 655360);
- check(i32_a * 16 == 160);
- check(i32_a * i32_a * i32_a == 1000);
- check(i32_a * i32_a * i32_a * i32_a == 10000);
- check(((i32_a * i32_a) / i32_a) * i32_a == 100);
- check(i32_a * (i32_a - 1) << 2 + i32_a == 368640);
+ assert (i32_a == 10);
+ assert (i32_a - 10 == 0);
+ assert (i32_a / 10 == 1);
+ assert (i32_a - 20 == -10);
+ assert (i32_a << 10 == 10240);
+ assert (i32_a << 16 == 655360);
+ assert (i32_a * 16 == 160);
+ assert (i32_a * i32_a * i32_a == 1000);
+ assert (i32_a * i32_a * i32_a * i32_a == 10000);
+ assert (((i32_a * i32_a) / i32_a) * i32_a == 100);
+ assert (i32_a * (i32_a - 1) << 2 + i32_a == 368640);
let int i32_b = 0x10101010;
- check(i32_b + 1 - 1 == i32_b);
- check(i32_b << 1 == i32_b << 1);
- check(i32_b >> 1 == i32_b >> 1);
- check((i32_b & (i32_b << 1)) == 0);
+ assert (i32_b + 1 - 1 == i32_b);
+ assert (i32_b << 1 == i32_b << 1);
+ assert (i32_b >> 1 == i32_b >> 1);
+ assert ((i32_b & (i32_b << 1)) == 0);
log ((i32_b | (i32_b << 1)));
- check((i32_b | (i32_b << 1)) == 0x30303030);
+ assert ((i32_b | (i32_b << 1)) == 0x30303030);
} \ No newline at end of file
diff --git a/src/test/run-pass/arith-2.rs b/src/test/run-pass/arith-2.rs
index 33a740c8..70892682 100644
--- a/src/test/run-pass/arith-2.rs
+++ b/src/test/run-pass/arith-2.rs
@@ -1,5 +1,5 @@
fn main() -> () {
let int i32_c = 0x10101010;
- check (i32_c + i32_c * 2 / 3 * 2 + (i32_c - 7 % 3) ==
+ assert (i32_c + i32_c * 2 / 3 * 2 + (i32_c - 7 % 3) ==
i32_c + (((i32_c * 2) / 3) * 2) + (i32_c - (7 % 3)));
} \ No newline at end of file
diff --git a/src/test/run-pass/arith-unsigned.rs b/src/test/run-pass/arith-unsigned.rs
index 748ff6b7..0e2818a3 100644
--- a/src/test/run-pass/arith-unsigned.rs
+++ b/src/test/run-pass/arith-unsigned.rs
@@ -2,24 +2,24 @@
// Unsigned integer operations
fn main() {
- check (0u8 < 255u8);
- check (0u8 <= 255u8);
- check (255u8 > 0u8);
- check (255u8 >= 0u8);
- check (250u8 / 10u8 == 25u8);
- check (255u8 % 10u8 == 5u8);
- check (0u16 < 60000u16);
- check (0u16 <= 60000u16);
- check (60000u16 > 0u16);
- check (60000u16 >= 0u16);
- check (60000u16 / 10u16 == 6000u16);
- check (60005u16 % 10u16 == 5u16);
- check (0u32 < 4000000000u32);
- check (0u32 <= 4000000000u32);
- check (4000000000u32 > 0u32);
- check (4000000000u32 >= 0u32);
- check (4000000000u32 / 10u32 == 400000000u32);
- check (4000000005u32 % 10u32 == 5u32);
+ assert (0u8 < 255u8);
+ assert (0u8 <= 255u8);
+ assert (255u8 > 0u8);
+ assert (255u8 >= 0u8);
+ assert (250u8 / 10u8 == 25u8);
+ assert (255u8 % 10u8 == 5u8);
+ assert (0u16 < 60000u16);
+ assert (0u16 <= 60000u16);
+ assert (60000u16 > 0u16);
+ assert (60000u16 >= 0u16);
+ assert (60000u16 / 10u16 == 6000u16);
+ assert (60005u16 % 10u16 == 5u16);
+ assert (0u32 < 4000000000u32);
+ assert (0u32 <= 4000000000u32);
+ assert (4000000000u32 > 0u32);
+ assert (4000000000u32 >= 0u32);
+ assert (4000000000u32 / 10u32 == 400000000u32);
+ assert (4000000005u32 % 10u32 == 5u32);
// 64-bit numbers have some flakiness yet. Not tested
}
diff --git a/src/test/run-pass/autoderef-full-lval.rs b/src/test/run-pass/autoderef-full-lval.rs
index 956a7eb4..5df5456b 100644
--- a/src/test/run-pass/autoderef-full-lval.rs
+++ b/src/test/run-pass/autoderef-full-lval.rs
@@ -8,11 +8,11 @@ fn main() {
let clam b = rec(x=@10, y=@20);
let int z = a.x + b.y;
log z;
- check (z == 21);
+ assert (z == 21);
let fish forty = tup(@40);
let fish two = tup(@2);
let int answer = forty._0 + two._0;
log answer;
- check (answer == 42);
+ assert (answer == 42);
}
diff --git a/src/test/run-pass/bind-exterior.rs b/src/test/run-pass/bind-exterior.rs
index c3fc2e7c..f6f36918 100644
--- a/src/test/run-pass/bind-exterior.rs
+++ b/src/test/run-pass/bind-exterior.rs
@@ -4,5 +4,5 @@ fn foo(@int a, @int b) -> int {
fn main() {
auto f1 = bind foo(@10, @12);
- check(f1() == 22);
+ assert (f1() == 22);
}
diff --git a/src/test/run-pass/bind-interior.rs b/src/test/run-pass/bind-interior.rs
index 2d164e07..ae994d1c 100644
--- a/src/test/run-pass/bind-interior.rs
+++ b/src/test/run-pass/bind-interior.rs
@@ -7,5 +7,5 @@ fn f(int n) -> int {
fn main() {
let fn() -> int g = bind f(10);
let int i = g();
- check(i == 10);
+ assert (i == 10);
}
diff --git a/src/test/run-pass/bind-obj-ctor.rs b/src/test/run-pass/bind-obj-ctor.rs
index 8780b22a..b5215f9a 100644
--- a/src/test/run-pass/bind-obj-ctor.rs
+++ b/src/test/run-pass/bind-obj-ctor.rs
@@ -11,7 +11,7 @@ fn main() {
auto ctor1 = bind simple(_, 2);
auto obj1 = ctor0(2);
auto obj2 = ctor1(1);
- check (obj0.sum() == 3);
- check (obj1.sum() == 3);
- check (obj2.sum() == 3);
+ assert (obj0.sum() == 3);
+ assert (obj1.sum() == 3);
+ assert (obj2.sum() == 3);
}
diff --git a/src/test/run-pass/bind-thunk.rs b/src/test/run-pass/bind-thunk.rs
index be6e1b24..7cafc501 100644
--- a/src/test/run-pass/bind-thunk.rs
+++ b/src/test/run-pass/bind-thunk.rs
@@ -7,5 +7,5 @@ fn f() -> int {
fn main() {
let fn() -> int g = bind f();
let int i = g();
- check(i == 42);
+ assert (i == 42);
}
diff --git a/src/test/run-pass/bind-trivial.rs b/src/test/run-pass/bind-trivial.rs
index fbd6e78d..e73f2b7c 100644
--- a/src/test/run-pass/bind-trivial.rs
+++ b/src/test/run-pass/bind-trivial.rs
@@ -7,5 +7,5 @@ fn f(int n) -> int {
fn main() {
let fn(int) -> int g = bind f(_);
let int i = g(42);
- check(i == 42);
+ assert (i == 42);
}
diff --git a/src/test/run-pass/bitwise.rs b/src/test/run-pass/bitwise.rs
index 36b58a91..99324489 100644
--- a/src/test/run-pass/bitwise.rs
+++ b/src/test/run-pass/bitwise.rs
@@ -8,14 +8,14 @@ fn main() {
a = a ^ b;
log a;
log b;
- check (b == 1);
- check (a == 2);
+ assert (b == 1);
+ assert (a == 2);
- check (~(0xf0) & 0xff == 0xf);
- check (0xf0 | 0xf == 0xff);
- check (0xf << 4 == 0xf0);
- check (0xf0 >> 4 == 0xf);
- check (-16 >>> 2 == -4);
- check (0b1010_1010 | 0b0101_0101 == 0xff);
+ assert (~(0xf0) & 0xff == 0xf);
+ assert (0xf0 | 0xf == 0xff);
+ assert (0xf << 4 == 0xf0);
+ assert (0xf0 >> 4 == 0xf);
+ assert (-16 >>> 2 == -4);
+ assert (0b1010_1010 | 0b0101_0101 == 0xff);
}
diff --git a/src/test/run-pass/bool-not.rs b/src/test/run-pass/bool-not.rs
index ba70bdb1..337efc6f 100644
--- a/src/test/run-pass/bool-not.rs
+++ b/src/test/run-pass/bool-not.rs
@@ -2,14 +2,14 @@
fn main() {
if (!false) {
- check (true);
+ assert (true);
} else {
- check (false);
+ assert (false);
}
if (!true) {
- check (false);
+ assert (false);
} else {
- check (true);
+ assert (true);
}
}
diff --git a/src/test/run-pass/box-compare.rs b/src/test/run-pass/box-compare.rs
index 619790d7..8f23035d 100644
--- a/src/test/run-pass/box-compare.rs
+++ b/src/test/run-pass/box-compare.rs
@@ -1,6 +1,6 @@
// xfail-boot
fn main() {
- check (@1 < @3);
- check (@@"hello " > @@"hello");
- check (@@@"hello" != @@@"there");
+ assert (@1 < @3);
+ assert (@@"hello " > @@"hello");
+ assert (@@@"hello" != @@@"there");
} \ No newline at end of file
diff --git a/src/test/run-pass/box-unbox.rs b/src/test/run-pass/box-unbox.rs
index d0ad615b..b1d50533 100644
--- a/src/test/run-pass/box-unbox.rs
+++ b/src/test/run-pass/box-unbox.rs
@@ -6,5 +6,5 @@ fn main() {
let int foo = 17;
let box[int] bfoo = tup(@foo);
log "see what's in our box";
- check (unbox[int](bfoo) == foo);
+ assert (unbox[int](bfoo) == foo);
}
diff --git a/src/test/run-pass/box.rs b/src/test/run-pass/box.rs
index ffcd9ec5..c105e801 100644
--- a/src/test/run-pass/box.rs
+++ b/src/test/run-pass/box.rs
@@ -1,4 +1,4 @@
fn main() {
let @int x = @10;
- check ((*x) == 10);
+ assert ((*x) == 10);
}
diff --git a/src/test/run-pass/break.rs b/src/test/run-pass/break.rs
index 48c3b091..5a63d9ac 100644
--- a/src/test/run-pass/break.rs
+++ b/src/test/run-pass/break.rs
@@ -6,35 +6,35 @@ fn main() {
i += 1;
if (i == 10) { break; }
}
- check(i == 10);
+ assert (i == 10);
do {
i += 1;
if (i == 20) { break; }
} while (i < 30);
- check(i == 20);
+ assert (i == 20);
for (int x in vec(1, 2, 3, 4, 5, 6)) {
if (x == 3) { break; }
- check(x <= 3);
+ assert (x <= 3);
}
i = 0;
while (i < 10) {
i += 1;
if (i % 2 == 0) { cont; }
- check(i % 2 != 0);
+ assert (i % 2 != 0);
}
i = 0;
do {
i += 1;
if (i % 2 == 0) { cont; }
- check(i % 2 != 0);
+ assert (i % 2 != 0);
} while (i < 10);
for (int x in vec(1, 2, 3, 4, 5, 6)) {
if (x % 2 == 0) { cont; }
- check(x % 2 != 0);
+ assert (x % 2 != 0);
}
}
diff --git a/src/test/run-pass/cast.rs b/src/test/run-pass/cast.rs
index e04ad629..ecc7ac12 100644
--- a/src/test/run-pass/cast.rs
+++ b/src/test/run-pass/cast.rs
@@ -3,14 +3,14 @@
fn main() {
let int i = 'Q' as int;
- check (i == 0x51);
+ assert (i == 0x51);
let u32 u = i as u32;
- check (u == (0x51 as u32));
- check (u == ('Q' as u32));
- check ((i as u8) == ('Q' as u8));
- check (((i as u8) as i8) == (('Q' as u8) as i8));
- check ((0x51 as char) == 'Q');
+ assert (u == (0x51 as u32));
+ assert (u == ('Q' as u32));
+ assert ((i as u8) == ('Q' as u8));
+ assert (((i as u8) as i8) == (('Q' as u8) as i8));
+ assert ((0x51 as char) == 'Q');
- check (true == (1 as bool));
- check ((0 as u32) == (false as u32));
+ assert (true == (1 as bool));
+ assert ((0 as u32) == (false as u32));
}
diff --git a/src/test/run-pass/char.rs b/src/test/run-pass/char.rs
index 123f2eb2..a3ddae6c 100644
--- a/src/test/run-pass/char.rs
+++ b/src/test/run-pass/char.rs
@@ -1,12 +1,12 @@
fn main() {
let char c = 'x';
let char d = 'x';
- check(c == 'x');
- check('x' == c);
- check(c == c);
- check(c == d);
- check(d == c);
- check (d == 'x');
- check('x' == d);
+ assert (c == 'x');
+ assert ('x' == c);
+ assert (c == c);
+ assert (c == d);
+ assert (d == c);
+ assert (d == 'x');
+ assert ('x' == d);
}
diff --git a/src/test/run-pass/clone-with-exterior.rs b/src/test/run-pass/clone-with-exterior.rs
index e97c409d..99c319c2 100644
--- a/src/test/run-pass/clone-with-exterior.rs
+++ b/src/test/run-pass/clone-with-exterior.rs
@@ -1,8 +1,8 @@
// xfail-boot
// xfail-stage0
fn f(@rec(int a, int b) x) {
- check (x.a == 10);
- check (x.b == 12);
+ assert (x.a == 10);
+ assert (x.b == 12);
}
fn main() {
diff --git a/src/test/run-pass/comm.rs b/src/test/run-pass/comm.rs
index 2bca6248..ef93eee6 100644
--- a/src/test/run-pass/comm.rs
+++ b/src/test/run-pass/comm.rs
@@ -8,7 +8,7 @@ fn main() {
y <- p;
log "received";
log y;
- check (y == 10);
+ assert (y == 10);
}
fn child(chan[int] c) {
diff --git a/src/test/run-pass/decl-with-recv.rs b/src/test/run-pass/decl-with-recv.rs
index 5630d2e2..36487aa8 100644
--- a/src/test/run-pass/decl-with-recv.rs
+++ b/src/test/run-pass/decl-with-recv.rs
@@ -6,9 +6,9 @@ fn main() {
ch <| 10;
let int i <- po;
- check (i == 10);
+ assert (i == 10);
ch <| 11;
auto j <- po;
- check (j == 11);
+ assert (j == 11);
}
diff --git a/src/test/run-pass/deep.rs b/src/test/run-pass/deep.rs
index 5131c42b..32d4dae1 100644
--- a/src/test/run-pass/deep.rs
+++ b/src/test/run-pass/deep.rs
@@ -10,5 +10,5 @@ fn f(int x) -> int {
}
fn main() {
- check (f(5000) == 5000);
+ assert (f(5000) == 5000);
}
diff --git a/src/test/run-pass/div-mod.rs b/src/test/run-pass/div-mod.rs
index cfa0fbe9..00835d41 100644
--- a/src/test/run-pass/div-mod.rs
+++ b/src/test/run-pass/div-mod.rs
@@ -3,15 +3,15 @@
fn main() {
let int x = 15;
let int y = 5;
- check(x / 5 == 3);
- check(x / 4 == 3);
- check(x / 3 == 5);
- check(x / y == 3);
- check(15 / y == 3);
+ assert (x / 5 == 3);
+ assert (x / 4 == 3);
+ assert (x / 3 == 5);
+ assert (x / y == 3);
+ assert (15 / y == 3);
- check(x % 5 == 0);
- check(x % 4 == 3);
- check(x % 3 == 0);
- check(x % y == 0);
- check(15 % y == 0);
+ assert (x % 5 == 0);
+ assert (x % 4 == 3);
+ assert (x % 3 == 0);
+ assert (x % y == 0);
+ assert (15 % y == 0);
}
diff --git a/src/test/run-pass/else-if.rs b/src/test/run-pass/else-if.rs
index d9e5b869..edb25e16 100644
--- a/src/test/run-pass/else-if.rs
+++ b/src/test/run-pass/else-if.rs
@@ -1,42 +1,42 @@
fn main() {
if (1 == 2) {
- check(false);
+ assert (false);
} else if (2 == 3) {
- check(false);
+ assert (false);
} else if (3 == 4) {
- check(false);
+ assert (false);
} else {
- check(true);
+ assert (true);
}
if (1 == 2) {
- check(false);
+ assert (false);
} else if (2 == 2) {
- check(true);
+ assert (true);
}
if (1 == 2) {
- check(false);
+ assert (false);
} else if (2 == 2) {
if (1 == 1) {
- check(true);
+ assert (true);
} else {
if (2 == 1) {
- check(false);
+ assert (false);
} else {
- check(false);
+ assert (false);
}
}
}
if (1 == 2) {
- check(false);
+ assert (false);
} else {
if (1 == 2) {
- check(false);
+ assert (false);
} else {
- check(true);
+ assert (true);
}
}
}
diff --git a/src/test/run-pass/expr-alt-box.rs b/src/test/run-pass/expr-alt-box.rs
index 2e7846f3..e18611fa 100644
--- a/src/test/run-pass/expr-alt-box.rs
+++ b/src/test/run-pass/expr-alt-box.rs
@@ -9,7 +9,7 @@ fn test_box() {
@100
}
};
- check (*res == 100);
+ assert (*res == 100);
}
fn test_str() {
@@ -18,7 +18,7 @@ fn test_str() {
"happy"
}
};
- check (res == "happy");
+ assert (res == "happy");
}
fn main() {
diff --git a/src/test/run-pass/expr-alt-generic-box1.rs b/src/test/run-pass/expr-alt-generic-box1.rs
index 8ff67f0f..a1367e81 100644
--- a/src/test/run-pass/expr-alt-generic-box1.rs
+++ b/src/test/run-pass/expr-alt-generic-box1.rs
@@ -9,7 +9,7 @@ fn test_generic[T](@T expected, &compare[T] eq) {
expected
}
};
- check (eq(expected, actual));
+ assert (eq(expected, actual));
}
fn test_box() {
diff --git a/src/test/run-pass/expr-alt-generic-box2.rs b/src/test/run-pass/expr-alt-generic-box2.rs
index 7928ffed..469b8e7c 100644
--- a/src/test/run-pass/expr-alt-generic-box2.rs
+++ b/src/test/run-pass/expr-alt-generic-box2.rs
@@ -9,7 +9,7 @@ fn test_generic[T](&T expected, &compare[T] eq) {
expected
}
};
- check (eq(expected, actual));
+ assert (eq(expected, actual));
}
fn test_vec() {
diff --git a/src/test/run-pass/expr-alt-generic.rs b/src/test/run-pass/expr-alt-generic.rs
index 66681059..0cd0177a 100644
--- a/src/test/run-pass/expr-alt-generic.rs
+++ b/src/test/run-pass/expr-alt-generic.rs
@@ -9,7 +9,7 @@ fn test_generic[T](&T expected, &compare[T] eq) {
expected
}
};
- check (eq(expected, actual));
+ assert (eq(expected, actual));
}
fn test_bool() {
diff --git a/src/test/run-pass/expr-alt-struct.rs b/src/test/run-pass/expr-alt-struct.rs
index 31406969..762303d5 100644
--- a/src/test/run-pass/expr-alt-struct.rs
+++ b/src/test/run-pass/expr-alt-struct.rs
@@ -9,7 +9,7 @@ fn test_rec() {
rec(i = 100)
}
};
- check (res == rec(i = 100));
+ assert (res == rec(i = 100));
}
fn test_tag() {
@@ -26,7 +26,7 @@ fn test_tag() {
sad
}
};
- check (res == happy);
+ assert (res == happy);
}
fn main() {
diff --git a/src/test/run-pass/expr-alt.rs b/src/test/run-pass/expr-alt.rs
index 4c10a7d9..52a01078 100644
--- a/src/test/run-pass/expr-alt.rs
+++ b/src/test/run-pass/expr-alt.rs
@@ -12,7 +12,7 @@ fn test_basic() {
false
}
};
- check (res);
+ assert (res);
res = alt(false) {
case (true) {
@@ -22,7 +22,7 @@ fn test_basic() {
true
}
};
- check (res);
+ assert (res);
}
fn test_inferrence() {
@@ -34,7 +34,7 @@ fn test_inferrence() {
false
}
};
- check (res);
+ assert (res);
}
fn test_alt_as_alt_head() {
@@ -47,7 +47,7 @@ fn test_alt_as_alt_head() {
true
}
};
- check (res);
+ assert (res);
}
fn test_alt_as_block_result() {
@@ -66,7 +66,7 @@ fn test_alt_as_block_result() {
}
}
};
- check (res);
+ assert (res);
}
fn main() {
diff --git a/src/test/run-pass/expr-block-box.rs b/src/test/run-pass/expr-block-box.rs
index e8ab6209..206c44af 100644
--- a/src/test/run-pass/expr-block-box.rs
+++ b/src/test/run-pass/expr-block-box.rs
@@ -6,5 +6,5 @@ fn main() {
@100
};
- check (*x == 100);
+ assert (*x == 100);
}
diff --git a/src/test/run-pass/expr-block-fn.rs b/src/test/run-pass/expr-block-fn.rs
index eb0357d9..a37d1cb0 100644
--- a/src/test/run-pass/expr-block-fn.rs
+++ b/src/test/run-pass/expr-block-fn.rs
@@ -6,7 +6,7 @@ fn test_fn() {
ret 10;
}
let t res = { ten };
- check (res() == 10);
+ assert (res() == 10);
}
fn main() {
diff --git a/src/test/run-pass/expr-block-generic-box1.rs b/src/test/run-pass/expr-block-generic-box1.rs
index 57487fd6..82d54c17 100644
--- a/src/test/run-pass/expr-block-generic-box1.rs
+++ b/src/test/run-pass/expr-block-generic-box1.rs
@@ -5,7 +5,7 @@ type compare[T] = fn(@T t1, @T t2) -> bool;
fn test_generic[T](@T expected, &compare[T] eq) {
let @T actual = { expected };
- check (eq(expected, actual));
+ assert (eq(expected, actual));
}
fn test_box() {
diff --git a/src/test/run-pass/expr-block-generic-box2.rs b/src/test/run-pass/expr-block-generic-box2.rs
index 3b1e4479..c1c8260c 100644
--- a/src/test/run-pass/expr-block-generic-box2.rs
+++ b/src/test/run-pass/expr-block-generic-box2.rs
@@ -5,7 +5,7 @@ type compare[T] = fn(&T t1, &T t2) -> bool;
fn test_generic[T](&T expected, &compare[T] eq) {
let T actual = { expected };
- check (eq(expected, actual));
+ assert (eq(expected, actual));
}
fn test_vec() {
diff --git a/src/test/run-pass/expr-block-generic.rs b/src/test/run-pass/expr-block-generic.rs
index ded3b620..d6061a6c 100644
--- a/src/test/run-pass/expr-block-generic.rs
+++ b/src/test/run-pass/expr-block-generic.rs
@@ -7,7 +7,7 @@ type compare[T] = fn(&T t1, &T t2) -> bool;
fn test_generic[T](&T expected, &compare[T] eq) {
let T actual = { expected };
- check (eq(expected, actual));
+ assert (eq(expected, actual));
}
fn test_bool() {
diff --git a/src/test/run-pass/expr-block.rs b/src/test/run-pass/expr-block.rs
index ecc6f04a..1c03a6b0 100644
--- a/src/test/run-pass/expr-block.rs
+++ b/src/test/run-pass/expr-block.rs
@@ -5,12 +5,12 @@
fn test_basic() {
let bool res = { true };
- check (res);
+ assert (res);
}
fn test_rec() {
auto res = { rec(v1 = 10, v2 = 20) };
- check (res.v2 == 20);
+ assert (res.v2 == 20);
}
fn test_filled_with_stuff() {
@@ -21,7 +21,7 @@ fn test_filled_with_stuff() {
}
a
};
- check (res == 10);
+ assert (res == 10);
}
fn main() {
diff --git a/src/test/run-pass/expr-if-box.rs b/src/test/run-pass/expr-if-box.rs
index a629c9c9..d242d744 100644
--- a/src/test/run-pass/expr-if-box.rs
+++ b/src/test/run-pass/expr-if-box.rs
@@ -5,12 +5,12 @@
fn test_box() {
auto res = if (true) { @100 } else { @101 };
- check (*res == 100);
+ assert (*res == 100);
}
fn test_str() {
auto res = if (true) { "happy" } else { "sad" };
- check (res == "happy");
+ assert (res == "happy");
}
fn main() {
diff --git a/src/test/run-pass/expr-if-generic-box1.rs b/src/test/run-pass/expr-if-generic-box1.rs
index 32aea8bb..d1d4c05d 100644
--- a/src/test/run-pass/expr-if-generic-box1.rs
+++ b/src/test/run-pass/expr-if-generic-box1.rs
@@ -5,7 +5,7 @@ type compare[T] = fn(@T t1, @T t2) -> bool;
fn test_generic[T](@T expected, @T not_expected, &compare[T] eq) {
let @T actual = if (true) { expected } else { not_expected };
- check (eq(expected, actual));
+ assert (eq(expected, actual));
}
fn test_box() {
diff --git a/src/test/run-pass/expr-if-generic-box2.rs b/src/test/run-pass/expr-if-generic-box2.rs
index d414d6d1..a126b1c4 100644
--- a/src/test/run-pass/expr-if-generic-box2.rs
+++ b/src/test/run-pass/expr-if-generic-box2.rs
@@ -5,7 +5,7 @@ type compare[T] = fn(&T t1, &T t2) -> bool;
fn test_generic[T](&T expected, &T not_expected, &compare[T] eq) {
let T actual = if (true) { expected } else { not_expected };
- check (eq(expected, actual));
+ assert (eq(expected, actual));
}
fn test_vec() {
diff --git a/src/test/run-pass/expr-if-generic.rs b/src/test/run-pass/expr-if-generic.rs
index 0a0db2dd..b86a7553 100644
--- a/src/test/run-pass/expr-if-generic.rs
+++ b/src/test/run-pass/expr-if-generic.rs
@@ -7,7 +7,7 @@ type compare[T] = fn(&T t1, &T t2) -> bool;
fn test_generic[T](&T expected, &T not_expected, &compare[T] eq) {
let T actual = if (true) { expected } else { not_expected };
- check (eq(expected, actual));
+ assert (eq(expected, actual));
}
fn test_bool() {
diff --git a/src/test/run-pass/expr-if-struct.rs b/src/test/run-pass/expr-if-struct.rs
index df20a3ba..6d42c224 100644
--- a/src/test/run-pass/expr-if-struct.rs
+++ b/src/test/run-pass/expr-if-struct.rs
@@ -5,7 +5,7 @@
fn test_rec() {
auto res = if (true) { rec(i = 100) } else { rec(i = 101) };
- check (res == rec(i = 100));
+ assert (res == rec(i = 100));
}
fn test_tag() {
@@ -15,7 +15,7 @@ fn test_tag() {
}
auto res = if (true) { happy } else { sad };
- check (res == happy);
+ assert (res == happy);
}
fn main() {
diff --git a/src/test/run-pass/expr-if.rs b/src/test/run-pass/expr-if.rs
index 7c99f2ea..67f56746 100644
--- a/src/test/run-pass/expr-if.rs
+++ b/src/test/run-pass/expr-if.rs
@@ -5,12 +5,12 @@
fn test_if() {
let bool res = if (true) { true } else { false };
- check (res);
+ assert (res);
}
fn test_else() {
let bool res = if (false) { false } else { true };
- check (res);
+ assert (res);
}
fn test_elseif1() {
@@ -21,7 +21,7 @@ fn test_elseif1() {
} else {
false
};
- check (res);
+ assert (res);
}
fn test_elseif2() {
@@ -32,7 +32,7 @@ fn test_elseif2() {
} else {
false
};
- check (res);
+ assert (res);
}
fn test_elseif3() {
@@ -43,12 +43,12 @@ fn test_elseif3() {
} else {
true
};
- check (res);
+ assert (res);
}
fn test_inferrence() {
auto res = if (true) { true } else { false };
- check (res);
+ assert (res);
}
fn test_if_as_if_condition() {
@@ -57,14 +57,14 @@ fn test_if_as_if_condition() {
} else {
false
};
- check (res1);
+ assert (res1);
auto res2 = if (if (true) { false } else { true }) {
false
} else {
true
};
- check (res2);
+ assert (res2);
}
fn test_if_as_block_result() {
@@ -77,7 +77,7 @@ fn test_if_as_block_result() {
} else {
false
};
- check (res);
+ assert (res);
}
fn main() {
diff --git a/src/test/run-pass/exterior.rs b/src/test/run-pass/exterior.rs
index f09ee823..661effda 100644
--- a/src/test/run-pass/exterior.rs
+++ b/src/test/run-pass/exterior.rs
@@ -3,16 +3,16 @@
type point = rec(int x, int y, mutable int z);
fn f(@point p) {
- check (p.z == 12);
+ assert (p.z == 12);
p.z = 13;
- check (p.z == 13);
+ assert (p.z == 13);
}
fn main() {
let point a = rec(x=10, y=11, mutable z=12);
let @point b = @a;
- check (b.z == 12);
+ assert (b.z == 12);
f(b);
- check (a.z == 12);
- check (b.z == 13);
+ assert (a.z == 12);
+ assert (b.z == 13);
}
diff --git a/src/test/run-pass/fact.rs b/src/test/run-pass/fact.rs
index 91cf099c..577ee6a2 100644
--- a/src/test/run-pass/fact.rs
+++ b/src/test/run-pass/fact.rs
@@ -15,7 +15,7 @@ fn f(int x) -> int {
}
}
fn main () {
- check (f(5) == 120);
+ assert (f(5) == 120);
// log "all done";
}
diff --git a/src/test/run-pass/float2.rs b/src/test/run-pass/float2.rs
index 9cc3a8ca..e6136d2c 100644
--- a/src/test/run-pass/float2.rs
+++ b/src/test/run-pass/float2.rs
@@ -12,13 +12,13 @@ fn main() {
auto j = 3.1e+9;
auto k = 3.2e-10;
- check(a == b);
- check(c < b);
- check(c == d);
- check(e < g);
- check(f < h);
- check(g == 1000000.0f32);
- check(h == i);
- check(j > k);
- check(k < a);
+ assert (a == b);
+ assert (c < b);
+ assert (c == d);
+ assert (e < g);
+ assert (f < h);
+ assert (g == 1000000.0f32);
+ assert (h == i);
+ assert (j > k);
+ assert (k < a);
} \ No newline at end of file
diff --git a/src/test/run-pass/floatlits.rs b/src/test/run-pass/floatlits.rs
index 10b0fb77..37f21c8f 100644
--- a/src/test/run-pass/floatlits.rs
+++ b/src/test/run-pass/floatlits.rs
@@ -1,9 +1,9 @@
// xfail-boot
fn main() {
auto f = 4.999999999999;
- check (f > 4.90);
- check (f < 5.0);
+ assert (f > 4.90);
+ assert (f < 5.0);
auto g = 4.90000000001e-10;
- check(g > 5e-11);
- check(g < 5e-9);
+ assert (g > 5e-11);
+ assert (g < 5e-9);
} \ No newline at end of file
diff --git a/src/test/run-pass/foreach-nested-2.rs b/src/test/run-pass/foreach-nested-2.rs
index d25405d8..33a376d5 100644
--- a/src/test/run-pass/foreach-nested-2.rs
+++ b/src/test/run-pass/foreach-nested-2.rs
@@ -28,12 +28,12 @@ fn main() {
}
}
- check (a.(0) == 0);
- check (a.(1) == 1);
- check (a.(2) == 10);
- check (a.(3) == 11);
- check (a.(4) == 100);
- check (a.(5) == 101);
- check (a.(6) == 110);
- check (a.(7) == 111);
+ assert (a.(0) == 0);
+ assert (a.(1) == 1);
+ assert (a.(2) == 10);
+ assert (a.(3) == 11);
+ assert (a.(4) == 100);
+ assert (a.(5) == 101);
+ assert (a.(6) == 110);
+ assert (a.(7) == 111);
}
diff --git a/src/test/run-pass/foreach-nested.rs b/src/test/run-pass/foreach-nested.rs
index a655f591..9ba304c1 100644
--- a/src/test/run-pass/foreach-nested.rs
+++ b/src/test/run-pass/foreach-nested.rs
@@ -16,8 +16,8 @@ fn main() {
}
}
- check (a.(0) == 0);
- check (a.(1) == 1);
- check (a.(2) == 10);
- check (a.(3) == 11);
+ assert (a.(0) == 0);
+ assert (a.(1) == 1);
+ assert (a.(2) == 10);
+ assert (a.(3) == 11);
}
diff --git a/src/test/run-pass/foreach-put-structured.rs b/src/test/run-pass/foreach-put-structured.rs
index 43d8b5c3..02dbef5d 100644
--- a/src/test/run-pass/foreach-put-structured.rs
+++ b/src/test/run-pass/foreach-put-structured.rs
@@ -14,9 +14,9 @@ fn main() {
for each (tup(int,int) p in pairs()) {
log p._0;
log p._1;
- check (p._0 + 10 == i);
+ assert (p._0 + 10 == i);
i += 1;
j = p._1;
}
- check(j == 45);
+ assert (j == 45);
} \ No newline at end of file
diff --git a/src/test/run-pass/foreach-simple-outer-slot.rs b/src/test/run-pass/foreach-simple-outer-slot.rs
index efc6e8ca..8f23d61d 100644
--- a/src/test/run-pass/foreach-simple-outer-slot.rs
+++ b/src/test/run-pass/foreach-simple-outer-slot.rs
@@ -9,7 +9,7 @@ fn main() {
}
log "sum";
log sum;
- check (sum == 45);
+ assert (sum == 45);
}
iter first_ten() -> int {
diff --git a/src/test/run-pass/fun-call-variants.rs b/src/test/run-pass/fun-call-variants.rs
index 59446b4a..5fa3837e 100644
--- a/src/test/run-pass/fun-call-variants.rs
+++ b/src/test/run-pass/fun-call-variants.rs
@@ -13,7 +13,7 @@ fn main() {
let int a = direct(3); // direct
//let int b = ho(direct); // indirect unbound
let int c = ho(bind direct(_)); // indirect bound
- //check(a == b);
- //check(b == c);
+ //assert (a == b);
+ //assert (b == c);
}
diff --git a/src/test/run-pass/fun-indirect-call.rs b/src/test/run-pass/fun-indirect-call.rs
index 10c2cf40..1d506dca 100644
--- a/src/test/run-pass/fun-indirect-call.rs
+++ b/src/test/run-pass/fun-indirect-call.rs
@@ -7,5 +7,5 @@ fn f() -> int {
fn main() {
let fn() -> int g = f;
let int i = g();
- check(i == 42);
+ assert (i == 42);
}
diff --git a/src/test/run-pass/generic-alias-box.rs b/src/test/run-pass/generic-alias-box.rs
index 377e0fb2..ce3889fb 100644
--- a/src/test/run-pass/generic-alias-box.rs
+++ b/src/test/run-pass/generic-alias-box.rs
@@ -8,5 +8,5 @@ fn main() {
auto expected = @100;
auto actual = id[@int](expected);
log *actual;
- check (*expected == *actual);
+ assert (*expected == *actual);
} \ No newline at end of file
diff --git a/src/test/run-pass/generic-bind-2.rs b/src/test/run-pass/generic-bind-2.rs
index 3975867a..f3a65edd 100644
--- a/src/test/run-pass/generic-bind-2.rs
+++ b/src/test/run-pass/generic-bind-2.rs
@@ -5,7 +5,7 @@ fn id[T](&T t) -> T {
fn main() {
auto t = tup(1,2,3,4,5,6,7);
- check (t._5 == 6);
+ assert (t._5 == 6);
auto f0 = bind id[tup(int,int,int,int,int,int,int)](t);
- check (f0()._5 == 6);
+ assert (f0()._5 == 6);
}
diff --git a/src/test/run-pass/generic-bind.rs b/src/test/run-pass/generic-bind.rs
index ef1275e3..c65e061a 100644
--- a/src/test/run-pass/generic-bind.rs
+++ b/src/test/run-pass/generic-bind.rs
@@ -4,7 +4,7 @@ fn id[T](&T t) -> T {
fn main() {
auto t = tup(1,2,3,4,5,6,7);
- check (t._5 == 6);
+ assert (t._5 == 6);
auto f1 = bind id[tup(int,int,int,int,int,int,int)](_);
- check (f1(t)._5 == 6);
+ assert (f1(t)._5 == 6);
}
diff --git a/src/test/run-pass/generic-box.rs b/src/test/run-pass/generic-box.rs
index 856f3aff..76d5e3ab 100644
--- a/src/test/run-pass/generic-box.rs
+++ b/src/test/run-pass/generic-box.rs
@@ -4,5 +4,5 @@ fn box[T](&tup(T,T,T) x) -> @tup(T,T,T) {
fn main() {
let @tup(int,int,int) x = box[int](tup(1,2,3));
- check (x._1 == 2);
+ assert (x._1 == 2);
} \ No newline at end of file
diff --git a/src/test/run-pass/generic-derived-type.rs b/src/test/run-pass/generic-derived-type.rs
index 54c3f956..507d1c5f 100644
--- a/src/test/run-pass/generic-derived-type.rs
+++ b/src/test/run-pass/generic-derived-type.rs
@@ -12,6 +12,6 @@ fn main() {
auto b = f[int](10);
log b._0;
log b._1;
- check (b._0 == 10);
- check (b._1 == 10);
+ assert (b._0 == 10);
+ assert (b._1 == 10);
}
diff --git a/src/test/run-pass/generic-exterior-box.rs b/src/test/run-pass/generic-exterior-box.rs
index 0ec7020c..07eae9c1 100644
--- a/src/test/run-pass/generic-exterior-box.rs
+++ b/src/test/run-pass/generic-exterior-box.rs
@@ -8,6 +8,6 @@ fn main() {
let int foo = 17;
let tupbox[int] tbfoo = tuplift[int](foo);
let recbox[int] rbfoo = reclift[int](foo);
- check (tbfoo._0 == foo);
- check (rbfoo.x == foo);
+ assert (tbfoo._0 == foo);
+ assert (rbfoo.x == foo);
}
diff --git a/src/test/run-pass/generic-fn-infer.rs b/src/test/run-pass/generic-fn-infer.rs
index 4398670f..9c795ec2 100644
--- a/src/test/run-pass/generic-fn-infer.rs
+++ b/src/test/run-pass/generic-fn-infer.rs
@@ -9,5 +9,5 @@ fn id[T](&T x) -> T {
fn main() {
let int x = 42;
let int y = id(x);
- check (x == y);
+ assert (x == y);
}
diff --git a/src/test/run-pass/generic-fn.rs b/src/test/run-pass/generic-fn.rs
index 238ef2d1..4f93fef5 100644
--- a/src/test/run-pass/generic-fn.rs
+++ b/src/test/run-pass/generic-fn.rs
@@ -17,16 +17,16 @@ fn main() {
y = id[int](x);
log y;
- check (x == y);
+ assert (x == y);
b = id[char](a);
log b;
- check (a == b);
+ assert (a == b);
q = id[triple](p);
x = p._2;
y = q._2;
log y;
- check (x == y);
+ assert (x == y);
}
diff --git a/src/test/run-pass/generic-obj-with-derived-type.rs b/src/test/run-pass/generic-obj-with-derived-type.rs
index 2a50ccd2..cc549f6b 100644
--- a/src/test/run-pass/generic-obj-with-derived-type.rs
+++ b/src/test/run-pass/generic-obj-with-derived-type.rs
@@ -11,7 +11,7 @@ fn main() {
log h.get()._0;
log h.get()._1;
log h.get()._2;
- check (h.get()._0 == (1 as u8));
- check (h.get()._1 == (2 as u8));
- check (h.get()._2 == (3 as u8));
+ assert (h.get()._0 == (1 as u8));
+ assert (h.get()._1 == (2 as u8));
+ assert (h.get()._2 == (3 as u8));
}
diff --git a/src/test/run-pass/generic-obj.rs b/src/test/run-pass/generic-obj.rs
index ced9140f..9879fa79 100644
--- a/src/test/run-pass/generic-obj.rs
+++ b/src/test/run-pass/generic-obj.rs
@@ -21,8 +21,8 @@ fn main() {
log b.get(0);
log b.get(1);
log b.get(2);
- check (b.get(0) == 1);
- check (b.get(1) == 2);
- check (b.get(2) == 3);
+ assert (b.get(0) == 1);
+ assert (b.get(1) == 2);
+ assert (b.get(2) == 3);
b.take2(0);
}
diff --git a/src/test/run-pass/generic-tag-alt.rs b/src/test/run-pass/generic-tag-alt.rs
index 9b19eec7..f29cfa00 100644
--- a/src/test/run-pass/generic-tag-alt.rs
+++ b/src/test/run-pass/generic-tag-alt.rs
@@ -10,7 +10,7 @@ fn altfoo[T](&foo[T] f) {
hit = true;
}
}
- check (hit);
+ assert (hit);
}
fn main() {
diff --git a/src/test/run-pass/generic-tag-values.rs b/src/test/run-pass/generic-tag-values.rs
index 090a0504..46421e0a 100644
--- a/src/test/run-pass/generic-tag-values.rs
+++ b/src/test/run-pass/generic-tag-values.rs
@@ -9,7 +9,7 @@ fn main() {
alt (nop) {
case (some[int](?n)) {
log n;
- check (n == 5);
+ assert (n == 5);
}
}
@@ -18,8 +18,8 @@ fn main() {
case (some[tup(int, int)](?t)) {
log t._0;
log t._1;
- check (t._0 == 17);
- check (t._1 == 42);
+ assert (t._0 == 17);
+ assert (t._1 == 42);
}
}
}
diff --git a/src/test/run-pass/generic-temporary.rs b/src/test/run-pass/generic-temporary.rs
index 98401ecc..2f697124 100644
--- a/src/test/run-pass/generic-temporary.rs
+++ b/src/test/run-pass/generic-temporary.rs
@@ -5,7 +5,7 @@ fn mk() -> int {
fn chk(&int a) {
log a;
- check (a == 1);
+ assert (a == 1);
}
fn apply[T](fn() -> T produce, fn(&T) consume) {
diff --git a/src/test/run-pass/generic-tup.rs b/src/test/run-pass/generic-tup.rs
index c387ef19..d2edfd2e 100644
--- a/src/test/run-pass/generic-tup.rs
+++ b/src/test/run-pass/generic-tup.rs
@@ -6,6 +6,6 @@ fn get_third[T](&tup(T,T,T) t) -> T {
fn main() {
log get_third(tup(1,2,3));
- check (get_third(tup(1,2,3)) == 3);
- check (get_third(tup(5u8,6u8,7u8)) == 7u8);
+ assert (get_third(tup(1,2,3)) == 3);
+ assert (get_third(tup(5u8,6u8,7u8)) == 7u8);
} \ No newline at end of file
diff --git a/src/test/run-pass/generic-type.rs b/src/test/run-pass/generic-type.rs
index 6638cebf..9b5b5297 100644
--- a/src/test/run-pass/generic-type.rs
+++ b/src/test/run-pass/generic-type.rs
@@ -1,6 +1,6 @@
type pair[T] = tup(T,T);
fn main() {
let pair[int] x = tup(10,12);
- check (x._0 == 10);
- check (x._1 == 12);
+ assert (x._0 == 10);
+ assert (x._1 == 12);
}
diff --git a/src/test/run-pass/i32-sub.rs b/src/test/run-pass/i32-sub.rs
index 3f00acb1..eb5e76fb 100644
--- a/src/test/run-pass/i32-sub.rs
+++ b/src/test/run-pass/i32-sub.rs
@@ -3,6 +3,6 @@
fn main() {
let i32 x = -400_i32;
x = 0_i32 - x;
- check(x == 400_i32);
+ assert (x == 400_i32);
}
diff --git a/src/test/run-pass/i8-incr.rs b/src/test/run-pass/i8-incr.rs
index fb387d31..92ff04ea 100644
--- a/src/test/run-pass/i8-incr.rs
+++ b/src/test/run-pass/i8-incr.rs
@@ -5,5 +5,5 @@ fn main() {
let i8 y = -12i8;
x = x + 1i8;
x = x - 1i8;
- check(x == y);
+ assert (x == y);
}
diff --git a/src/test/run-pass/integral-indexing.rs b/src/test/run-pass/integral-indexing.rs
index fe7d147c..ee80786c 100644
--- a/src/test/run-pass/integral-indexing.rs
+++ b/src/test/run-pass/integral-indexing.rs
@@ -4,19 +4,19 @@ fn main() {
let vec[int] v = vec(0, 1, 2, 3, 4, 5);
let str s = "abcdef";
- check (v.(3u) == 3);
- check (v.(3u8) == 3);
- check (v.(3i8) == 3);
- check (v.(3u32) == 3);
- check (v.(3i32) == 3);
+ assert (v.(3u) == 3);
+ assert (v.(3u8) == 3);
+ assert (v.(3i8) == 3);
+ assert (v.(3u32) == 3);
+ assert (v.(3i32) == 3);
log v.(3u8);
- check (s.(3u) == 'd' as u8);
- check (s.(3u8) == 'd' as u8);
- check (s.(3i8) == 'd' as u8);
- check (s.(3u32) == 'd' as u8);
- check (s.(3i32) == 'd' as u8);
+ assert (s.(3u) == 'd' as u8);
+ assert (s.(3u8) == 'd' as u8);
+ assert (s.(3i8) == 'd' as u8);
+ assert (s.(3u32) == 'd' as u8);
+ assert (s.(3i32) == 'd' as u8);
log s.(3u8);
} \ No newline at end of file
diff --git a/src/test/run-pass/iter-range.rs b/src/test/run-pass/iter-range.rs
index ade7c51c..78bf94c3 100644
--- a/src/test/run-pass/iter-range.rs
+++ b/src/test/run-pass/iter-range.rs
@@ -1,5 +1,5 @@
iter range(int a, int b) -> int {
- check (a < b);
+ assert (a < b);
let int i = a;
while (i < b) {
diff --git a/src/test/run-pass/lazy-and-or.rs b/src/test/run-pass/lazy-and-or.rs
index fe0ffe6b..7034efba 100644
--- a/src/test/run-pass/lazy-and-or.rs
+++ b/src/test/run-pass/lazy-and-or.rs
@@ -1,22 +1,22 @@
fn incr(& mutable int x) -> bool {
x += 1;
- check (false);
+ assert (false);
ret false;
}
fn main() {
auto x = (1 == 2) || (3 == 3);
- check (x);
+ assert (x);
let int y = 10;
log x || incr(y);
- check (y == 10);
+ assert (y == 10);
if (true && x) {
- check (true);
+ assert (true);
} else {
- check (false);
+ assert (false);
}
} \ No newline at end of file
diff --git a/src/test/run-pass/lazychan.rs b/src/test/run-pass/lazychan.rs
index 6face271..a91adaa1 100644
--- a/src/test/run-pass/lazychan.rs
+++ b/src/test/run-pass/lazychan.rs
@@ -10,13 +10,13 @@ fn main() {
y <- p;
log "received 1";
log y;
- check (y == 10);
+ assert (y == 10);
spawn child(c);
y <- p;
log "received 2";
log y;
- check (y == 10);
+ assert (y == 10);
}
fn child(chan[int] c) {
diff --git a/src/test/run-pass/lib-bitv.rs b/src/test/run-pass/lib-bitv.rs
index 162e8b13..8f2d9390 100644
--- a/src/test/run-pass/lib-bitv.rs
+++ b/src/test/run-pass/lib-bitv.rs
@@ -9,17 +9,17 @@ fn test_0_elements() {
act = bitv.create(0u, false);
exp = _vec.init_elt[uint](0u, 0u);
// FIXME: why can't I write vec[uint]()?
- check (bitv.eq_vec(act, exp));
+ assert (bitv.eq_vec(act, exp));
}
fn test_1_element() {
auto act;
act = bitv.create(1u, false);
- check (bitv.eq_vec(act, vec(0u)));
+ assert (bitv.eq_vec(act, vec(0u)));
act = bitv.create(1u, true);
- check (bitv.eq_vec(act, vec(1u)));
+ assert (bitv.eq_vec(act, vec(1u)));
}
fn test_10_elements() {
@@ -27,11 +27,11 @@ fn test_10_elements() {
// all 0
act = bitv.create(10u, false);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u)));
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u)));
// all 1
act = bitv.create(10u, true);
- check (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u)));
+ assert (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u)));
// mixed
act = bitv.create(10u, false);
@@ -40,7 +40,7 @@ fn test_10_elements() {
bitv.set(act, 2u, true);
bitv.set(act, 3u, true);
bitv.set(act, 4u, true);
- check (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 0u, 0u, 0u, 0u, 0u)));
+ assert (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 0u, 0u, 0u, 0u, 0u)));
// mixed
act = bitv.create(10u, false);
@@ -49,7 +49,7 @@ fn test_10_elements() {
bitv.set(act, 7u, true);
bitv.set(act, 8u, true);
bitv.set(act, 9u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 1u, 1u, 1u, 1u, 1u)));
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 1u, 1u, 1u, 1u, 1u)));
// mixed
act = bitv.create(10u, false);
@@ -57,7 +57,7 @@ fn test_10_elements() {
bitv.set(act, 3u, true);
bitv.set(act, 6u, true);
bitv.set(act, 9u, true);
- check (bitv.eq_vec(act, vec(1u, 0u, 0u, 1u, 0u, 0u, 1u, 0u, 0u, 1u)));
+ assert (bitv.eq_vec(act, vec(1u, 0u, 0u, 1u, 0u, 0u, 1u, 0u, 0u, 1u)));
}
fn test_31_elements() {
@@ -65,14 +65,14 @@ fn test_31_elements() {
// all 0
act = bitv.create(31u, false);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u)));
// all 1
act = bitv.create(31u, true);
- check (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
+ assert (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
1u, 1u, 1u, 1u, 1u, 1u, 1u)));
@@ -87,7 +87,7 @@ fn test_31_elements() {
bitv.set(act, 5u, true);
bitv.set(act, 6u, true);
bitv.set(act, 7u, true);
- check (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
+ assert (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u)));
@@ -102,7 +102,7 @@ fn test_31_elements() {
bitv.set(act, 21u, true);
bitv.set(act, 22u, true);
bitv.set(act, 23u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
0u, 0u, 0u, 0u, 0u, 0u, 0u)));
@@ -116,7 +116,7 @@ fn test_31_elements() {
bitv.set(act, 28u, true);
bitv.set(act, 29u, true);
bitv.set(act, 30u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
1u, 1u, 1u, 1u, 1u, 1u, 1u)));
@@ -126,7 +126,7 @@ fn test_31_elements() {
bitv.set(act, 3u, true);
bitv.set(act, 17u, true);
bitv.set(act, 30u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 1u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 1u)));
@@ -137,14 +137,14 @@ fn test_32_elements() {
// all 0
act = bitv.create(32u, false);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u)));
// all 1
act = bitv.create(32u, true);
- check (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
+ assert (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u)));
@@ -159,7 +159,7 @@ fn test_32_elements() {
bitv.set(act, 5u, true);
bitv.set(act, 6u, true);
bitv.set(act, 7u, true);
- check (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
+ assert (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u)));
@@ -174,7 +174,7 @@ fn test_32_elements() {
bitv.set(act, 21u, true);
bitv.set(act, 22u, true);
bitv.set(act, 23u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u)));
@@ -189,7 +189,7 @@ fn test_32_elements() {
bitv.set(act, 29u, true);
bitv.set(act, 30u, true);
bitv.set(act, 31u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u)));
@@ -200,7 +200,7 @@ fn test_32_elements() {
bitv.set(act, 17u, true);
bitv.set(act, 30u, true);
bitv.set(act, 31u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 1u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 1u, 1u)));
@@ -211,7 +211,7 @@ fn test_33_elements() {
// all 0
act = bitv.create(33u, false);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
@@ -219,7 +219,7 @@ fn test_33_elements() {
// all 1
act = bitv.create(33u, true);
- check (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
+ assert (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
@@ -235,7 +235,7 @@ fn test_33_elements() {
bitv.set(act, 5u, true);
bitv.set(act, 6u, true);
bitv.set(act, 7u, true);
- check (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
+ assert (bitv.eq_vec(act, vec(1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
@@ -251,7 +251,7 @@ fn test_33_elements() {
bitv.set(act, 21u, true);
bitv.set(act, 22u, true);
bitv.set(act, 23u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
@@ -267,7 +267,7 @@ fn test_33_elements() {
bitv.set(act, 29u, true);
bitv.set(act, 30u, true);
bitv.set(act, 31u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
@@ -280,7 +280,7 @@ fn test_33_elements() {
bitv.set(act, 30u, true);
bitv.set(act, 31u, true);
bitv.set(act, 32u, true);
- check (bitv.eq_vec(act, vec(0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u,
+ assert (bitv.eq_vec(act, vec(0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 1u, 0u, 0u, 0u, 0u, 0u, 0u,
0u, 0u, 0u, 0u, 0u, 0u, 1u, 1u,
diff --git a/src/test/run-pass/lib-box.rs b/src/test/run-pass/lib-box.rs
index 10f5e727..62807251 100644
--- a/src/test/run-pass/lib-box.rs
+++ b/src/test/run-pass/lib-box.rs
@@ -4,9 +4,9 @@ import std.Box;
fn main() {
auto x = @3;
auto y = @3;
- check (Box.ptr_eq[int](x, x));
- check (Box.ptr_eq[int](y, y));
- check (!Box.ptr_eq[int](x, y));
- check (!Box.ptr_eq[int](y, x));
+ assert (Box.ptr_eq[int](x, x));
+ assert (Box.ptr_eq[int](y, y));
+ assert (!Box.ptr_eq[int](x, y));
+ assert (!Box.ptr_eq[int](y, x));
}
diff --git a/src/test/run-pass/lib-deque.rs b/src/test/run-pass/lib-deque.rs
index 9fd177ea..405ab72b 100644
--- a/src/test/run-pass/lib-deque.rs
+++ b/src/test/run-pass/lib-deque.rs
@@ -5,125 +5,125 @@ import std.deque;
fn test_simple() {
let deque.t[int] d = deque.create[int]();
- check (d.size() == 0u);
+ assert (d.size() == 0u);
d.add_front(17);
d.add_front(42);
d.add_back(137);
- check (d.size() == 3u);
+ assert (d.size() == 3u);
d.add_back(137);
- check (d.size() == 4u);
+ assert (d.size() == 4u);
log d.peek_front();
- check (d.peek_front() == 42);
+ assert (d.peek_front() == 42);
log d.peek_back();
- check (d.peek_back() == 137);
+ assert (d.peek_back() == 137);
let int i = d.pop_front();
log i;
- check (i == 42);
+ assert (i == 42);
i = d.pop_back();
log i;
- check (i == 137);
+ assert (i == 137);
i = d.pop_back();
log i;
- check (i == 137);
+ assert (i == 137);
i = d.pop_back();
log i;
- check (i == 17);
+ assert (i == 17);
- check (d.size() == 0u);
+ assert (d.size() == 0u);
d.add_back(3);
- check (d.size() == 1u);
+ assert (d.size() == 1u);
d.add_front(2);
- check (d.size() == 2u);
+ assert (d.size() == 2u);
d.add_back(4);
- check (d.size() == 3u);
+ assert (d.size() == 3u);
d.add_front(1);
- check (d.size() == 4u);
+ assert (d.size() == 4u);
log d.get(0);
log d.get(1);
log d.get(2);
log d.get(3);
- check (d.get(0) == 1);
- check (d.get(1) == 2);
- check (d.get(2) == 3);
- check (d.get(3) == 4);
+ assert (d.get(0) == 1);
+ assert (d.get(1) == 2);
+ assert (d.get(2) == 3);
+ assert (d.get(3) == 4);
}
fn test_boxes(@int a, @int b, @int c, @int d) {
let deque.t[@int] deq = deque.create[@int]();
- check (deq.size() == 0u);
+ assert (deq.size() == 0u);
deq.add_front(a);
deq.add_front(b);
deq.add_back(c);
- check (deq.size() == 3u);
+ assert (deq.size() == 3u);
deq.add_back(d);
- check (deq.size() == 4u);
+ assert (deq.size() == 4u);
- check (deq.peek_front() == b);
- check (deq.peek_back() == d);
+ assert (deq.peek_front() == b);
+ assert (deq.peek_back() == d);
- check (deq.pop_front() == b);
- check (deq.pop_back() == d);
- check (deq.pop_back() == c);
- check (deq.pop_back() == a);
+ assert (deq.pop_front() == b);
+ assert (deq.pop_back() == d);
+ assert (deq.pop_back() == c);
+ assert (deq.pop_back() == a);
- check (deq.size() == 0u);
+ assert (deq.size() == 0u);
deq.add_back(c);
- check (deq.size() == 1u);
+ assert (deq.size() == 1u);
deq.add_front(b);
- check (deq.size() == 2u);
+ assert (deq.size() == 2u);
deq.add_back(d);
- check (deq.size() == 3u);
+ assert (deq.size() == 3u);
deq.add_front(a);
- check (deq.size() == 4u);
+ assert (deq.size() == 4u);
- check (deq.get(0) == a);
- check (deq.get(1) == b);
- check (deq.get(2) == c);
- check (deq.get(3) == d);
+ assert (deq.get(0) == a);
+ assert (deq.get(1) == b);
+ assert (deq.get(2) == c);
+ assert (deq.get(3) == d);
}
type eqfn[T] = fn(&T a, &T b) -> bool;
fn test_parameterized[T](eqfn[T] e, &T a, &T b, &T c, &T d) {
let deque.t[T] deq = deque.create[T]();
- check (deq.size() == 0u);
+ assert (deq.size() == 0u);
deq.add_front(a);
deq.add_front(b);
deq.add_back(c);
- check (deq.size() == 3u);
+ assert (deq.size() == 3u);
deq.add_back(d);
- check (deq.size() == 4u);
+ assert (deq.size() == 4u);
- check (e(deq.peek_front(), b));
- check (e(deq.peek_back(), d));
+ assert (e(deq.peek_front(), b));
+ assert (e(deq.peek_back(), d));
- check (e(deq.pop_front(), b));
- check (e(deq.pop_back(), d));
- check (e(deq.pop_back(), c));
- check (e(deq.pop_back(), a));
+ assert (e(deq.pop_front(), b));
+ assert (e(deq.pop_back(), d));
+ assert (e(deq.pop_back(), c));
+ assert (e(deq.pop_back(), a));
- check (deq.size() == 0u);
+ assert (deq.size() == 0u);
deq.add_back(c);
- check (deq.size() == 1u);
+ assert (deq.size() == 1u);
deq.add_front(b);
- check (deq.size() == 2u);
+ assert (deq.size() == 2u);
deq.add_back(d);
- check (deq.size() == 3u);
+ assert (deq.size() == 3u);
deq.add_front(a);
- check (deq.size() == 4u);
+ assert (deq.size() == 4u);
- check (e(deq.get(0), a));
- check (e(deq.get(1), b));
- check (e(deq.get(2), c));
- check (e(deq.get(3), d));
+ assert (e(deq.get(0), a));
+ assert (e(deq.get(1), b));
+ assert (e(deq.get(2), c));
+ assert (e(deq.get(3), d));
}
tag taggy {
diff --git a/src/test/run-pass/lib-int.rs b/src/test/run-pass/lib-int.rs
index 2e85abf6..e4e68351 100644
--- a/src/test/run-pass/lib-int.rs
+++ b/src/test/run-pass/lib-int.rs
@@ -4,22 +4,22 @@ import std._int;
import std._str.eq;
fn test_to_str() {
- check (eq(_int.to_str(0, 10u), "0"));
- check (eq(_int.to_str(1, 10u), "1"));
- check (eq(_int.to_str(-1, 10u), "-1"));
- check (eq(_int.to_str(255, 16u), "ff"));
- check (eq(_int.to_str(100, 10u), "100"));
+ assert (eq(_int.to_str(0, 10u), "0"));
+ assert (eq(_int.to_str(1, 10u), "1"));
+ assert (eq(_int.to_str(-1, 10u), "-1"));
+ assert (eq(_int.to_str(255, 16u), "ff"));
+ assert (eq(_int.to_str(100, 10u), "100"));
}
fn test_pow() {
- check (_int.pow(0, 0u) == 1);
- check (_int.pow(0, 1u) == 0);
- check (_int.pow(0, 2u) == 0);
- check (_int.pow(-1, 0u) == -1);
- check (_int.pow(1, 0u) == 1);
- check (_int.pow(-3, 2u) == 9);
- check (_int.pow(-3, 3u) == -27);
- check (_int.pow(4, 9u) == 262144);
+ assert (_int.pow(0, 0u) == 1);
+ assert (_int.pow(0, 1u) == 0);
+ assert (_int.pow(0, 2u) == 0);
+ assert (_int.pow(-1, 0u) == -1);
+ assert (_int.pow(1, 0u) == 1);
+ assert (_int.pow(-3, 2u) == 9);
+ assert (_int.pow(-3, 3u) == -27);
+ assert (_int.pow(4, 9u) == 262144);
}
fn main() {
diff --git a/src/test/run-pass/lib-io.rs b/src/test/run-pass/lib-io.rs
index 7102c91e..bcc2163c 100644
--- a/src/test/run-pass/lib-io.rs
+++ b/src/test/run-pass/lib-io.rs
@@ -20,7 +20,7 @@ fn test_simple(str tmpfilebase) {
let io.reader inp = io.file_reader(tmpfile);
let str frood2 = inp.read_c_str();
log frood2;
- check (_str.eq(frood, frood2));
+ assert (_str.eq(frood, frood2));
}
fn main(vec[str] argv) {
diff --git a/src/test/run-pass/lib-map.rs b/src/test/run-pass/lib-map.rs
index 4c8afa7d..abd2041e 100644
--- a/src/test/run-pass/lib-map.rs
+++ b/src/test/run-pass/lib-map.rs
@@ -28,19 +28,19 @@ fn test_simple() {
let map.hashmap[uint, uint] hm_uu = map.mk_hashmap[uint, uint](hasher_uint,
eqer_uint);
- check (hm_uu.insert(10u, 12u));
- check (hm_uu.insert(11u, 13u));
- check (hm_uu.insert(12u, 14u));
+ assert (hm_uu.insert(10u, 12u));
+ assert (hm_uu.insert(11u, 13u));
+ assert (hm_uu.insert(12u, 14u));
- check (hm_uu.get(11u) == 13u);
- check (hm_uu.get(12u) == 14u);
- check (hm_uu.get(10u) == 12u);
+ assert (hm_uu.get(11u) == 13u);
+ assert (hm_uu.get(12u) == 14u);
+ assert (hm_uu.get(10u) == 12u);
- check (!hm_uu.insert(12u, 14u));
- check (hm_uu.get(12u) == 14u);
+ assert (!hm_uu.insert(12u, 14u));
+ assert (hm_uu.get(12u) == 14u);
- check (!hm_uu.insert(12u, 12u));
- check (hm_uu.get(12u) == 12u);
+ assert (!hm_uu.insert(12u, 12u));
+ assert (hm_uu.get(12u) == 12u);
let str ten = "ten";
@@ -51,21 +51,21 @@ fn test_simple() {
let map.hashmap[str, uint] hm_su = map.mk_hashmap[str, uint](hasher_str,
eqer_str);
- check (hm_su.insert("ten", 12u));
- check (hm_su.insert(eleven, 13u));
- check (hm_su.insert("twelve", 14u));
+ assert (hm_su.insert("ten", 12u));
+ assert (hm_su.insert(eleven, 13u));
+ assert (hm_su.insert("twelve", 14u));
- check (hm_su.get(eleven) == 13u);
+ assert (hm_su.get(eleven) == 13u);
- check (hm_su.get("eleven") == 13u);
- check (hm_su.get("twelve") == 14u);
- check (hm_su.get("ten") == 12u);
+ assert (hm_su.get("eleven") == 13u);
+ assert (hm_su.get("twelve") == 14u);
+ assert (hm_su.get("ten") == 12u);
- check (!hm_su.insert("twelve", 14u));
- check (hm_su.get("twelve") == 14u);
+ assert (!hm_su.insert("twelve", 14u));
+ assert (hm_su.get("twelve") == 14u);
- check (!hm_su.insert("twelve", 12u));
- check (hm_su.get("twelve") == 12u);
+ assert (!hm_su.insert("twelve", 12u));
+ assert (hm_su.get("twelve") == 12u);
log "uint -> str";
@@ -73,19 +73,19 @@ fn test_simple() {
let map.hashmap[uint, str] hm_us = map.mk_hashmap[uint, str](hasher_uint,
eqer_uint);
- check (hm_us.insert(10u, "twelve"));
- check (hm_us.insert(11u, "thirteen"));
- check (hm_us.insert(12u, "fourteen"));
+ assert (hm_us.insert(10u, "twelve"));
+ assert (hm_us.insert(11u, "thirteen"));
+ assert (hm_us.insert(12u, "fourteen"));
- check (_str.eq(hm_us.get(11u), "thirteen"));
- check (_str.eq(hm_us.get(12u), "fourteen"));
- check (_str.eq(hm_us.get(10u), "twelve"));
+ assert (_str.eq(hm_us.get(11u), "thirteen"));
+ assert (_str.eq(hm_us.get(12u), "fourteen"));
+ assert (_str.eq(hm_us.get(10u), "twelve"));
- check (!hm_us.insert(12u, "fourteen"));
- check (_str.eq(hm_us.get(12u), "fourteen"));
+ assert (!hm_us.insert(12u, "fourteen"));
+ assert (_str.eq(hm_us.get(12u), "fourteen"));
- check (!hm_us.insert(12u, "twelve"));
- check (_str.eq(hm_us.get(12u), "twelve"));
+ assert (!hm_us.insert(12u, "twelve"));
+ assert (_str.eq(hm_us.get(12u), "twelve"));
log "str -> str";
@@ -93,19 +93,19 @@ fn test_simple() {
let map.hashmap[str, str] hm_ss = map.mk_hashmap[str, str](hasher_str,
eqer_str);
- check (hm_ss.insert(ten, "twelve"));
- check (hm_ss.insert(eleven, "thirteen"));
- check (hm_ss.insert(twelve, "fourteen"));
+ assert (hm_ss.insert(ten, "twelve"));
+ assert (hm_ss.insert(eleven, "thirteen"));
+ assert (hm_ss.insert(twelve, "fourteen"));
- check (_str.eq(hm_ss.get("eleven"), "thirteen"));
- check (_str.eq(hm_ss.get("twelve"), "fourteen"));
- check (_str.eq(hm_ss.get("ten"), "twelve"));
+ assert (_str.eq(hm_ss.get("eleven"), "thirteen"));
+ assert (_str.eq(hm_ss.get("twelve"), "fourteen"));
+ assert (_str.eq(hm_ss.get("ten"), "twelve"));
- check (!hm_ss.insert("twelve", "fourteen"));
- check (_str.eq(hm_ss.get("twelve"), "fourteen"));
+ assert (!hm_ss.insert("twelve", "fourteen"));
+ assert (_str.eq(hm_ss.get("twelve"), "fourteen"));
- check (!hm_ss.insert("twelve", "twelve"));
- check (_str.eq(hm_ss.get("twelve"), "twelve"));
+ assert (!hm_ss.insert("twelve", "twelve"));
+ assert (_str.eq(hm_ss.get("twelve"), "twelve"));
log "*** finished test_simple";
}
@@ -135,7 +135,7 @@ fn test_growth() {
let uint i = 0u;
while (i < num_to_insert) {
- check (hm_uu.insert(i, i * i));
+ assert (hm_uu.insert(i, i * i));
log "inserting " + _uint.to_str(i, 10u)
+ " -> " + _uint.to_str(i * i, 10u);
i += 1u;
@@ -147,12 +147,12 @@ fn test_growth() {
while (i < num_to_insert) {
log "get(" + _uint.to_str(i, 10u) + ") = "
+ _uint.to_str(hm_uu.get(i), 10u);
- check (hm_uu.get(i) == i * i);
+ assert (hm_uu.get(i) == i * i);
i += 1u;
}
- check (hm_uu.insert(num_to_insert, 17u));
- check (hm_uu.get(num_to_insert) == 17u);
+ assert (hm_uu.insert(num_to_insert, 17u));
+ assert (hm_uu.get(num_to_insert) == 17u);
log "-----";
@@ -162,7 +162,7 @@ fn test_growth() {
while (i < num_to_insert) {
log "get(" + _uint.to_str(i, 10u) + ") = "
+ _uint.to_str(hm_uu.get(i), 10u);
- check (hm_uu.get(i) == i * i);
+ assert (hm_uu.get(i) == i * i);
i += 1u;
}
@@ -176,7 +176,7 @@ fn test_growth() {
i = 0u;
while (i < num_to_insert) {
- check (hm_ss.insert(_uint.to_str(i, 2u), _uint.to_str(i * i, 2u)));
+ assert (hm_ss.insert(_uint.to_str(i, 2u), _uint.to_str(i * i, 2u)));
log "inserting \"" + _uint.to_str(i, 2u)
+ "\" -> \"" + _uint.to_str(i * i, 2u) + "\"";
i += 1u;
@@ -191,15 +191,15 @@ fn test_growth() {
+ "\") = \""
+ hm_ss.get(_uint.to_str(i, 2u)) + "\"";
- check (_str.eq(hm_ss.get(_uint.to_str(i, 2u)),
+ assert (_str.eq(hm_ss.get(_uint.to_str(i, 2u)),
_uint.to_str(i * i, 2u)));
i += 1u;
}
- check (hm_ss.insert(_uint.to_str(num_to_insert, 2u),
+ assert (hm_ss.insert(_uint.to_str(num_to_insert, 2u),
_uint.to_str(17u, 2u)));
- check (_str.eq(hm_ss.get(_uint.to_str(num_to_insert, 2u)),
+ assert (_str.eq(hm_ss.get(_uint.to_str(num_to_insert, 2u)),
_uint.to_str(17u, 2u)));
log "-----";
@@ -210,7 +210,7 @@ fn test_growth() {
while (i < num_to_insert) {
log "get(\"" + _uint.to_str(i, 2u) + "\") = \""
+ hm_ss.get(_uint.to_str(i, 2u)) + "\"";
- check (_str.eq(hm_ss.get(_uint.to_str(i, 2u)),
+ assert (_str.eq(hm_ss.get(_uint.to_str(i, 2u)),
_uint.to_str(i * i, 2u)));
i += 1u;
}
@@ -230,9 +230,9 @@ fn test_removal() {
ret (u / 2u) * 2u;
}
- check (hash(0u) == hash(1u));
- check (hash(2u) == hash(3u));
- check (hash(0u) != hash(2u));
+ assert (hash(0u) == hash(1u));
+ assert (hash(2u) == hash(3u));
+ assert (hash(0u) != hash(2u));
let map.hashfn[uint] hasher = hash;
let map.eqfn[uint] eqer = eq;
@@ -240,13 +240,13 @@ fn test_removal() {
let uint i = 0u;
while (i < num_to_insert) {
- check (hm.insert(i, i * i));
+ assert (hm.insert(i, i * i));
log "inserting " + _uint.to_str(i, 10u)
+ " -> " + _uint.to_str(i * i, 10u);
i += 1u;
}
- check (hm.size() == num_to_insert);
+ assert (hm.size() == num_to_insert);
log "-----";
log "removing evens";
@@ -260,7 +260,7 @@ fn test_removal() {
let util.option[uint] v = hm.remove(i);
alt (v) {
case (util.some[uint](u)) {
- check (u == (i * i));
+ assert (u == (i * i));
}
case (util.none[uint]()) { fail; }
}
@@ -273,7 +273,7 @@ fn test_removal() {
i += 2u;
}
- check (hm.size() == (num_to_insert / 2u));
+ assert (hm.size() == (num_to_insert / 2u));
log "-----";
@@ -281,7 +281,7 @@ fn test_removal() {
while (i < num_to_insert) {
log "get(" + _uint.to_str(i, 10u) + ") = "
+ _uint.to_str(hm.get(i), 10u);
- check (hm.get(i) == i * i);
+ assert (hm.get(i) == i * i);
i += 2u;
}
@@ -296,7 +296,7 @@ fn test_removal() {
while (i < num_to_insert) {
log "get(" + _uint.to_str(i, 10u) + ") = "
+ _uint.to_str(hm.get(i), 10u);
- check (hm.get(i) == i * i);
+ assert (hm.get(i) == i * i);
i += 2u;
}
@@ -304,13 +304,13 @@ fn test_removal() {
i = 0u;
while (i < num_to_insert) {
- check (hm.insert(i, i * i));
+ assert (hm.insert(i, i * i));
log "inserting " + _uint.to_str(i, 10u)
+ " -> " + _uint.to_str(i * i, 10u);
i += 2u;
}
- check (hm.size() == num_to_insert);
+ assert (hm.size() == num_to_insert);
log "-----";
@@ -318,7 +318,7 @@ fn test_removal() {
while (i < num_to_insert) {
log "get(" + _uint.to_str(i, 10u) + ") = "
+ _uint.to_str(hm.get(i), 10u);
- check (hm.get(i) == i * i);
+ assert (hm.get(i) == i * i);
i += 1u;
}
@@ -329,13 +329,13 @@ fn test_removal() {
log "-----";
- check (hm.size() == num_to_insert);
+ assert (hm.size() == num_to_insert);
i = 0u;
while (i < num_to_insert) {
log "get(" + _uint.to_str(i, 10u) + ") = "
+ _uint.to_str(hm.get(i), 10u);
- check (hm.get(i) == i * i);
+ assert (hm.get(i) == i * i);
i += 1u;
}
diff --git a/src/test/run-pass/lib-sha1.rs b/src/test/run-pass/lib-sha1.rs
index 57e3cdc8..7e8efb5e 100644
--- a/src/test/run-pass/lib-sha1.rs
+++ b/src/test/run-pass/lib-sha1.rs
@@ -69,13 +69,13 @@ fn main() {
auto tests = fips_180_1_tests + wikipedia_tests;
fn check_vec_eq(vec[u8] v0, vec[u8] v1) {
- check (_vec.len[u8](v0) == _vec.len[u8](v1));
+ assert (_vec.len[u8](v0) == _vec.len[u8](v1));
auto len = _vec.len[u8](v0);
auto i = 0u;
while (i < len) {
auto a = v0.(i);
auto b = v1.(i);
- check (a == b);
+ assert (a == b);
i += 1u;
}
}
diff --git a/src/test/run-pass/lib-sort.rs b/src/test/run-pass/lib-sort.rs
index e2c3465c..a342b24e 100644
--- a/src/test/run-pass/lib-sort.rs
+++ b/src/test/run-pass/lib-sort.rs
@@ -10,7 +10,7 @@ fn check_sort(vec[int] v1, vec[int] v2) {
auto i = 0u;
while (i < len) {
log v3.(i);
- check (v3.(i) == v2.(i));
+ assert (v3.(i) == v2.(i));
i += 1u;
}
}
diff --git a/src/test/run-pass/lib-str-buf.rs b/src/test/run-pass/lib-str-buf.rs
index bd5cb036..9b8c56bb 100644
--- a/src/test/run-pass/lib-str-buf.rs
+++ b/src/test/run-pass/lib-str-buf.rs
@@ -8,8 +8,8 @@ fn main() {
auto s = "hello";
auto sb = _str.rustrt.str_buf(s);
auto s_cstr = _str.rustrt.str_from_cstr(sb);
- check (_str.eq(s_cstr, s));
+ assert (_str.eq(s_cstr, s));
auto s_buf = _str.rustrt.str_from_buf(sb, 5u);
- check (_str.eq(s_buf, s));
+ assert (_str.eq(s_buf, s));
}
diff --git a/src/test/run-pass/lib-str.rs b/src/test/run-pass/lib-str.rs
index 835c08a2..76717711 100644
--- a/src/test/run-pass/lib-str.rs
+++ b/src/test/run-pass/lib-str.rs
@@ -2,22 +2,22 @@ use std;
import std._str;
fn test_bytes_len() {
- check (_str.byte_len("") == 0u);
- check (_str.byte_len("hello world") == 11u);
- check (_str.byte_len("\x63") == 1u);
- check (_str.byte_len("\xa2") == 2u);
- check (_str.byte_len("\u03c0") == 2u);
- check (_str.byte_len("\u2620") == 3u);
- check (_str.byte_len("\U0001d11e") == 4u);
+ assert (_str.byte_len("") == 0u);
+ assert (_str.byte_len("hello world") == 11u);
+ assert (_str.byte_len("\x63") == 1u);
+ assert (_str.byte_len("\xa2") == 2u);
+ assert (_str.byte_len("\u03c0") == 2u);
+ assert (_str.byte_len("\u2620") == 3u);
+ assert (_str.byte_len("\U0001d11e") == 4u);
}
fn test_index_and_rindex() {
- check(_str.index("hello", 'e' as u8) == 1);
- check(_str.index("hello", 'o' as u8) == 4);
- check(_str.index("hello", 'z' as u8) == -1);
- check(_str.rindex("hello", 'l' as u8) == 3);
- check(_str.rindex("hello", 'h' as u8) == 0);
- check(_str.rindex("hello", 'z' as u8) == -1);
+ assert (_str.index("hello", 'e' as u8) == 1);
+ assert (_str.index("hello", 'o' as u8) == 4);
+ assert (_str.index("hello", 'z' as u8) == -1);
+ assert (_str.rindex("hello", 'l' as u8) == 3);
+ assert (_str.rindex("hello", 'h' as u8) == 0);
+ assert (_str.rindex("hello", 'z' as u8) == -1);
}
fn test_split() {
@@ -30,7 +30,7 @@ fn test_split() {
log z;
}
log "comparing: " + v.(i) + " vs. " + k;
- check(_str.eq(v.(i), k));
+ assert (_str.eq(v.(i), k));
}
t("abc.hello.there", '.', 0, "abc");
t("abc.hello.there", '.', 1, "hello");
@@ -46,7 +46,7 @@ fn test_find() {
let int j = _str.find(haystack,needle);
log "searched for " + needle;
log j;
- check (i == j);
+ assert (i == j);
}
t("this is a simple", "is a", 5);
t("this is a simple", "is z", -1);
@@ -57,7 +57,7 @@ fn test_find() {
fn test_substr() {
fn t(&str a, &str b, int start) {
- check(_str.eq(_str.substr(a, start as uint,
+ assert (_str.eq(_str.substr(a, start as uint,
_str.byte_len(b)), b));
}
@@ -68,7 +68,7 @@ fn test_substr() {
fn test_concat() {
fn t(&vec[str] v, &str s) {
- check(_str.eq(_str.concat(v), s));
+ assert (_str.eq(_str.concat(v), s));
}
t(vec("you", "know", "I'm", "no", "good"), "youknowI'mnogood");
@@ -79,7 +79,7 @@ fn test_concat() {
fn test_connect() {
fn t(&vec[str] v, &str sep, &str s) {
- check(_str.eq(_str.connect(v, sep), s));
+ assert (_str.eq(_str.connect(v, sep), s));
}
t(vec("you", "know", "I'm", "no", "good"), " ", "you know I'm no good");
@@ -95,7 +95,7 @@ fn test_to_upper() {
auto input = "abcDEF" + unicode + "xyz:.;";
auto expected = "ABCDEF" + unicode + "XYZ:.;";
auto actual = _str.to_upper(input);
- check (_str.eq(expected, actual));
+ assert (_str.eq(expected, actual));
}
diff --git a/src/test/run-pass/lib-uint.rs b/src/test/run-pass/lib-uint.rs
index 356ca374..64d39619 100644
--- a/src/test/run-pass/lib-uint.rs
+++ b/src/test/run-pass/lib-uint.rs
@@ -4,44 +4,44 @@ use std;
import std._uint;
fn main() {
- check (_uint.next_power_of_two(0u) == 0u);
- check (_uint.next_power_of_two(1u) == 1u);
- check (_uint.next_power_of_two(2u) == 2u);
- check (_uint.next_power_of_two(3u) == 4u);
- check (_uint.next_power_of_two(4u) == 4u);
- check (_uint.next_power_of_two(5u) == 8u);
- check (_uint.next_power_of_two(6u) == 8u);
- check (_uint.next_power_of_two(7u) == 8u);
- check (_uint.next_power_of_two(8u) == 8u);
- check (_uint.next_power_of_two(9u) == 16u);
- check (_uint.next_power_of_two(10u) == 16u);
- check (_uint.next_power_of_two(11u) == 16u);
- check (_uint.next_power_of_two(12u) == 16u);
- check (_uint.next_power_of_two(13u) == 16u);
- check (_uint.next_power_of_two(14u) == 16u);
- check (_uint.next_power_of_two(15u) == 16u);
- check (_uint.next_power_of_two(16u) == 16u);
- check (_uint.next_power_of_two(17u) == 32u);
- check (_uint.next_power_of_two(18u) == 32u);
- check (_uint.next_power_of_two(19u) == 32u);
- check (_uint.next_power_of_two(20u) == 32u);
- check (_uint.next_power_of_two(21u) == 32u);
- check (_uint.next_power_of_two(22u) == 32u);
- check (_uint.next_power_of_two(23u) == 32u);
- check (_uint.next_power_of_two(24u) == 32u);
- check (_uint.next_power_of_two(25u) == 32u);
- check (_uint.next_power_of_two(26u) == 32u);
- check (_uint.next_power_of_two(27u) == 32u);
- check (_uint.next_power_of_two(28u) == 32u);
- check (_uint.next_power_of_two(29u) == 32u);
- check (_uint.next_power_of_two(30u) == 32u);
- check (_uint.next_power_of_two(31u) == 32u);
- check (_uint.next_power_of_two(32u) == 32u);
- check (_uint.next_power_of_two(33u) == 64u);
- check (_uint.next_power_of_two(34u) == 64u);
- check (_uint.next_power_of_two(35u) == 64u);
- check (_uint.next_power_of_two(36u) == 64u);
- check (_uint.next_power_of_two(37u) == 64u);
- check (_uint.next_power_of_two(38u) == 64u);
- check (_uint.next_power_of_two(39u) == 64u);
+ assert (_uint.next_power_of_two(0u) == 0u);
+ assert (_uint.next_power_of_two(1u) == 1u);
+ assert (_uint.next_power_of_two(2u) == 2u);
+ assert (_uint.next_power_of_two(3u) == 4u);
+ assert (_uint.next_power_of_two(4u) == 4u);
+ assert (_uint.next_power_of_two(5u) == 8u);
+ assert (_uint.next_power_of_two(6u) == 8u);
+ assert (_uint.next_power_of_two(7u) == 8u);
+ assert (_uint.next_power_of_two(8u) == 8u);
+ assert (_uint.next_power_of_two(9u) == 16u);
+ assert (_uint.next_power_of_two(10u) == 16u);
+ assert (_uint.next_power_of_two(11u) == 16u);
+ assert (_uint.next_power_of_two(12u) == 16u);
+ assert (_uint.next_power_of_two(13u) == 16u);
+ assert (_uint.next_power_of_two(14u) == 16u);
+ assert (_uint.next_power_of_two(15u) == 16u);
+ assert (_uint.next_power_of_two(16u) == 16u);
+ assert (_uint.next_power_of_two(17u) == 32u);
+ assert (_uint.next_power_of_two(18u) == 32u);
+ assert (_uint.next_power_of_two(19u) == 32u);
+ assert (_uint.next_power_of_two(20u) == 32u);
+ assert (_uint.next_power_of_two(21u) == 32u);
+ assert (_uint.next_power_of_two(22u) == 32u);
+ assert (_uint.next_power_of_two(23u) == 32u);
+ assert (_uint.next_power_of_two(24u) == 32u);
+ assert (_uint.next_power_of_two(25u) == 32u);
+ assert (_uint.next_power_of_two(26u) == 32u);
+ assert (_uint.next_power_of_two(27u) == 32u);
+ assert (_uint.next_power_of_two(28u) == 32u);
+ assert (_uint.next_power_of_two(29u) == 32u);
+ assert (_uint.next_power_of_two(30u) == 32u);
+ assert (_uint.next_power_of_two(31u) == 32u);
+ assert (_uint.next_power_of_two(32u) == 32u);
+ assert (_uint.next_power_of_two(33u) == 64u);
+ assert (_uint.next_power_of_two(34u) == 64u);
+ assert (_uint.next_power_of_two(35u) == 64u);
+ assert (_uint.next_power_of_two(36u) == 64u);
+ assert (_uint.next_power_of_two(37u) == 64u);
+ assert (_uint.next_power_of_two(38u) == 64u);
+ assert (_uint.next_power_of_two(39u) == 64u);
}
diff --git a/src/test/run-pass/lib-vec-str-conversions.rs b/src/test/run-pass/lib-vec-str-conversions.rs
index 1d6b61a1..3724d627 100644
--- a/src/test/run-pass/lib-vec-str-conversions.rs
+++ b/src/test/run-pass/lib-vec-str-conversions.rs
@@ -21,14 +21,14 @@ fn test_simple() {
let uint n1 = _str.byte_len(s1);
let uint n2 = _vec.len[u8](v);
- check (n1 == n2);
+ assert (n1 == n2);
while (i < n1) {
let u8 a = s1.(i);
let u8 b = s2.(i);
log a;
log b;
- check (a == b);
+ assert (a == b);
i += 1u;
}
diff --git a/src/test/run-pass/lib-vec.rs b/src/test/run-pass/lib-vec.rs
index 4d616648..51341039 100644
--- a/src/test/run-pass/lib-vec.rs
+++ b/src/test/run-pass/lib-vec.rs
@@ -2,10 +2,10 @@ use std;
fn test_init_elt() {
let vec[uint] v = std._vec.init_elt[uint](5u, 3u);
- check (std._vec.len[uint](v) == 3u);
- check (v.(0) == 5u);
- check (v.(1) == 5u);
- check (v.(2) == 5u);
+ assert (std._vec.len[uint](v) == 3u);
+ assert (v.(0) == 5u);
+ assert (v.(1) == 5u);
+ assert (v.(2) == 5u);
}
fn id(uint x) -> uint {
@@ -14,20 +14,20 @@ fn id(uint x) -> uint {
fn test_init_fn() {
let fn(uint)->uint op = id;
let vec[uint] v = std._vec.init_fn[uint](op, 5u);
- check (std._vec.len[uint](v) == 5u);
- check (v.(0) == 0u);
- check (v.(1) == 1u);
- check (v.(2) == 2u);
- check (v.(3) == 3u);
- check (v.(4) == 4u);
+ assert (std._vec.len[uint](v) == 5u);
+ assert (v.(0) == 0u);
+ assert (v.(1) == 1u);
+ assert (v.(2) == 2u);
+ assert (v.(3) == 3u);
+ assert (v.(4) == 4u);
}
fn test_slice() {
let vec[int] v = vec(1,2,3,4,5);
auto v2 = std._vec.slice[int](v, 2u, 4u);
- check (std._vec.len[int](v2) == 2u);
- check (v2.(0) == 3);
- check (v2.(1) == 4);
+ assert (std._vec.len[int](v2) == 2u);
+ assert (v2.(0) == 3);
+ assert (v2.(1) == 4);
}
fn test_map() {
@@ -37,7 +37,7 @@ fn test_map() {
let vec[int] s = std._vec.map[int, int](op, v);
let int i = 0;
while (i < 5) {
- check (v.(i) * v.(i) == s.(i));
+ assert (v.(i) * v.(i) == s.(i));
i += 1;
}
}
@@ -51,7 +51,7 @@ fn test_map2() {
auto i = 0;
while (i < 5) {
- check (v0.(i) * v1.(i) == u.(i));
+ assert (v0.(i) * v1.(i) == u.(i));
i += 1;
}
}
diff --git a/src/test/run-pass/linear-for-loop.rs b/src/test/run-pass/linear-for-loop.rs
index 2b517f78..c816f817 100644
--- a/src/test/run-pass/linear-for-loop.rs
+++ b/src/test/run-pass/linear-for-loop.rs
@@ -6,30 +6,30 @@ fn main() {
y += i;
}
log y;
- check (y == 6);
+ assert (y == 6);
auto s = "hello there";
let int i = 0;
for (u8 c in s) {
if (i == 0) {
- check (c == ('h' as u8));
+ assert (c == ('h' as u8));
}
if (i == 1) {
- check (c == ('e' as u8));
+ assert (c == ('e' as u8));
}
if (i == 2) {
- check (c == ('l' as u8));
+ assert (c == ('l' as u8));
}
if (i == 3) {
- check (c == ('l' as u8));
+ assert (c == ('l' as u8));
}
if (i == 4) {
- check (c == ('o' as u8));
+ assert (c == ('o' as u8));
}
// ...
i += 1;
log i;
log c;
}
- check(i == 11);
+ assert (i == 11);
}
diff --git a/src/test/run-pass/many.rs b/src/test/run-pass/many.rs
index f83ab4fb..5b67fdc6 100644
--- a/src/test/run-pass/many.rs
+++ b/src/test/run-pass/many.rs
@@ -19,5 +19,5 @@ fn main() {
let int y <- p;
log "transmission complete";
log y;
- check (y == 500);
+ assert (y == 500);
}
diff --git a/src/test/run-pass/mutable-alias-vec.rs b/src/test/run-pass/mutable-alias-vec.rs
index 887fb391..71d4dfe9 100644
--- a/src/test/run-pass/mutable-alias-vec.rs
+++ b/src/test/run-pass/mutable-alias-vec.rs
@@ -13,5 +13,5 @@ fn main() {
grow(v);
auto len = std._vec.len[int](v);
log len;
- check (len == (3 as uint));
+ assert (len == (3 as uint));
}
diff --git a/src/test/run-pass/native-opaque-type.rs b/src/test/run-pass/native-opaque-type.rs
index 19c2c074..e9b7a972 100644
--- a/src/test/run-pass/native-opaque-type.rs
+++ b/src/test/run-pass/native-opaque-type.rs
@@ -3,5 +3,5 @@ native mod libc {
}
fn main() {
- check (true);
+ assert (true);
}
diff --git a/src/test/run-pass/obj-as.rs b/src/test/run-pass/obj-as.rs
index 6e0dac37..28868548 100644
--- a/src/test/run-pass/obj-as.rs
+++ b/src/test/run-pass/obj-as.rs
@@ -15,10 +15,10 @@ type small = obj {
fn main() {
let big b = big();
- check (b.one() == 1);
- check (b.two() == 2);
- check (b.three() == 3);
+ assert (b.one() == 1);
+ assert (b.two() == 2);
+ assert (b.three() == 3);
let small s = b as small;
- check (s.one() == 1);
+ assert (s.one() == 1);
} \ No newline at end of file
diff --git a/src/test/run-pass/obj-dtor-2.rs b/src/test/run-pass/obj-dtor-2.rs
index 167b15fb..f512e6ee 100644
--- a/src/test/run-pass/obj-dtor-2.rs
+++ b/src/test/run-pass/obj-dtor-2.rs
@@ -14,5 +14,5 @@ fn main() {
{
auto x = foo(mbox);
}
- check ((*mbox) == 11);
+ assert ((*mbox) == 11);
} \ No newline at end of file
diff --git a/src/test/run-pass/obj-dtor.rs b/src/test/run-pass/obj-dtor.rs
index 3d633e72..62e0de87 100644
--- a/src/test/run-pass/obj-dtor.rs
+++ b/src/test/run-pass/obj-dtor.rs
@@ -29,6 +29,6 @@ fn main() {
log "parent waiting for shutdown";
i <- p;
log "received int";
- check (i == 10);
+ assert (i == 10);
log "int is OK, child-dtor ran as expected";
} \ No newline at end of file
diff --git a/src/test/run-pass/obj-self-3.rs b/src/test/run-pass/obj-self-3.rs
index f777b56c..208d0ded 100644
--- a/src/test/run-pass/obj-self-3.rs
+++ b/src/test/run-pass/obj-self-3.rs
@@ -19,11 +19,11 @@ fn main() {
let int i = 0;
i = a.m1(i);
- check (i == 1);
+ assert (i == 1);
i = a.m2(i);
- check (i == 2);
+ assert (i == 2);
i = a.m3(i);
- check (i == 4);
+ assert (i == 4);
}
diff --git a/src/test/run-pass/obj-with-vec.rs b/src/test/run-pass/obj-with-vec.rs
index 85143c79..b298f75f 100644
--- a/src/test/run-pass/obj-with-vec.rs
+++ b/src/test/run-pass/obj-with-vec.rs
@@ -7,5 +7,5 @@ fn main() {
}
auto b = buf(vec(1 as u8, 2 as u8, 3 as u8));
log b.get(1);
- check (b.get(1) == (2 as u8));
+ assert (b.get(1) == (2 as u8));
}
diff --git a/src/test/run-pass/opeq.rs b/src/test/run-pass/opeq.rs
index d99ebb04..0c905ab9 100644
--- a/src/test/run-pass/opeq.rs
+++ b/src/test/run-pass/opeq.rs
@@ -5,18 +5,18 @@ fn main() {
x *= 2;
log x;
- check (x == 2);
+ assert (x == 2);
x += 3;
log x;
- check (x == 5);
+ assert (x == 5);
x *= x;
log x;
- check (x == 25);
+ assert (x == 25);
x /= 5;
log x;
- check (x == 5);
+ assert (x == 5);
}
diff --git a/src/test/run-pass/operator-associativity.rs b/src/test/run-pass/operator-associativity.rs
index 2c028eba..403d7c2e 100644
--- a/src/test/run-pass/operator-associativity.rs
+++ b/src/test/run-pass/operator-associativity.rs
@@ -1,4 +1,4 @@
// Testcase for issue #130, operator associativity.
fn main() -> () {
- check ((3 * 5 / 2) == 7);
+ assert ((3 * 5 / 2) == 7);
}
diff --git a/src/test/run-pass/readalias.rs b/src/test/run-pass/readalias.rs
index 15fa142a..57dcb3b2 100644
--- a/src/test/run-pass/readalias.rs
+++ b/src/test/run-pass/readalias.rs
@@ -3,7 +3,7 @@
type point = rec(int x, int y, int z);
fn f(&point p) {
- check (p.z == 12);
+ assert (p.z == 12);
}
fn main() {
diff --git a/src/test/run-pass/rec-extend.rs b/src/test/run-pass/rec-extend.rs
index db81278b..ada02597 100644
--- a/src/test/run-pass/rec-extend.rs
+++ b/src/test/run-pass/rec-extend.rs
@@ -8,12 +8,12 @@ fn main() {
let point right = rec(x=origin.x + 10 with origin);
let point up = rec(y=origin.y + 10 with origin);
- check(origin.x == 0);
- check(origin.y == 0);
+ assert (origin.x == 0);
+ assert (origin.y == 0);
- check(right.x == 10);
- check(right.y == 0);
+ assert (right.x == 10);
+ assert (right.y == 0);
- check(up.x == 0);
- check(up.y == 10);
+ assert (up.x == 0);
+ assert (up.y == 10);
}
diff --git a/src/test/run-pass/rec-tup.rs b/src/test/run-pass/rec-tup.rs
index e25439a9..30db0417 100644
--- a/src/test/run-pass/rec-tup.rs
+++ b/src/test/run-pass/rec-tup.rs
@@ -4,22 +4,22 @@ type point = rec(int x, int y);
type rect = tup(point, point);
fn f(rect r, int x1, int y1, int x2, int y2) {
- check (r._0.x == x1);
- check (r._0.y == y1);
- check (r._1.x == x2);
- check (r._1.y == y2);
+ assert (r._0.x == x1);
+ assert (r._0.y == y1);
+ assert (r._1.x == x2);
+ assert (r._1.y == y2);
}
fn main() {
let rect r = tup( rec(x=10, y=20),
rec(x=11, y=22) );
- check (r._0.x == 10);
- check (r._0.y == 20);
- check (r._1.x == 11);
- check (r._1.y == 22);
+ assert (r._0.x == 10);
+ assert (r._0.y == 20);
+ assert (r._1.x == 11);
+ assert (r._1.y == 22);
let rect r2 = r;
let int x = r2._0.x;
- check (x == 10);
+ assert (x == 10);
f(r, 10, 20, 11, 22);
f(r2, 10, 20, 11, 22);
}
diff --git a/src/test/run-pass/rec.rs b/src/test/run-pass/rec.rs
index 0f6b7d79..7d295f6f 100644
--- a/src/test/run-pass/rec.rs
+++ b/src/test/run-pass/rec.rs
@@ -3,21 +3,21 @@
type rect = rec(int x, int y, int w, int h);
fn f(rect r, int x, int y, int w, int h) {
- check (r.x == x);
- check (r.y == y);
- check (r.w == w);
- check (r.h == h);
+ assert (r.x == x);
+ assert (r.y == y);
+ assert (r.w == w);
+ assert (r.h == h);
}
fn main() {
let rect r = rec(x=10, y=20, w=100, h=200);
- check (r.x == 10);
- check (r.y == 20);
- check (r.w == 100);
- check (r.h == 200);
+ assert (r.x == 10);
+ assert (r.y == 20);
+ assert (r.w == 100);
+ assert (r.h == 200);
let rect r2 = r;
let int x = r2.x;
- check (x == 10);
+ assert (x == 10);
f(r, 10, 20, 100, 200);
f(r2, 10, 20, 100, 200);
}
diff --git a/src/test/run-pass/rt-circular-buffer.rs b/src/test/run-pass/rt-circular-buffer.rs
index e5c3da1b..cd808ad7 100644
--- a/src/test/run-pass/rt-circular-buffer.rs
+++ b/src/test/run-pass/rt-circular-buffer.rs
@@ -74,9 +74,9 @@ fn test_rotate() {
mychan <| val;
auto x <- myport;
- check (x.val1 == i as u32);
- check (x.val2 == i as u32);
- check (x.val3 == i as u32);
+ assert (x.val1 == i as u32);
+ assert (x.val2 == i as u32);
+ assert (x.val3 == i as u32);
}
}
@@ -96,9 +96,9 @@ fn test_rotate_grow() {
for each (uint i in _uint.range(0u, 10u)) {
auto x <- myport;
- check (x.val1 == i as u32);
- check (x.val2 == i as u32);
- check (x.val3 == i as u32);
+ assert (x.val1 == i as u32);
+ assert (x.val2 == i as u32);
+ assert (x.val3 == i as u32);
}
}
}
diff --git a/src/test/run-pass/seq-compare.rs b/src/test/run-pass/seq-compare.rs
index e8bc4788..942e9e90 100644
--- a/src/test/run-pass/seq-compare.rs
+++ b/src/test/run-pass/seq-compare.rs
@@ -1,16 +1,16 @@
// xfail-boot
fn main() {
- check ("hello" < "hellr");
- check ("hello " > "hello");
- check ("hello" != "there");
+ assert ("hello" < "hellr");
+ assert ("hello " > "hello");
+ assert ("hello" != "there");
- check (vec(1,2,3,4) > vec(1,2,3));
- check (vec(1,2,3) < vec(1,2,3,4));
- check (vec(1,2,4,4) > vec(1,2,3,4));
- check (vec(1,2,3,4) < vec(1,2,4,4));
- check (vec(1,2,3) <= vec(1,2,3));
- check (vec(1,2,3) <= vec(1,2,3,3));
- check (vec(1,2,3,4) > vec(1,2,3));
- check (vec(1,2,3) == vec(1,2,3));
- check (vec(1,2,3) != vec(1,1,3));
+ assert (vec(1,2,3,4) > vec(1,2,3));
+ assert (vec(1,2,3) < vec(1,2,3,4));
+ assert (vec(1,2,4,4) > vec(1,2,3,4));
+ assert (vec(1,2,3,4) < vec(1,2,4,4));
+ assert (vec(1,2,3) <= vec(1,2,3));
+ assert (vec(1,2,3) <= vec(1,2,3,3));
+ assert (vec(1,2,3,4) > vec(1,2,3));
+ assert (vec(1,2,3) == vec(1,2,3));
+ assert (vec(1,2,3) != vec(1,1,3));
}
diff --git a/src/test/run-pass/stateful-obj.rs b/src/test/run-pass/stateful-obj.rs
index c1d96cc3..b0f0cf3b 100644
--- a/src/test/run-pass/stateful-obj.rs
+++ b/src/test/run-pass/stateful-obj.rs
@@ -14,10 +14,10 @@ obj counter(mutable int x) {
fn main() {
auto y = counter(0);
- check (y.hello() == 12345);
+ assert (y.hello() == 12345);
log y.get();
y.incr();
y.incr();
log y.get();
- check (y.get() == 2);
+ assert (y.get() == 2);
}
diff --git a/src/test/run-pass/str-append.rs b/src/test/run-pass/str-append.rs
index da4ca07f..abfbe938 100644
--- a/src/test/run-pass/str-append.rs
+++ b/src/test/run-pass/str-append.rs
@@ -7,7 +7,7 @@ fn test1() {
let str s = "hello";
s += "world";
log s;
- check(s.(9) == ('d' as u8));
+ assert (s.(9) == ('d' as u8));
}
fn test2() {
@@ -20,8 +20,8 @@ fn test2() {
log a;
log b;
- check (_str.eq(a, "abcABCabc"));
- check (_str.eq(b, "ABCabcABC"));
+ assert (_str.eq(a, "abcABCabc"));
+ assert (_str.eq(b, "ABCabcABC"));
}
fn main() {
diff --git a/src/test/run-pass/str-concat.rs b/src/test/run-pass/str-concat.rs
index c906a23e..a21fefbe 100644
--- a/src/test/run-pass/str-concat.rs
+++ b/src/test/run-pass/str-concat.rs
@@ -5,5 +5,5 @@ fn main() {
let str b = "world";
let str s = a + b;
log s;
- check(s.(9) == ('d' as u8));
+ assert (s.(9) == ('d' as u8));
}
diff --git a/src/test/run-pass/str-growth.rs b/src/test/run-pass/str-growth.rs
index 06bc8b74..55548da5 100644
--- a/src/test/run-pass/str-growth.rs
+++ b/src/test/run-pass/str-growth.rs
@@ -1,14 +1,14 @@
fn main() {
auto s = "a";
s += "b";
- check (s.(0) == ('a' as u8));
- check (s.(1) == ('b' as u8));
+ assert (s.(0) == ('a' as u8));
+ assert (s.(1) == ('b' as u8));
s += "c";
s += "d";
- check (s.(0) == ('a' as u8));
- check (s.(1) == ('b' as u8));
- check (s.(2) == ('c' as u8));
- check (s.(3) == ('d' as u8));
+ assert (s.(0) == ('a' as u8));
+ assert (s.(1) == ('b' as u8));
+ assert (s.(2) == ('c' as u8));
+ assert (s.(3) == ('d' as u8));
}
diff --git a/src/test/run-pass/str-idx.rs b/src/test/run-pass/str-idx.rs
index 9793799a..e2f5abb2 100644
--- a/src/test/run-pass/str-idx.rs
+++ b/src/test/run-pass/str-idx.rs
@@ -3,5 +3,5 @@ fn main() {
auto s = "hello";
let u8 c = s.(4);
log c;
- check (c == (0x6f as u8));
+ assert (c == (0x6f as u8));
}
diff --git a/src/test/run-pass/structured-compare-recursive.rs b/src/test/run-pass/structured-compare-recursive.rs
index 3049faec..15ddba84 100644
--- a/src/test/run-pass/structured-compare-recursive.rs
+++ b/src/test/run-pass/structured-compare-recursive.rs
@@ -4,6 +4,6 @@ tag taggy {
}
fn main() {
- check (bar <= bar);
+ assert (bar <= bar);
}
diff --git a/src/test/run-pass/structured-compare.rs b/src/test/run-pass/structured-compare.rs
index fed4b183..e677c3cb 100644
--- a/src/test/run-pass/structured-compare.rs
+++ b/src/test/run-pass/structured-compare.rs
@@ -6,15 +6,15 @@ tag foo {
fn main() {
auto a = tup(1,2,3);
auto b = tup(1,2,3);
- check (a == b);
- check (a != tup(1,2,4));
- check (a < tup(1,2,4));
- check (a <= tup(1,2,4));
- check (tup(1,2,4) > a);
- check (tup(1,2,4) >= a);
+ assert (a == b);
+ assert (a != tup(1,2,4));
+ assert (a < tup(1,2,4));
+ assert (a <= tup(1,2,4));
+ assert (tup(1,2,4) > a);
+ assert (tup(1,2,4) >= a);
auto x = large;
auto y = small;
- check (x != y);
- check (x == large);
- check (x != small);
+ assert (x != y);
+ assert (x == large);
+ assert (x != small);
} \ No newline at end of file
diff --git a/src/test/run-pass/syntax-extension-fmt.rs b/src/test/run-pass/syntax-extension-fmt.rs
index 82b3e658..5248e782 100644
--- a/src/test/run-pass/syntax-extension-fmt.rs
+++ b/src/test/run-pass/syntax-extension-fmt.rs
@@ -6,7 +6,7 @@ import std._str;
fn test(str actual, str expected) {
log actual;
log expected;
- check (_str.eq(actual, expected));
+ assert (_str.eq(actual, expected));
}
fn main() {
diff --git a/src/test/run-pass/tag.rs b/src/test/run-pass/tag.rs
index e3f89a7f..695832b1 100644
--- a/src/test/run-pass/tag.rs
+++ b/src/test/run-pass/tag.rs
@@ -9,7 +9,7 @@ fn f() {
auto x = red(1,2);
auto y = green;
// FIXME: needs structural equality test working.
- // check (x != y);
+ // assert (x != y);
}
fn main() {
diff --git a/src/test/run-pass/tail-cps.rs b/src/test/run-pass/tail-cps.rs
index 795a105a..fec48a74 100644
--- a/src/test/run-pass/tail-cps.rs
+++ b/src/test/run-pass/tail-cps.rs
@@ -1,7 +1,7 @@
// -*- rust -*-
fn checktrue(bool res) -> bool {
- check(res);
+ assert (res);
ret true;
}
diff --git a/src/test/run-pass/tail-direct.rs b/src/test/run-pass/tail-direct.rs
index 345a322e..ac29bcad 100644
--- a/src/test/run-pass/tail-direct.rs
+++ b/src/test/run-pass/tail-direct.rs
@@ -1,8 +1,8 @@
// -*- rust -*-
fn main() {
- check(even(42));
- check(odd(45));
+ assert (even(42));
+ assert (odd(45));
}
fn even(int n) -> bool {
diff --git a/src/test/run-pass/task-comm-0.rs b/src/test/run-pass/task-comm-0.rs
index e1473548..54e37a34 100644
--- a/src/test/run-pass/task-comm-0.rs
+++ b/src/test/run-pass/task-comm-0.rs
@@ -16,5 +16,5 @@ fn test05() {
let int value <- po;
value <- po;
value <- po;
- check(value == 30);
+ assert (value == 30);
}
diff --git a/src/test/run-pass/task-comm-16.rs b/src/test/run-pass/task-comm-16.rs
index 16c4b93b..9438f50e 100644
--- a/src/test/run-pass/task-comm-16.rs
+++ b/src/test/run-pass/task-comm-16.rs
@@ -14,9 +14,9 @@ fn test_rec() {
let r r1;
r1 <- po;
- check (r1.val0 == 0);
- check (r1.val1 == 1u8);
- check (r1.val2 == '2');
+ assert (r1.val0 == 0);
+ assert (r1.val1 == 1u8);
+ assert (r1.val2 == '2');
}
fn test_vec() {
@@ -29,9 +29,9 @@ fn test_vec() {
let vec[int] v1;
v1 <- po;
- check (v1.(0) == 0);
- check (v1.(1) == 1);
- check (v1.(2) == 2);
+ assert (v1.(0) == 0);
+ assert (v1.(1) == 1);
+ assert (v1.(2) == 2);
}
fn test_str() {
@@ -44,10 +44,10 @@ fn test_str() {
let str s1;
s1 <- po;
- check (s1.(0) as u8 == 't' as u8);
- check (s1.(1) as u8 == 'e' as u8);
- check (s1.(2) as u8 == 's' as u8);
- check (s1.(3) as u8 == 't' as u8);
+ assert (s1.(0) as u8 == 't' as u8);
+ assert (s1.(1) as u8 == 'e' as u8);
+ assert (s1.(2) as u8 == 's' as u8);
+ assert (s1.(3) as u8 == 't' as u8);
}
fn test_tup() {
@@ -62,9 +62,9 @@ fn test_tup() {
let t t1;
t1 <- po;
- check (t0._0 == 0);
- check (t0._1 == 1u8);
- check (t0._2 == '2');
+ assert (t0._0 == 0);
+ assert (t0._1 == 1u8);
+ assert (t0._2 == '2');
}
fn test_tag() {
@@ -84,11 +84,11 @@ fn test_tag() {
let t t1;
t1 <- po;
- check (t1 == tag1);
+ assert (t1 == tag1);
t1 <- po;
- check (t1 == tag2(10));
+ assert (t1 == tag2(10));
t1 <- po;
- check (t1 == tag3(10, 11u8, 'A'));
+ assert (t1 == tag3(10, 11u8, 'A'));
}
fn test_chan() {
@@ -109,7 +109,7 @@ fn test_chan() {
let int i;
i <- po0;
- check (i == 10);
+ assert (i == 10);
}
fn main() {
diff --git a/src/test/run-pass/task-comm-3.rs b/src/test/run-pass/task-comm-3.rs
index 71255721..59c46c4c 100644
--- a/src/test/run-pass/task-comm-3.rs
+++ b/src/test/run-pass/task-comm-3.rs
@@ -58,7 +58,7 @@ fn test00(bool is_multithreaded) {
}
log "Completed: Final number is: ";
- // check (sum == (((number_of_tasks * (number_of_tasks - 1)) / 2) *
+ // assert (sum == (((number_of_tasks * (number_of_tasks - 1)) / 2) *
// number_of_messages));
- check (sum == 480);
+ assert (sum == 480);
}
diff --git a/src/test/run-pass/task-comm-4.rs b/src/test/run-pass/task-comm-4.rs
index 121a9e6e..3c4f3ab6 100644
--- a/src/test/run-pass/task-comm-4.rs
+++ b/src/test/run-pass/task-comm-4.rs
@@ -28,5 +28,5 @@ fn test00() {
r <- p; sum += r; log (r);
r <- p; sum += r; log (r);
- check (sum == 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8);
+ assert (sum == 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8);
} \ No newline at end of file
diff --git a/src/test/run-pass/task-comm-5.rs b/src/test/run-pass/task-comm-5.rs
index d0f3994e..324ce0ed 100644
--- a/src/test/run-pass/task-comm-5.rs
+++ b/src/test/run-pass/task-comm-5.rs
@@ -21,5 +21,5 @@ fn test00() {
i += 1;
}
- check (sum == ((number_of_messages * (number_of_messages - 1)) / 2));
+ assert (sum == ((number_of_messages * (number_of_messages - 1)) / 2));
} \ No newline at end of file
diff --git a/src/test/run-pass/task-comm-6.rs b/src/test/run-pass/task-comm-6.rs
index 74b40a90..0f98ba5b 100644
--- a/src/test/run-pass/task-comm-6.rs
+++ b/src/test/run-pass/task-comm-6.rs
@@ -32,7 +32,7 @@ fn test00() {
i += 1;
}
- check (sum == 1998000);
- // check (sum == 4 * ((number_of_messages *
+ assert (sum == 1998000);
+ // assert (sum == 4 * ((number_of_messages *
// (number_of_messages - 1)) / 2));
} \ No newline at end of file
diff --git a/src/test/run-pass/task-comm-7.rs b/src/test/run-pass/task-comm-7.rs
index b5b95db9..f9fbab88 100644
--- a/src/test/run-pass/task-comm-7.rs
+++ b/src/test/run-pass/task-comm-7.rs
@@ -40,6 +40,6 @@ fn test00() {
join t2;
join t3;
- check (sum == (((number_of_messages * 4) *
+ assert (sum == (((number_of_messages * 4) *
((number_of_messages * 4) - 1)) / 2));
} \ No newline at end of file
diff --git a/src/test/run-pass/task-comm-8.rs b/src/test/run-pass/task-comm-8.rs
index a3876bda..d115ac40 100644
--- a/src/test/run-pass/task-comm-8.rs
+++ b/src/test/run-pass/task-comm-8.rs
@@ -41,6 +41,6 @@ fn test00() {
join t2;
join t3;
- check (sum == (((number_of_messages * 4) *
+ assert (sum == (((number_of_messages * 4) *
((number_of_messages * 4) - 1)) / 2));
} \ No newline at end of file
diff --git a/src/test/run-pass/task-comm-9.rs b/src/test/run-pass/task-comm-9.rs
index a9ac1688..c1c8a3bd 100644
--- a/src/test/run-pass/task-comm-9.rs
+++ b/src/test/run-pass/task-comm-9.rs
@@ -29,5 +29,5 @@ fn test00() {
join t0;
- check (sum == (number_of_messages * (number_of_messages - 1)) / 2);
+ assert (sum == (number_of_messages * (number_of_messages - 1)) / 2);
} \ No newline at end of file
diff --git a/src/test/run-pass/task-comm-chan-nil.rs b/src/test/run-pass/task-comm-chan-nil.rs
index aae788a5..de7de81a 100644
--- a/src/test/run-pass/task-comm-chan-nil.rs
+++ b/src/test/run-pass/task-comm-chan-nil.rs
@@ -14,5 +14,5 @@ fn main() {
let () n;
n <- po;
- check (n == ());
+ assert (n == ());
}
diff --git a/src/test/run-pass/task-comm.rs b/src/test/run-pass/task-comm.rs
index 0a91b98a..d256ced9 100644
--- a/src/test/run-pass/task-comm.rs
+++ b/src/test/run-pass/task-comm.rs
@@ -58,7 +58,7 @@ fn test00(bool is_multithreaded) {
}
log "Completed: Final number is: ";
- check (sum == number_of_messages *
+ assert (sum == number_of_messages *
(number_of_tasks * number_of_tasks + number_of_tasks) / 2);
}
diff --git a/src/test/run-pass/tup.rs b/src/test/run-pass/tup.rs
index 23406646..b7670776 100644
--- a/src/test/run-pass/tup.rs
+++ b/src/test/run-pass/tup.rs
@@ -3,17 +3,17 @@
type point = tup(int, int);
fn f(point p, int x, int y) {
- check (p._0 == x);
- check (p._1 == y);
+ assert (p._0 == x);
+ assert (p._1 == y);
}
fn main() {
let point p = tup(10, 20);
- check (p._0 == 10);
- check (p._1 == 20);
+ assert (p._0 == 10);
+ assert (p._1 == 20);
let point p2 = p;
let int x = p2._0;
- check (x == 10);
+ assert (x == 10);
f(p, 10, 20);
f(p2, 10, 20);
}
diff --git a/src/test/run-pass/type-sizes.rs b/src/test/run-pass/type-sizes.rs
index 67b8b578..1903cb76 100644
--- a/src/test/run-pass/type-sizes.rs
+++ b/src/test/run-pass/type-sizes.rs
@@ -5,17 +5,17 @@ import size_of = std.sys.rustrt.size_of;
use std;
fn main() {
- check (size_of[u8]() == (1 as uint));
- check (size_of[u32]() == (4 as uint));
- check (size_of[char]() == (4 as uint));
- check (size_of[i8]() == (1 as uint));
- check (size_of[i32]() == (4 as uint));
- check (size_of[tup(u8,i8)]() == (2 as uint));
- check (size_of[tup(u8,i8,u8)]() == (3 as uint));
+ assert (size_of[u8]() == (1 as uint));
+ assert (size_of[u32]() == (4 as uint));
+ assert (size_of[char]() == (4 as uint));
+ assert (size_of[i8]() == (1 as uint));
+ assert (size_of[i32]() == (4 as uint));
+ assert (size_of[tup(u8,i8)]() == (2 as uint));
+ assert (size_of[tup(u8,i8,u8)]() == (3 as uint));
// Alignment causes padding before the char and the u32.
- check (size_of[tup(u8,i8,tup(char,u8),u32)]() == (16 as uint));
- check (size_of[int]() == size_of[uint]());
- check (size_of[tup(int,())]() == size_of[int]());
- check (size_of[tup(int,(),())]() == size_of[int]());
- check (size_of[int]() == size_of[rec(int x)]());
+ assert (size_of[tup(u8,i8,tup(char,u8),u32)]() == (16 as uint));
+ assert (size_of[int]() == size_of[uint]());
+ assert (size_of[tup(int,())]() == size_of[int]());
+ assert (size_of[tup(int,(),())]() == size_of[int]());
+ assert (size_of[int]() == size_of[rec(int x)]());
}
diff --git a/src/test/run-pass/u32-decr.rs b/src/test/run-pass/u32-decr.rs
index 1ff511aa..7e7b5026 100644
--- a/src/test/run-pass/u32-decr.rs
+++ b/src/test/run-pass/u32-decr.rs
@@ -3,6 +3,6 @@
fn main() {
let u32 word = (200000u32);
word = word - (1u32);
- check(word == (199999u32));
+ assert (word == (199999u32));
}
diff --git a/src/test/run-pass/u8-incr-decr.rs b/src/test/run-pass/u8-incr-decr.rs
index f89325fc..992c61d5 100644
--- a/src/test/run-pass/u8-incr-decr.rs
+++ b/src/test/run-pass/u8-incr-decr.rs
@@ -8,5 +8,5 @@ fn main() {
let u8 y = 35u8; // 0x23
x = x + (7u8); // 0x7
y = y - (9u8); // 0x9
- check(x == y);
+ assert (x == y);
}
diff --git a/src/test/run-pass/u8-incr.rs b/src/test/run-pass/u8-incr.rs
index 602d83c6..7cc94889 100644
--- a/src/test/run-pass/u8-incr.rs
+++ b/src/test/run-pass/u8-incr.rs
@@ -5,7 +5,7 @@ fn main() {
let u8 y = 12u8;
x = x + (1u8);
x = x - (1u8);
- check(x == y);
+ assert (x == y);
// x = 14u8;
// x = x + 1u8;
}
diff --git a/src/test/run-pass/utf8.rs b/src/test/run-pass/utf8.rs
index 68f5fa9f..bf758a49 100644
--- a/src/test/run-pass/utf8.rs
+++ b/src/test/run-pass/utf8.rs
@@ -6,14 +6,14 @@ fn main() {
let char y_diaeresis = 'ÿ'; // 0xff
let char pi = 'Π'; // 0x3a0
- check ((yen as int) == 0xa5);
- check ((c_cedilla as int) == 0xe7);
- check ((thorn as int) == 0xfe);
- check ((y_diaeresis as int) == 0xff);
- check ((pi as int) == 0x3a0);
+ assert ((yen as int) == 0xa5);
+ assert ((c_cedilla as int) == 0xe7);
+ assert ((thorn as int) == 0xfe);
+ assert ((y_diaeresis as int) == 0xff);
+ assert ((pi as int) == 0x3a0);
- check ((pi as int) == ('\u03a0' as int));
- check (('\x0a' as int) == ('\n' as int));
+ assert ((pi as int) == ('\u03a0' as int));
+ assert (('\x0a' as int) == ('\n' as int));
let str bhutan = "འབྲུག་ཡུལ།";
let str japan = "日本";
@@ -28,7 +28,7 @@ fn main() {
let str austria_e = "\u00d6sterreich";
let char oo = 'Ö';
- check ((oo as int) == 0xd6);
+ assert ((oo as int) == 0xd6);
fn check_str_eq(str a, str b) {
let int i = 0;
@@ -37,7 +37,7 @@ fn main() {
log ab;
let u8 bb = b.(i);
log bb;
- check(ab == bb);
+ assert (ab == bb);
i += 1;
}
}
diff --git a/src/test/run-pass/utf8_chars.rs b/src/test/run-pass/utf8_chars.rs
index 08671093..07eaca19 100644
--- a/src/test/run-pass/utf8_chars.rs
+++ b/src/test/run-pass/utf8_chars.rs
@@ -9,25 +9,25 @@ fn main() {
let vec[char] chs = vec('e', 'é', '€', 0x10000 as char);
let str s = _str.from_chars(chs);
- check(_str.byte_len(s) == 10u);
- check(_str.char_len(s) == 4u);
- check(_vec.len[char](_str.to_chars(s)) == 4u);
- check(_str.eq(_str.from_chars(_str.to_chars(s)), s));
- check(_str.char_at(s, 0u) == 'e');
- check(_str.char_at(s, 1u) == 'é');
+ assert (_str.byte_len(s) == 10u);
+ assert (_str.char_len(s) == 4u);
+ assert (_vec.len[char](_str.to_chars(s)) == 4u);
+ assert (_str.eq(_str.from_chars(_str.to_chars(s)), s));
+ assert (_str.char_at(s, 0u) == 'e');
+ assert (_str.char_at(s, 1u) == 'é');
- check(_str.is_utf8(_str.bytes(s)));
- check(!_str.is_utf8(vec(0x80_u8)));
- check(!_str.is_utf8(vec(0xc0_u8)));
- check(!_str.is_utf8(vec(0xc0_u8, 0x10_u8)));
+ assert (_str.is_utf8(_str.bytes(s)));
+ assert (!_str.is_utf8(vec(0x80_u8)));
+ assert (!_str.is_utf8(vec(0xc0_u8)));
+ assert (!_str.is_utf8(vec(0xc0_u8, 0x10_u8)));
auto stack = "a×c€";
- check(_str.pop_char(stack) == '€');
- check(_str.pop_char(stack) == 'c');
+ assert (_str.pop_char(stack) == '€');
+ assert (_str.pop_char(stack) == 'c');
_str.push_char(stack, 'u');
- check(_str.eq(stack, "a×u"));
- check(_str.shift_char(stack) == 'a');
- check(_str.shift_char(stack) == '×');
+ assert (_str.eq(stack, "a×u"));
+ assert (_str.shift_char(stack) == 'a');
+ assert (_str.shift_char(stack) == '×');
_str.unshift_char(stack, 'ß');
- check(_str.eq(stack, "ßu"));
+ assert (_str.eq(stack, "ßu"));
}
diff --git a/src/test/run-pass/vec-append.rs b/src/test/run-pass/vec-append.rs
index 0f9f56dd..69db4788 100644
--- a/src/test/run-pass/vec-append.rs
+++ b/src/test/run-pass/vec-append.rs
@@ -15,9 +15,9 @@ fn fast_growth() {
v += vec(6,7,8,9,0);
log v.(9);
- check(v.(0) == 1);
- check(v.(7) == 8);
- check(v.(9) == 0);
+ assert (v.(0) == 1);
+ assert (v.(7) == 8);
+ assert (v.(9) == 0);
}
fn slow_growth() {
@@ -26,7 +26,7 @@ fn slow_growth() {
v += vec(17);
log v.(0);
- check (v.(0) == 17);
+ assert (v.(0) == 17);
}
fn slow_growth2_helper(str s) { // ref up: s
@@ -52,7 +52,7 @@ fn slow_growth2_helper(str s) { // ref up: s
let acc a = acc(v); // ref up: a, v
log _vec.refcount[str](v);
- check (_vec.refcount[str](v) == 2u);
+ assert (_vec.refcount[str](v) == 2u);
a.add(s); // ref up: mumble, s. ref down: v
@@ -60,21 +60,21 @@ fn slow_growth2_helper(str s) { // ref up: s
log _str.refcount(s);
log _str.refcount(mumble);
- check (_vec.refcount[str](v) == 1u);
- check (_str.refcount(s) == const_refcount);
- check (_str.refcount(mumble) == const_refcount);
+ assert (_vec.refcount[str](v) == 1u);
+ assert (_str.refcount(s) == const_refcount);
+ assert (_str.refcount(mumble) == const_refcount);
log v.(0);
log _vec.len[str](v);
- check (_str.eq(v.(0), mumble));
- check (_vec.len[str](v) == 1u);
+ assert (_str.eq(v.(0), mumble));
+ assert (_vec.len[str](v) == 1u);
} // ref down: a, mumble, s, v
log _str.refcount(s);
log _str.refcount(mumble);
- check (_str.refcount(s) == const_refcount);
- check (_str.refcount(mumble) == const_refcount);
+ assert (_str.refcount(s) == const_refcount);
+ assert (_str.refcount(mumble) == const_refcount);
log mumble;
log ss;
@@ -84,7 +84,7 @@ fn slow_growth2() {
let str s = "hi"; // ref up: s
slow_growth2_helper(s);
log _str.refcount(s);
- check (_str.refcount(s) == const_refcount);
+ assert (_str.refcount(s) == const_refcount);
}
fn main() {
diff --git a/src/test/run-pass/vec-concat.rs b/src/test/run-pass/vec-concat.rs
index b6c52c3e..09a95402 100644
--- a/src/test/run-pass/vec-concat.rs
+++ b/src/test/run-pass/vec-concat.rs
@@ -5,7 +5,7 @@ fn main() {
let vec[int] b = vec(6,7,8,9,0);
let vec[int] v = a + b;
log v.(9);
- check(v.(0) == 1);
- check(v.(7) == 8);
- check(v.(9) == 0);
+ assert (v.(0) == 1);
+ assert (v.(7) == 8);
+ assert (v.(9) == 0);
}
diff --git a/src/test/run-pass/vec-growth.rs b/src/test/run-pass/vec-growth.rs
index fe207030..b6976abd 100644
--- a/src/test/run-pass/vec-growth.rs
+++ b/src/test/run-pass/vec-growth.rs
@@ -4,10 +4,10 @@ fn main() {
v += vec(3);
v += vec(4);
v += vec(5);
- check (v.(0) == 1);
- check (v.(1) == 2);
- check (v.(2) == 3);
- check (v.(3) == 4);
- check (v.(4) == 5);
+ assert (v.(0) == 1);
+ assert (v.(1) == 2);
+ assert (v.(2) == 3);
+ assert (v.(3) == 4);
+ assert (v.(4) == 5);
}
diff --git a/src/test/run-pass/vec-ref-count.rs b/src/test/run-pass/vec-ref-count.rs
index 78848936..45f28f9b 100644
--- a/src/test/run-pass/vec-ref-count.rs
+++ b/src/test/run-pass/vec-ref-count.rs
@@ -6,7 +6,7 @@ fn main() {
log_err _vec.refcount[int](v);
log_err _vec.refcount[int](v);
log_err _vec.refcount[int](v);
- check (_vec.refcount[int](v) == 1u || _vec.refcount[int](v) == 2u);
- check (_vec.refcount[int](v) == 1u || _vec.refcount[int](v) == 2u);
+ assert (_vec.refcount[int](v) == 1u || _vec.refcount[int](v) == 2u);
+ assert (_vec.refcount[int](v) == 1u || _vec.refcount[int](v) == 2u);
}
diff --git a/src/test/run-pass/vec-slice.rs b/src/test/run-pass/vec-slice.rs
index 55174142..c3042d0c 100644
--- a/src/test/run-pass/vec-slice.rs
+++ b/src/test/run-pass/vec-slice.rs
@@ -4,6 +4,6 @@
fn main() {
let vec[int] v = vec(1,2,3,4,5);
auto v2 = v.(1,2);
- check (v2.(0) == 2);
- check (v2.(1) == 3);
+ assert (v2.(0) == 2);
+ assert (v2.(1) == 3);
} \ No newline at end of file
diff --git a/src/test/run-pass/vec.rs b/src/test/run-pass/vec.rs
index 67a41eab..138d0ff2 100644
--- a/src/test/run-pass/vec.rs
+++ b/src/test/run-pass/vec.rs
@@ -2,12 +2,12 @@
fn main() {
let vec[int] v = vec(10, 20);
- check (v.(0) == 10);
- check (v.(1) == 20);
+ assert (v.(0) == 10);
+ assert (v.(1) == 20);
let int x = 0;
- check (v.(x) == 10);
- check (v.(x + 1) == 20);
+ assert (v.(x) == 10);
+ assert (v.(x + 1) == 20);
x = x + 1;
- check (v.(x) == 20);
- check (v.(x-1) == 10);
+ assert (v.(x) == 20);
+ assert (v.(x-1) == 10);
}
diff --git a/src/test/run-pass/while-with-break.rs b/src/test/run-pass/while-with-break.rs
index 0e27f252..2adaf24b 100644
--- a/src/test/run-pass/while-with-break.rs
+++ b/src/test/run-pass/while-with-break.rs
@@ -11,5 +11,5 @@ fn main() {
break;
}
}
- check(i == 95);
+ assert (i == 95);
}
diff --git a/src/test/run-pass/writealias.rs b/src/test/run-pass/writealias.rs
index 8bf8140f..c0ac1803 100644
--- a/src/test/run-pass/writealias.rs
+++ b/src/test/run-pass/writealias.rs
@@ -9,5 +9,5 @@ fn f(& mutable point p) {
fn main() {
let point x = rec(x=10, y=11, mutable z=12);
f(x);
- check (x.z == 13);
+ assert (x.z == 13);
}