From e6239ca3c26ecf5db53353a0495d8745ea612209 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Fri, 10 Feb 2023 13:17:04 +0000 Subject: [PATCH] Warn on 'expand_to_tuple' has been replaced with 'expand_values' --- src/check_expr.cpp | 4 ++++ src/checker.cpp | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 58372f7a3..80a27bd79 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -6744,6 +6744,10 @@ gb_internal ExprKind check_call_expr(CheckerContext *c, Operand *operand, Ast *c if (operand->mode == Addressing_Builtin) { i32 id = operand->builtin_id; + Entity *e = entity_of_node(operand->expr); + if (e != nullptr && e->token.string == "expand_to_tuple") { + warning(operand->expr, "'expand_to_tuple' has been replaced with 'expand_values'"); + } if (!check_builtin_procedure(c, operand, call, id, type_hint)) { operand->mode = Addressing_Invalid; operand->type = t_invalid; diff --git a/src/checker.cpp b/src/checker.cpp index 303a2449e..bcaa11b8b 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -1070,6 +1070,13 @@ gb_internal void init_universal(void) { } } } + { + BuiltinProcId id = BuiltinProc_expand_values; + String name = str_lit("expand_to_tuple"); + Entity *entity = alloc_entity(Entity_Builtin, nullptr, make_token_ident(name), t_invalid); + entity->Builtin.id = id; + add_global_entity(entity, builtin_pkg->scope); + } bool defined_values_double_declaration = false; for (auto const &entry : bc->defined_values) {