diff options
Diffstat (limited to 'src/lib/util.rs')
| -rw-r--r-- | src/lib/util.rs | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/src/lib/util.rs b/src/lib/util.rs index 9b55d89a..f6e1327b 100644 --- a/src/lib/util.rs +++ b/src/lib/util.rs @@ -1,23 +1,23 @@ tag option[T] { - none; - some(T); + none; + some(T); } type operator[T, U] = fn(&T) -> U; fn option_map[T, U](&operator[T, U] f, &option[T] opt) -> option[U] { - alt (opt) { - case (some[T](?x)) { - ret some[U](f(x)); + alt (opt) { + case (some[T](?x)) { + ret some[U](f(x)); + } + case (none[T]) { + ret none[U]; + } } - case (none[T]) { - ret none[U]; - } - } } fn id[T](&T x) -> T { - ret x; + ret x; } /* FIXME (issue #141): See test/run-pass/constrained-type.rs. Uncomment @@ -25,6 +25,15 @@ fn id[T](&T x) -> T { type rational = rec(int num, int den); // : _int.positive(*.den); fn rational_leq(&rational x, &rational y) -> bool { - // NB: Uses the fact that rationals have positive denominators WLOG. - ret x.num * y.den <= y.num * x.den; + // NB: Uses the fact that rationals have positive denominators WLOG. + ret x.num * y.den <= y.num * x.den; } + +// Local Variables: +// mode: rust; +// fill-column: 78; +// indent-tabs-mode: nil +// c-basic-offset: 4 +// buffer-file-coding-system: utf-8-unix +// compile-command: "make -k -C .. 2>&1 | sed -e 's/\\/x\\//x:\\//g'"; +// End: |