From 5fa22df4281d984b005d076f29a58ae35ac7854e Mon Sep 17 00:00:00 2001 From: Eric Hanson <5846501+ericphanson@users.noreply.github.com> Date: Sun, 11 Jan 2026 13:05:37 +0100 Subject: [PATCH 1/2] add test for issue 79 --- Project.toml | 1 + test/Issue79Pkg/Project.toml | 10 ++++++++++ test/Issue79Pkg/ext/LinearAlgebraExt.jl | 6 ++++++ test/Issue79Pkg/ext/SubmoduleExt.jl | 7 +++++++ test/Issue79Pkg/src/Issue79Pkg.jl | 3 +++ test/issue_79_test.jl | 10 ++++++++++ test/runtests.jl | 5 +++++ 7 files changed, 42 insertions(+) create mode 100644 test/Issue79Pkg/Project.toml create mode 100644 test/Issue79Pkg/ext/LinearAlgebraExt.jl create mode 100644 test/Issue79Pkg/ext/SubmoduleExt.jl create mode 100644 test/Issue79Pkg/src/Issue79Pkg.jl create mode 100644 test/issue_79_test.jl diff --git a/Project.toml b/Project.toml index f4008828..ea80bec2 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,7 @@ version = "1.14.1" authors = ["Eric P. Hanson"] [deps] +Issue79Pkg = "fa155e15-ec49-4eec-b540-f513de9043b2" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" diff --git a/test/Issue79Pkg/Project.toml b/test/Issue79Pkg/Project.toml new file mode 100644 index 00000000..dc99e6b3 --- /dev/null +++ b/test/Issue79Pkg/Project.toml @@ -0,0 +1,10 @@ +name = "Issue79Pkg" +uuid = "fa155e15-ec49-4eec-b540-f513de9043b2" +authors = ["ExplicitImports tests"] +version = "0.1.0" + +[weakdeps] +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[extensions] +LinearAlgebraExt = "LinearAlgebra" diff --git a/test/Issue79Pkg/ext/LinearAlgebraExt.jl b/test/Issue79Pkg/ext/LinearAlgebraExt.jl new file mode 100644 index 00000000..52bcaaa1 --- /dev/null +++ b/test/Issue79Pkg/ext/LinearAlgebraExt.jl @@ -0,0 +1,6 @@ +module LinearAlgebraExt + +include("SubmoduleExt.jl") +using .SubmoduleExt + +end # module LinearAlgebraExt diff --git a/test/Issue79Pkg/ext/SubmoduleExt.jl b/test/Issue79Pkg/ext/SubmoduleExt.jl new file mode 100644 index 00000000..bf9af91f --- /dev/null +++ b/test/Issue79Pkg/ext/SubmoduleExt.jl @@ -0,0 +1,7 @@ +module SubmoduleExt + +export LOCAL_CONST + +const LOCAL_CONST = 1 + +end # module SubmoduleExt diff --git a/test/Issue79Pkg/src/Issue79Pkg.jl b/test/Issue79Pkg/src/Issue79Pkg.jl new file mode 100644 index 00000000..e291d3d8 --- /dev/null +++ b/test/Issue79Pkg/src/Issue79Pkg.jl @@ -0,0 +1,3 @@ +module Issue79Pkg + +end # module Issue79Pkg diff --git a/test/issue_79_test.jl b/test/issue_79_test.jl new file mode 100644 index 00000000..11c70bbd --- /dev/null +++ b/test/issue_79_test.jl @@ -0,0 +1,10 @@ +using Issue79Pkg +using LinearAlgebra + +ext_mod = Base.get_extension(Issue79Pkg, :LinearAlgebraExt) + +@testset "extension submodule analyzable (#79)" begin + @test ext_mod !== nothing + @test isdefined(ext_mod, :SubmoduleExt) + @test check_no_implicit_imports(Issue79Pkg) === nothing +end diff --git a/test/runtests.jl b/test/runtests.jl index 5d1a14d1..d4735855 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,5 +1,6 @@ using Pkg Pkg.develop(; path=joinpath(@__DIR__, "TestPkg")) +Pkg.develop(; path=joinpath(@__DIR__, "Issue79Pkg")) Pkg.precompile() using ExplicitImports using ExplicitImports: analyze_all_names, has_ancestor, should_skip, @@ -105,6 +106,10 @@ include("issue_140.jl") (; name=:groupby, source=DataFrames.DataAPI)] end + @testset "Extension submodules (#79)" begin + include("issue_79_test.jl") + end + @testset "Field names shadowing external globals (#111)" begin include("issue_111_test.jl") end From ebb91131d26908702c6abab16d88c1e05576fa3a Mon Sep 17 00:00:00 2001 From: Eric Hanson <5846501+ericphanson@users.noreply.github.com> Date: Sun, 11 Jan 2026 14:02:55 +0100 Subject: [PATCH 2/2] Update Project.toml --- Project.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Project.toml b/Project.toml index ea80bec2..f4008828 100644 --- a/Project.toml +++ b/Project.toml @@ -4,7 +4,6 @@ version = "1.14.1" authors = ["Eric P. Hanson"] [deps] -Issue79Pkg = "fa155e15-ec49-4eec-b540-f513de9043b2" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"