Skip to content

Commit

Permalink
Add some more unwind tests
Browse files Browse the repository at this point in the history
They worked without modifications, but I wrote them so we're keeping them.

Issue #236
  • Loading branch information
brson committed Sep 12, 2011
1 parent e193c9c commit 69d6e0d
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/test/run-fail/unwind-lambda.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// error-pattern:fail

fn main() {
let cheese = "roquefort";
let carrots = @"crunchy";

fn (tasties: @str, macerate: &block(&str)) {
macerate(*tasties);
} (carrots, { |&food|
let mush = food + cheese;
lambda() {
let chew = mush + cheese;
fail "so yummy"
} ();
});
}
28 changes: 28 additions & 0 deletions src/test/run-fail/unwind-misc-1.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// error-pattern:fail

use std;
import std::map;
import std::uint;

fn main() {
let count = @mutable 0u;
let hash = bind fn (_s: &[@str], count: @mutable uint) -> uint {
*count += 1u;
if *count == 10u {
fail;
} else {
ret *count;
}
} (_, count);

fn eq(s: &[@str], t: &[@str]) -> bool {
ret s == t;
}

let map = map::mk_hashmap(hash, eq);
let arr = [];
for each i in uint::range(0u, 10u) {
arr += [@"key stuff"];
map.insert(arr, arr + [@"value stuff"]);
}
}

0 comments on commit 69d6e0d

Please sign in to comment.