rust/src/test/run-pass/block-arg-in-parentheses.rs
Niko Matsakis 21519bc7e0 demode vec
2012-09-28 13:27:45 -07:00

27 lines
597 B
Rust

fn w_semi(v: ~[int]) -> int {
// the semicolon causes compiler not to
// complain about the ignored return value:
do vec::foldl(0, v) |x,y| { x+*y };
-10
}
fn w_paren1(v: ~[int]) -> int {
(do vec::foldl(0, v) |x,y| { x+*y }) - 10
}
fn w_paren2(v: ~[int]) -> int {
(do vec::foldl(0, v) |x,y| { x+*y} - 10)
}
fn w_ret(v: ~[int]) -> int {
return do vec::foldl(0, v) |x,y| { x+*y } - 10;
}
fn main() {
assert w_semi(~[0, 1, 2, 3]) == -10;
assert w_paren1(~[0, 1, 2, 3]) == -4;
assert w_paren2(~[0, 1, 2, 3]) == -4;
assert w_ret(~[0, 1, 2, 3]) == -4;
}