Skip to content

Commit eba3367

Browse files
committed
libsyntax: Introduce the new assert! macro; make assert no longer a keyword
1 parent fa70709 commit eba3367

File tree

5 files changed

+16
-12
lines changed

5 files changed

+16
-12
lines changed

src/libcore/at_vec.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ pub fn test() {
291291
}
292292
}
293293

294-
fail_unless!(seq_range(10, 15) == @[10, 11, 12, 13, 14]);
294+
assert_eq!(seq_range(10, 15), @[10, 11, 12, 13, 14]);
295295
fail_unless!(from_fn(5, |x| x+1) == @[1, 2, 3, 4, 5]);
296296
fail_unless!(from_elem(5, 3.14) == @[3.14, 3.14, 3.14, 3.14, 3.14]);
297297
}

src/libsyntax/ext/expand.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,19 @@ pub fn core_macros() -> ~str {
464464
}
465465
)
466466

467+
macro_rules! assert(
468+
($cond:expr) => {
469+
if !$cond {
470+
::core::sys::fail_assert(stringify!($cond), file!(), line!())
471+
}
472+
};
473+
($cond:expr, $msg:expr) => {
474+
if !$cond {
475+
::core::sys::fail_assert($msg, file!(), line!())
476+
}
477+
}
478+
)
479+
467480
macro_rules! assert_eq (
468481
($given:expr , $expected:expr) =>
469482
({let given_val = $given;

src/libsyntax/parse/obsolete.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ pub enum ObsoleteSyntax {
5151
ObsoleteTraitImplVisibility,
5252
ObsoleteRecordType,
5353
ObsoleteRecordPattern,
54-
ObsoleteAssertion,
5554
ObsoletePostFnTySigil,
5655
ObsoleteBareFnType,
5756
ObsoleteNewtypeEnum,
@@ -165,10 +164,6 @@ pub impl Parser {
165164
"structural record pattern",
166165
"use a structure instead"
167166
),
168-
ObsoleteAssertion => (
169-
"assertion",
170-
"use `fail_unless!()` instead"
171-
),
172167
ObsoletePostFnTySigil => (
173168
"fn sigil in postfix position",
174169
"Rather than `fn@`, `fn~`, or `fn&`, \

src/libsyntax/parse/parser.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ use parse::obsolete::{ObsoleteUnsafeBlock, ObsoleteImplSyntax};
7676
use parse::obsolete::{ObsoleteTraitBoundSeparator, ObsoleteMutOwnedPointer};
7777
use parse::obsolete::{ObsoleteMutVector, ObsoleteTraitImplVisibility};
7878
use parse::obsolete::{ObsoleteRecordType, ObsoleteRecordPattern};
79-
use parse::obsolete::{ObsoleteAssertion, ObsoletePostFnTySigil};
79+
use parse::obsolete::{ObsoletePostFnTySigil};
8080
use parse::obsolete::{ObsoleteBareFnType, ObsoleteNewtypeEnum};
8181
use parse::obsolete::{ObsoleteMode, ObsoleteImplicitSelf};
8282
use parse::obsolete::{ObsoleteLifetimeNotation, ObsoleteConstManagedPointer};
@@ -1217,10 +1217,6 @@ pub impl Parser {
12171217
ex = expr_log(ast::log_other, lvl, e);
12181218
hi = self.span.hi;
12191219
self.expect(&token::RPAREN);
1220-
} else if self.eat_keyword(&~"assert") {
1221-
let e = self.parse_expr();
1222-
ex = expr_copy(e); // whatever
1223-
self.obsolete(*self.last_span, ObsoleteAssertion);
12241220
} else if self.eat_keyword(&~"return") {
12251221
if can_begin_expr(&*self.token) {
12261222
let e = self.parse_expr();

src/libsyntax/parse/token.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ pub fn temporary_keyword_table() -> HashMap<~str, ()> {
488488
pub fn strict_keyword_table() -> HashMap<~str, ()> {
489489
let words = HashMap();
490490
let keys = ~[
491-
~"as", ~"assert",
491+
~"as",
492492
~"break",
493493
~"const", ~"copy",
494494
~"do", ~"drop",

0 commit comments

Comments
 (0)