From 49cd03ad246ba6633fb3825c5d63ac67f5a5fe4e Mon Sep 17 00:00:00 2001 From: kbkpbot Date: Sat, 30 Aug 2025 09:49:59 +0800 Subject: [PATCH] fix early check --- vlib/v/parser/fn.v | 3 ++- vlib/v/parser/parse_type.v | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/vlib/v/parser/fn.v b/vlib/v/parser/fn.v index 373b8f9736..d755e32532 100644 --- a/vlib/v/parser/fn.v +++ b/vlib/v/parser/fn.v @@ -90,8 +90,9 @@ fn (mut p Parser) call_expr(language ast.Language, mod string) ast.CallExpr { or_kind = if is_not { .propagate_result } else { .propagate_option } } if fn_name in p.imported_symbols { + check := !p.imported_symbols_used[fn_name] fn_name = p.imported_symbols[fn_name] - if !p.imported_symbols_used[fn_name] { + if check { p.register_used_import_for_symbol_name(fn_name) } } diff --git a/vlib/v/parser/parse_type.v b/vlib/v/parser/parse_type.v index 57646cc7ac..613b12155d 100644 --- a/vlib/v/parser/parse_type.v +++ b/vlib/v/parser/parse_type.v @@ -637,8 +637,9 @@ fn (mut p Parser) parse_any_type(language ast.Language, is_ptr bool, check_dot b // p.expr_mod is from the struct and not from the generic parameter name = p.expr_mod + '.' + name } else if name in p.imported_symbols { + check := !p.imported_symbols_used[name] name = p.imported_symbols[name] - if !p.imported_symbols_used[name] { + if check { p.register_used_import_for_symbol_name(name) } } else if !p.builtin_mod && name.len > 1 && name !in p.table.type_idxs {