diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-06-24 18:01:27 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-06-24 18:01:27 -0700 |
| commit | e991855d66cb299337b293d3e2d1b7f0a511ff69 (patch) | |
| tree | 30a71fb56261ff077674dc7f9dda80704d45ed40 /src | |
| parent | c01f5ef034368f035270f083ad9ba0fe6aa27a1c (diff) | |
| download | rust-e991855d66cb299337b293d3e2d1b7f0a511ff69.tar.gz rust-e991855d66cb299337b293d3e2d1b7f0a511ff69.zip | |
Make 'do' expressions accept stack closures
Diffstat (limited to 'src')
| -rw-r--r-- | src/rustc/middle/block_use.rs | 2 | ||||
| -rw-r--r-- | src/test/run-pass/do-stack.rs | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/rustc/middle/block_use.rs b/src/rustc/middle/block_use.rs index ea1cb3f235e..9fcc3d286fc 100644 --- a/src/rustc/middle/block_use.rs +++ b/src/rustc/middle/block_use.rs @@ -34,7 +34,7 @@ fn visit_expr(ex: @expr, cx: ctx, v: visit::vt<ctx>) { i += 1u; } } - expr_loop_body(body) { + expr_loop_body(body) | expr_do_body(body) { cx.allow_block = true; v.visit_expr(body, cx, v); } diff --git a/src/test/run-pass/do-stack.rs b/src/test/run-pass/do-stack.rs new file mode 100644 index 00000000000..c7fec67542d --- /dev/null +++ b/src/test/run-pass/do-stack.rs @@ -0,0 +1,5 @@ +fn f(f: fn&(int)) { f(10) } + +fn main() { + do f() { |i| assert i == 10 } +} |
