From c0976ad70b86eb419f3c379d3a7bd5b8b6dc2512 Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Tue, 26 Jul 2011 14:53:01 +0200 Subject: [PATCH] Properly parse 'auto' for loop variable types --- src/comp/syntax/parse/parser.rs | 2 +- src/test/run-pass/auto-loop.rs | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 src/test/run-pass/auto-loop.rs diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs index 43f8a62b23d3..16f91c403abf 100644 --- a/src/comp/syntax/parse/parser.rs +++ b/src/comp/syntax/parse/parser.rs @@ -1354,7 +1354,7 @@ fn parse_else_expr(&parser p) -> @ast::expr { } fn parse_head_local(&parser p) -> @ast::local { - if (is_word(p, "auto")) { + if (eat_word(p, "auto")) { ret parse_auto_local(p); } else { ret parse_typed_local(p); diff --git a/src/test/run-pass/auto-loop.rs b/src/test/run-pass/auto-loop.rs new file mode 100644 index 000000000000..cc9275a95774 --- /dev/null +++ b/src/test/run-pass/auto-loop.rs @@ -0,0 +1,7 @@ +fn main() { + auto sum = 0; + for (auto x in ~[1, 2, 3, 4, 5]) { + sum += x; + } + assert sum == 15; +}