rust/src/test/run-pass/block-arg-in-parentheses.rs

27 lines
579 B
Rust
Raw Normal View History

fn w_semi(v: [int]/~) -> int {
// the semicolon causes compiler not to
// complain about the ignored return value:
vec::foldl(0, v) {|x,y| x+y};
-10
}
fn w_paren1(v: [int]/~) -> int {
(vec::foldl(0, v) {|x,y| x+y}) - 10
}
2011-12-29 11:49:33 -06:00
fn w_paren2(v: [int]/~) -> int {
(vec::foldl(0, v) {|x,y| x+y} - 10)
}
fn w_ret(v: [int]/~) -> int {
ret vec::foldl(0, v) {|x,y| x+y} - 10;
}
2011-12-29 11:49:33 -06:00
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;
2011-12-29 11:49:33 -06:00
}