Skip to content

QA: make implicit imports explicit (ExplicitImports no_implicit_imports) #85

Description

@ChrisRackauckas-Claude

Tracking issue for the no_implicit_imports ExplicitImports check, currently marked @test_broken in the QA group (test/qa/qa.jl, run_qa ei_broken = (:no_implicit_imports,)).

MATLABDiffEq relies on the following implicit imports (names brought in by heavy using/@reexport rather than explicit using X: name):

* `DiffEqBase` which is exported by `DiffEqBase`
* `MATLAB` which is exported by `MATLAB`
* `eval_string` which is exported by `MATLAB`
* `get_default_msession` which is exported by `MATLAB`
* `get_mvariable` which is exported by `MATLAB`
* `get_variable` which is exported by `MATLAB`
* `jarray` which is exported by `MATLAB`
* `jvector` which is exported by `MATLAB`
* `put_variable` which is exported by `MATLAB`
* `ModelingToolkit` which is exported by `ModelingToolkit`
* `equations` which is exported by `ModelingToolkitBase`
* `independent_variables` which is exported by `ModelingToolkitBase`
* `modelingtoolkitize` which is exported by `ModelingToolkitBase`
* `parameters` which is exported by `ModelingToolkitBase`
* `PrecompileTools` which is exported by `PrecompileTools`
* `@compile_workload` which is exported by `PrecompileTools`
* `@setup_workload` which is exported by `PrecompileTools`
* `Reexport` which is exported by `Reexport`
* `@reexport` which is exported by `Reexport`

Notes:

  • @reexport using DiffEqBase is intentional (the package re-exports the DiffEqBase namespace); the bare DiffEqBase reliance is a consequence of that and may need to stay implicit / be handled specially rather than converted.
  • The MATLAB/ModelingToolkit/PrecompileTools/Reexport function and macro names can be converted to explicit using X: a, b, ... forms once verified not to break the re-export surface or downstream method extension.

Until resolved, the check runs as @test_broken and will auto-flag (Unexpected Pass) once it passes, prompting removal of the ei_broken entry. Opened as part of the run_qa v1.6 / ExplicitImports QA conversion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions