1
Fork 0

Add unreachable() fn, also nitpicking

This commit is contained in:
Tim Chevalier 2011-09-15 15:24:22 -07:00
parent 1e3e7d4bc5
commit 994beca00d

View file

@ -1,21 +1,22 @@
pure fn id<@T>(x: T) -> T { x }
fn id<@T>(x: T) -> T { ret x; } fn unreachable() -> ! {
fail "Internal error: entered unreachable code";
}
/* FIXME (issue #141): See test/run-pass/constrained-type.rs. Uncomment /* FIXME (issue #141): See test/run-pass/constrained-type.rs. Uncomment
* the constraint once fixed. */ * the constraint once fixed. */
type rational = {num: int, den: int}; type rational = {num: int, den: int}; // : int::positive(*.den);
// : int::positive(*.den); // : int::positive(*.den);
fn rational_leq(x: rational, y: rational) -> bool { pure fn rational_leq(x: rational, y: rational) -> bool {
// NB: Uses the fact that rationals have positive denominators WLOG: // NB: Uses the fact that rationals have positive denominators WLOG:
ret x.num * y.den <= y.num * x.den; x.num * y.den <= y.num * x.den
} }
fn orb(a: bool, b: bool) -> bool { ret a || b; } pure fn orb(a: bool, b: bool) -> bool { a || b }
// Local Variables: // Local Variables:
// mode: rust; // mode: rust;
// fill-column: 78; // fill-column: 78;