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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions