From 994beca00d21af69a6ae70a3aae2e829a65fdaff Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Thu, 15 Sep 2011 15:24:22 -0700 Subject: [PATCH] Add unreachable() fn, also nitpicking --- src/lib/util.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/lib/util.rs b/src/lib/util.rs index 69418267e9e..1d9c28d99e4 100644 --- a/src/lib/util.rs +++ b/src/lib/util.rs @@ -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 * the constraint once fixed. */ -type rational = {num: int, den: int}; - +type rational = {num: int, den: int}; // : 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: - 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: // mode: rust; // fill-column: 78;