ExplicitImports: no_implicit_imports known-broken
The QA group now runs ExplicitImports.jl's checks via SciMLTesting.run_qa(...; explicit_imports = true). Five of the six checks pass (after fixing stale imports and ignoring other packages' non-public names); check_no_implicit_imports is currently marked @test_broken (via ei_broken = (:no_implicit_imports,) in test/qa/qa.jl).
The component submodules do using ModelingToolkitBase, Symbolics, IfElse (and a couple do using DiffEqBase / using PreallocationTools) and rely on those packages' exported names and macros (@component, @named, @parameters, @variables, System, Equation, Flow, @connector, @unpack, connect, extend, compose, ...). Making every one of these an explicit using X: a, b, c is a large, mechanical, but per-submodule-different refactor; it is tracked here rather than done as one risky sweep.
Once it's done, drop :no_implicit_imports from ei_broken in test/qa/qa.jl (the marker auto-flags an Unexpected Pass when the check starts passing).
Names relied on implicitly (per submodule, from ExplicitImports.print_explicit_imports)
Mechanical.MultiBody2D (9):
IfElse; ModelingToolkitBase: @component @named @parameters System; Symbolics: @variables Equation
Mechanical.TranslationalModelica (14):
IfElse; ModelingToolkitBase: @component @connector @named @parameters @unpack Flow System compose extend; Symbolics: @variables Equation
Magnetic.FluxTubes (12):
ModelingToolkitBase: @component @connector @named @parameters @unpack @variables Equation Flow System connect extend
Electrical (16):
IfElse; ModelingToolkitBase: @component @connector @constants @named @parameters @unpack Flow System connect extend; Symbolics: @register_symbolic @variables Equation
Hydraulic (1):
ModelingToolkitBase
Mechanical.Translational (11):
ModelingToolkitBase: @component @connector @named @parameters Flow System compose; Symbolics: @variables Equation
Magnetic (1):
ModelingToolkitBase
Mechanical.Rotational (14):
IfElse; ModelingToolkitBase: @component @connector @named @parameters @unpack Flow System compose extend; Symbolics: @variables Equation
Hydraulic.IsothermalCompressible (15):
ModelingToolkitBase: @component @connector @named @parameters Flow ParentScope System connect domain_connect; Symbolics: @register_derivative @register_symbolic @variables Equation
Mechanical (1):
ModelingToolkitBase
Mechanical.TranslationalPosition (14):
IfElse; ModelingToolkitBase: @component @connector @named @parameters @unpack Flow System compose extend; Symbolics: @variables Equation
Thermal (13):
IfElse; ModelingToolkitBase: @component @connector @named @parameters @unpack Flow System extend; Symbolics: @variables Equation
Blocks (20):
DiffEqBase; ModelingToolkitBase: @component @connector @named @parameters @unpack System compose connect extend; PreallocationTools: DiffCache GeneralLazyBufferCache get_tmp; Symbolics: @register_symbolic @variables Differential Equation
Part of the SciML run_qa v1.6 / ExplicitImports rollout.
ExplicitImports:
no_implicit_importsknown-brokenThe QA group now runs ExplicitImports.jl's checks via
SciMLTesting.run_qa(...; explicit_imports = true). Five of the six checks pass (after fixing stale imports and ignoring other packages' non-public names);check_no_implicit_importsis currently marked@test_broken(viaei_broken = (:no_implicit_imports,)intest/qa/qa.jl).The component submodules do
using ModelingToolkitBase, Symbolics, IfElse(and a couple dousing DiffEqBase/using PreallocationTools) and rely on those packages' exported names and macros (@component,@named,@parameters,@variables,System,Equation,Flow,@connector,@unpack,connect,extend,compose, ...). Making every one of these an explicitusing X: a, b, cis a large, mechanical, but per-submodule-different refactor; it is tracked here rather than done as one risky sweep.Once it's done, drop
:no_implicit_importsfromei_brokenintest/qa/qa.jl(the marker auto-flags an Unexpected Pass when the check starts passing).Names relied on implicitly (per submodule, from
ExplicitImports.print_explicit_imports)Part of the SciML run_qa v1.6 / ExplicitImports rollout.