diff --git a/vlib/v/fmt/fmt.v b/vlib/v/fmt/fmt.v index 183b33c12cbec2..d2a7c187c4ef67 100644 --- a/vlib/v/fmt/fmt.v +++ b/vlib/v/fmt/fmt.v @@ -102,6 +102,7 @@ pub fn fmt(file ast.File, mut table ast.Table, pref_ &pref.Preferences, is_debug pub fn (mut f Fmt) process_file_imports(file &ast.File) { for imp in file.imports { f.mod2alias[imp.mod] = imp.alias + f.mod2alias[imp.mod.all_after('${file.mod.name}.')] = imp.alias for sym in imp.syms { f.mod2alias['${imp.mod}.${sym.name}'] = sym.name f.mod2alias['${imp.mod.all_after_last('.')}.${sym.name}'] = sym.name diff --git a/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/internal/blas/.gitkeep b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/internal/blas/.gitkeep new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_import_submod_in_submod_keep.vv b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_import_submod_in_submod_keep.vv new file mode 100644 index 00000000000000..15d10bf682a3da --- /dev/null +++ b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_import_submod_in_submod_keep.vv @@ -0,0 +1,10 @@ +module vlas + +// `internal/blas` has to be intact as submodule directory structure for the test to be reliable. +import internal.blas + +fn C.LAPACKE_dlange(matrix_layout blas.MemoryLayout) f64 + +pub fn c_trans(trans bool) blas.Transpose { + return if trans { .trans } else { .no_trans } +} diff --git a/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_expected.vv b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_expected.vv new file mode 100644 index 00000000000000..022d1b3b421be7 --- /dev/null +++ b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_expected.vv @@ -0,0 +1,9 @@ +module vlas + +import submod_import_alias.vlas.internal.blas + +fn C.LAPACKE_dlange(matrix_layout blas.MemoryLayout) f64 + +pub fn c_trans(trans bool) blas.Transpose { + return if trans { .trans } else { .no_trans } +} diff --git a/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_input.vv b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_input.vv new file mode 100644 index 00000000000000..3900a2463b2edf --- /dev/null +++ b/vlib/v/fmt/testdata/vmodules/submod_import_alias/vlas/module_alias_submod_import_parent_mod_input.vv @@ -0,0 +1,9 @@ +module vlas + +import submod_import_alias.vlas.internal.blas + +fn C.LAPACKE_dlange(matrix_layout internal.blas.MemoryLayout) f64 + +pub fn c_trans(trans bool) internal.blas.Transpose { + return if trans { .trans } else { .no_trans } +}