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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions