Skip to content

OUQBase: make implicit imports explicit (ExplicitImports no_implicit_imports) #32

Description

@ChrisRackauckas-Claude

Tracking the no_implicit_imports ExplicitImports check for OUQBase, currently marked ei_broken = (:no_implicit_imports,) in lib/OUQBase/test/qa/qa.jl (run_qa v1.6).

OUQBase relies on ~40 implicit imports brought in by heavy using of ModelingToolkit, Symbolics, Optimization, JuMP, SymbolicUtils, OrderedCollections, SciMLBase, CanonicalMoments/DiscreteMeasures, and Reexport. ExplicitImports.print_explicit_imports(OUQBase) lists them:

using CanonicalMoments: CanonicalMoments, DiscreteMeasure, DiscreteMeasureTransform1, DiscreteMeasures, ProductDiscreteMeasure, expectation, support, weights
using JuMP: JuMP, @constraint, @objective, @variable, set_lower_bound, set_name, set_upper_bound
using ModelingToolkit: ModelingToolkit, @named, OptimizationSystem, get_variables, getbounds, parameters, structural_simplify, unknowns
using Optimization: Optimization, AbstractADType
using OrderedCollections: OrderedCollections, OrderedDict
using Reexport: Reexport, @reexport
using SciMLBase: SciMLBase, OptimizationFunction, OptimizationProblem
using SymbolicUtils: SymbolicUtils, @rule, Rewriters, arguments, substitute
using Symbolics: Symbolics, Equation, Inequality

Making these explicit is a non-trivial refactor (name clashes such as supremum/infimum from Symbolics vs ModelingToolkit, order from CanonicalMoments vs DiscreteMeasures, @variables from JuMP vs Symbolics, simplify from SymbolicUtils vs JuMP must all be resolved by qualification), so it is deferred. When done, drop :no_implicit_imports from ei_broken in lib/OUQBase/test/qa/qa.jl.

ignore until reviewed by @ChrisRackauckas

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