diff --git a/core/c/frontend/tokenizer/tokenizer.odin b/core/c/frontend/tokenizer/tokenizer.odin index 52ad42031..2415e06a0 100644 --- a/core/c/frontend/tokenizer/tokenizer.odin +++ b/core/c/frontend/tokenizer/tokenizer.odin @@ -127,7 +127,7 @@ advance_rune :: proc(t: ^Tokenizer) { } advance_rune_n :: proc(t: ^Tokenizer, n: int) { - for in 0..= 10; x /= 10 { n -= 1 } - for in 0.. len(pixels) { return img, .Corrupt } else { - #no_bounds_check for in 0.. ( } buf := make([]byte, size) n := copy(buf, "..") - for in 0.. (ch: rune) { ch = s.ch if n > 0 { prev_s := s^ - for in 0.. (ch: rune) { peek_token :: proc(s: ^Scanner, n := 0) -> (tok: rune) { assert(n >= 0) prev_s := s^ - for in 0..curr_token.kind == Token_in) { Token in_token = expect_token(f, Token_in); + syntax_error(in_token, "Prefer 'for _ in' over 'for in'"); + Ast *rhs = nullptr; bool prev_allow_range = f->allow_range; f->allow_range = true; @@ -4282,6 +4284,7 @@ gb_internal Ast *parse_for_stmt(AstFile *f) { } else { body = parse_block_stmt(f, false); } + return ast_range_stmt(f, token, {}, in_token, rhs, body); }