Skip to content

Commit cff51dd

Browse files
ChrisRackauckas-ClaudeChrisRackauckasclaude
committed
Fix OptimizationMOI Aqua QA: allowed piracy + ReverseDiff compat
Two pre-existing Aqua failures in the OptimizationMOI QA suite: - Declare the SciMLBase solver-trait methods defined on the MathOptInterface optimizer types (`__init`, `allowsbounds`, `requiresgradient`, ...) as allowed via `piracies = (treat_as_own = [...],)`. These are an intentional interface extension, not piracy. - Add the missing `[compat]` bound for `ReverseDiff` (a test-only `[extras]` dependency), which Aqua's deps_compat check requires. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RtJAi7bALH5XkakjS6Yb6j
1 parent a3a7104 commit cff51dd

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

lib/OptimizationMOI/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ ModelingToolkitBase = "1"
3737
NLopt = "1"
3838
OptimizationBase = "5.1"
3939
Reexport = "1.2"
40+
ReverseDiff = "1"
4041
SciMLBase = "2.130, 3"
4142
SciMLStructures = "1"
4243
SparseArrays = "1.6"

lib/OptimizationMOI/test/qa/qa.jl

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,17 @@ using OptimizationMOI, Aqua, JET
22
using Test
33

44
@testset "Aqua" begin
5-
Aqua.test_all(OptimizationMOI)
5+
# OptimizationMOI deliberately extends SciMLBase's solver-trait interface onto the
6+
# MathOptInterface optimizer types, so those methods are intentional, not piracy.
7+
Aqua.test_all(
8+
OptimizationMOI;
9+
piracies = (
10+
treat_as_own = [
11+
OptimizationMOI.MOI.AbstractOptimizer,
12+
OptimizationMOI.MOI.OptimizerWithAttributes,
13+
],
14+
)
15+
)
616
end
717

818
@testset "JET static analysis" begin

0 commit comments

Comments
 (0)