Skip to content

QA: Aqua piracies known-broken (intentional ArrayInterfaceCore.can_setindex piracy) #68

Description

@ChrisRackauckas-Claude

Tracking issue for the aqua_broken = (:piracies,) placeholder in test/qa.jl (run_qa v1.6 form).

Aqua.Piracy.hunt(ComplementaritySolve) reports 2 methods (both intentional, in the documented ### Type Piracy ### block of src/ComplementaritySolve.jl):

- can_setindex(::Type{<:FillArrays.AbstractFill}) @ ComplementaritySolve src/ComplementaritySolve.jl:50
- can_setindex(::Zygote.OneElement)               @ ComplementaritySolve src/ComplementaritySolve.jl:51

These override ArrayInterfaceCore.can_setindex (function owned by ArrayInterfaceCore) for FillArrays.AbstractFill and Zygote.OneElement (types owned by FillArrays/Zygote) so the solver paths treat those lazy arrays as immutable. This is the same suppression the pre-1.6 test/aqua.jl carried as piracies = (; broken = true).

The conversion preserves it as a tracked @test_broken via aqua_broken = (:piracies,). Close this issue and drop :piracies from aqua_broken once the piracy is resolved (e.g. by upstreaming the can_setindex definitions to ArrayInterfaceCore, or moving them behind an Aqua treat_as_own/package-extension that no longer trips the piracy hunt).

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