ericphanson / ExplicitImports.jl

Developer tooling for Julia namespace management: detecting implicit imports, improper explicit imports, and improper qualified accesses
https://ericphanson.github.io/ExplicitImports.jl/
MIT License
62 stars 2 forks source link

Detect usage of names from Modules that don't own them #48

Closed avik-pal closed 1 month ago

avik-pal commented 1 month ago

Consider the following case:

using FooModule

foo(::FooModule.ABC) = ...

But FooModule doesn't define ABC, but ABC is present in the module due to using Bar: ABC.

module FooModule
    using Bar: ABC
end

module Bar
    struct ABC
    end

    export ABC
end