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) { 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 } +}