From 7d1944ab9d2307f2736afe8520436872db1c7617 Mon Sep 17 00:00:00 2001 From: Zuhaitz Méndez Fernández de Aránguiz Date: Sun, 25 Jan 2026 15:12:12 +0000 Subject: 'let' it be --- src/parser/parser_core.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/parser/parser_core.c') diff --git a/src/parser/parser_core.c b/src/parser/parser_core.c index 7468bfb..746fc38 100644 --- a/src/parser/parser_core.c +++ b/src/parser/parser_core.c @@ -341,14 +341,14 @@ ASTNode *parse_program_nodes(ParserContext *ctx, Lexer *l) { s = parse_var_decl(ctx, l); } - else if (t.len == 3 && strncmp(t.start, "def", 3) == 0) + else if (t.len == 3 && strncmp(t.start, "let", 3) == 0) { - s = parse_def(ctx, l); + s = parse_var_decl(ctx, l); } else if (t.len == 5 && strncmp(t.start, "const", 5) == 0) { zpanic_at(t, "'const' for declarations is deprecated. Use 'def' for constants or " - "'var x: const T' for read-only variables."); + "'let x: const T' for read-only variables."); } else if (t.len == 6 && strncmp(t.start, "extern", 6) == 0) { -- cgit v1.2.3 From 489336b2101bf16edeec7bfc4379408eb19b936e Mon Sep 17 00:00:00 2001 From: Zuhaitz Méndez Fernández de Aránguiz Date: Sun, 25 Jan 2026 15:33:46 +0000 Subject: More let less var --- src/parser/parser_core.c | 6 +++--- src/parser/parser_stmt.c | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'src/parser/parser_core.c') diff --git a/src/parser/parser_core.c b/src/parser/parser_core.c index 746fc38..7e182e2 100644 --- a/src/parser/parser_core.c +++ b/src/parser/parser_core.c @@ -337,13 +337,13 @@ ASTNode *parse_program_nodes(ParserContext *ctx, Lexer *l) { s = parse_import(ctx, l); } - else if (t.len == 3 && strncmp(t.start, "var", 3) == 0) + else if (t.len == 3 && strncmp(t.start, "let", 3) == 0) { s = parse_var_decl(ctx, l); } - else if (t.len == 3 && strncmp(t.start, "let", 3) == 0) + else if (t.len == 3 && strncmp(t.start, "var", 3) == 0) { - s = parse_var_decl(ctx, l); + zpanic_at(t, "'var' is deprecated. Use 'let' instead."); } else if (t.len == 5 && strncmp(t.start, "const", 5) == 0) { diff --git a/src/parser/parser_stmt.c b/src/parser/parser_stmt.c index 6441161..0c3885a 100644 --- a/src/parser/parser_stmt.c +++ b/src/parser/parser_stmt.c @@ -1282,6 +1282,10 @@ ASTNode *parse_for(ParserContext *ctx, Lexer *l) { init = parse_var_decl(ctx, l); } + else if (lexer_peek(l).type == TOK_IDENT && strncmp(lexer_peek(l).start, "var", 3) == 0) + { + zpanic_at(lexer_peek(l), "'var' is deprecated. Use 'let' instead."); + } else { init = parse_expression(ctx, l); @@ -2068,6 +2072,11 @@ ASTNode *parse_statement(ParserContext *ctx, Lexer *l) return parse_var_decl(ctx, l); } + if (strncmp(tk.start, "var", 3) == 0 && tk.len == 3) + { + zpanic_at(tk, "'var' is deprecated. Use 'let' instead."); + } + // Static local variable: static let x = 0; if (strncmp(tk.start, "static", 6) == 0 && tk.len == 6) { -- cgit v1.2.3