From 9e2b238078cb5d384141ebb11f7157c2bf1b77a3 Mon Sep 17 00:00:00 2001 From: shove Date: Thu, 16 Nov 2023 21:19:07 +0800 Subject: [PATCH] checker: fix inability to use multiple `import some modname as _` in the same .v file (fix #19899) (#19900) --- vlib/v/checker/checker.v | 2 +- vlib/v/tests/import_aliases_test.v | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 vlib/v/tests/import_aliases_test.v diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index 431461674c77d7..96b487ca59ecb3 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -221,7 +221,7 @@ pub fn (mut c Checker) check(mut ast_file ast.File) { } else if ast_import.mod == ast_file.imports[j].alias { c.error('`${ast_file.imports[j].mod}` was already imported as `${ast_import.alias}` on line ${ ast_file.imports[j].mod_pos.line_nr + 1}', ast_import.mod_pos) - } else if ast_import.alias == ast_file.imports[j].alias { + } else if ast_import.alias != '_' && ast_import.alias == ast_file.imports[j].alias { c.error('`${ast_file.imports[j].mod}` was already imported on line ${ ast_file.imports[j].alias_pos.line_nr + 1}', ast_import.alias_pos) } diff --git a/vlib/v/tests/import_aliases_test.v b/vlib/v/tests/import_aliases_test.v new file mode 100644 index 00000000000000..bececda9f710d2 --- /dev/null +++ b/vlib/v/tests/import_aliases_test.v @@ -0,0 +1,7 @@ +// for issue 19899: Multiple import some_mod as _ results in error +import os as _ +import io as _ + +fn test_multiple_import_as_blank_ident() { + assert true +}