Add some more unwind tests
They worked without modifications, but I wrote them so we're keeping them. Issue #236
This commit is contained in:
parent
e193c9c1d6
commit
69d6e0d208
16
src/test/run-fail/unwind-lambda.rs
Normal file
16
src/test/run-fail/unwind-lambda.rs
Normal file
@ -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
src/test/run-fail/unwind-misc-1.rs
Normal file
28
src/test/run-fail/unwind-misc-1.rs
Normal file
@ -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"]);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user