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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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