Skip to content

QA: Aqua undefined_exports — Variable and rotate! leak through @reexport #300

Description

@ChrisRackauckas-Claude

Tracking the @test_broken placeholder for the Aqua undefined_exports sub-check, preserved when converting test/qa/qa.jl to the SciMLTesting run_qa v1.6 form (aqua_broken = (:undefined_exports,)).

Aqua.test_undefined_exports(EasyModelAnalysis) reports two undefined exported names:

  • EasyModelAnalysis.Variable — leaks in via @reexport using ModelingToolkit. Variable was historically exported by Symbolics/ModelingToolkit but the binding is no longer defined in the current reexport chain (isdefined(EasyModelAnalysis, :Variable) == false, getproperty throws UndefVarError).
  • EasyModelAnalysis.rotate! — name collision: both Plots and LinearAlgebra export rotate!, so the reexported name resolves to nothing usable in EasyModelAnalysis (isdefined(..., :rotate!) == false; load emits WARNING: both Plots and LinearAlgebra export "rotate!"; uses of it ... must be qualified).

Both come transitively through @reexport, not from EasyModelAnalysis's own export list, so they cannot be removed by editing this package's exports without dropping the reexport. The check stays @test_broken until the upstream reexport chain stops re-exporting these dead names (or the package narrows its reexports).

This issue replaces the prior un-tracked broken = true on the hand-rolled Aqua.test_undefined_exports(EasyModelAnalysis, broken = true).

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