Skip to content

OUQBase: type piracy in RawMomentSequence(::Symbolics.Num, ...) constructor (Aqua piracies) #33

Description

@ChrisRackauckas-Claude

Tracking the Aqua piracies finding for OUQBase, currently marked aqua_broken = (:piracies,) in lib/OUQBase/test/qa/qa.jl (run_qa v1.6).

Aqua.test_all(OUQBase) reports one piratical method:

CanonicalMoments.RawMomentSequence(random_var::Symbolics.Num,
    constraints::Vector{Union{Symbolics.Equation, Symbolics.Inequality}})
  @ OUQBase lib/OUQBase/src/reduction_transformations/canonical_moments.jl:29

OUQBase owns neither the type RawMomentSequence (owned by CanonicalMoments) nor the argument types Num/Equation/Inequality (owned by Symbolics), so this constructor is type piracy. Resolving it requires a design change (e.g. moving the constructor into CanonicalMoments behind a Symbolics weakdep/extension, or introducing an OUQBase-owned wrapper type), which is out of scope for the QA-form conversion.

This is a pre-existing finding (the previous hand-rolled Aqua.test_all(OUQBase) already failed on it; the OUQBase QA lane was already red on main). When the piracy is removed, drop :piracies from aqua_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