Skip to content

QA: tracked-broken Aqua ambiguities + ExplicitImports no_implicit_imports #71

Description

@ChrisRackauckas-Claude

Tracking issue for the two QA findings that are marked known-broken in test/qa/qa.jl after the move to the SciMLTesting run_qa v1.6 form with ExplicitImports enabled. Both are @test_broken placeholders so the QA lane stays green; they should be fixed and the markers dropped.

1. Aqua ambiguities (aqua_broken = (:ambiguities,))

Aqua.test_all reports 19 method ambiguities, all in this package's own methods:

  • ldiv!(::QR{T, <:AlmostBandedMatrix, ...}, ::AbstractVecOrMat{T}) (src ldiv! loop, line ~509) vs ArrayLayouts/LinearAlgebra ldiv!(::Factorization, ::Triangular...) overloads (17 ambiguities).
  • __arguments(::AlmostBandedMatrix, ...) overloads (lines ~532/536/537) ambiguous among themselves (2 ambiguities).

These predate this PR; they were silently suppressed by the prior Aqua.test_all(...; ambiguities = false). The v1.6 conversion preserves the suppression as a visible, counted @test_broken rather than a silent disable. Fix: disambiguate the ldiv!/__arguments method tables (e.g. add the specific intersection methods Aqua suggests, or narrow the signatures).

2. ExplicitImports no_implicit_imports (ei_broken = (:no_implicit_imports,))

31 names are used via implicit imports through the package's
using ArrayInterface, ArrayLayouts, BandedMatrices, ConcreteStructs, LazyArrays, LinearAlgebra, MatrixFactorizations, Reexport plus @reexport using BandedMatrices. The full list (from ExplicitImports.print_explicit_imports):

  • ArrayLayouts: LayoutMatrix, Lmul, TriangularLayout
  • BandedMatrices: BandedMatrix, bandwidth, bandwidths, brand
  • ConcreteStructs: @concrete
  • LazyArrays: LazyArray, Ldiv, Mul
  • LinearAlgebra: LowerTriangular, NoPivot, UnitLowerTriangular, UnitUpperTriangular, UpperTriangular, diagind, lmul!, lu, qr, rank, triu!
  • (plus the bare module names ArrayInterface, ArrayLayouts, BandedMatrices, ConcreteStructs, LazyArrays, LinearAlgebra, MatrixFactorizations, Reexport, @reexport)

This is deferred (not done in the conversion PR) because it is a large, mechanical-but-broad using X: a, b, c refactor across 8 dependencies, and the @reexport using BandedMatrices re-export must be preserved. Should be done as its own focused PR.

Opened as part of the SciMLTesting run_qa v1.6 + ExplicitImports rollout.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    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