From ee86a52851c7022b56ce32c1c679964b648f799a Mon Sep 17 00:00:00 2001 From: Romeo Valentin Date: Wed, 20 Aug 2025 17:20:26 +0200 Subject: [PATCH 1/2] Fix trimming error for `__init` This would perhaps have been caught by #665 but we're waiting on 1.12-rc2 and https://github.com/SciML/SciMLBase.jl/pull/1074 to land before this would be automatically checked. --- lib/NonlinearSolveFirstOrder/src/solve.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/NonlinearSolveFirstOrder/src/solve.jl b/lib/NonlinearSolveFirstOrder/src/solve.jl index 56cbaac7b..b0a7ce6b8 100644 --- a/lib/NonlinearSolveFirstOrder/src/solve.jl +++ b/lib/NonlinearSolveFirstOrder/src/solve.jl @@ -124,9 +124,9 @@ function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::GeneralizedFirstOrderAlgorithm, args...; stats = NLStats(0, 0, 0, 0, 0), alias_u0 = false, maxiters = 1000, abstol = nothing, reltol = nothing, maxtime = nothing, - termination_condition = nothing, internalnorm = L2_NORM, + termination_condition = nothing, internalnorm::F = L2_NORM, linsolve_kwargs = (;), initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... -) +) where {F} @set! alg.autodiff = NonlinearSolveBase.select_jacobian_autodiff(prob, alg.autodiff) provided_jvp_autodiff = alg.jvp_autodiff !== nothing @set! alg.jvp_autodiff = if !provided_jvp_autodiff && alg.autodiff !== nothing && From 75e813e63ceb9106e389bd3ed62d2786a1ab4459 Mon Sep 17 00:00:00 2001 From: Romeo Valentin Date: Wed, 20 Aug 2025 19:18:56 +0200 Subject: [PATCH 2/2] Fix additional `internalnorm` templating for trimming compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply consistent `internalnorm::IN` templating to PolyAlgorithm and GeneralizedFirstOrder __init functions to prevent trimming errors. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- lib/NonlinearSolveBase/src/polyalg.jl | 4 ++-- lib/NonlinearSolveFirstOrder/src/solve.jl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/NonlinearSolveBase/src/polyalg.jl b/lib/NonlinearSolveBase/src/polyalg.jl index 1a6e1cfae..cc07248ce 100644 --- a/lib/NonlinearSolveBase/src/polyalg.jl +++ b/lib/NonlinearSolveBase/src/polyalg.jl @@ -117,9 +117,9 @@ end function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::NonlinearSolvePolyAlgorithm, args...; stats = NLStats(0, 0, 0, 0, 0), maxtime = nothing, maxiters = 1000, - internalnorm = L2_NORM, alias_u0 = false, verbose = true, + internalnorm::IN = L2_NORM, alias_u0 = false, verbose = true, initializealg = NonlinearSolveDefaultInit(), kwargs... -) +) where {IN} if alias_u0 && !ArrayInterface.ismutable(prob.u0) verbose && @warn "`alias_u0` has been set to `true`, but `u0` is \ immutable (checked using `ArrayInterface.ismutable`)." diff --git a/lib/NonlinearSolveFirstOrder/src/solve.jl b/lib/NonlinearSolveFirstOrder/src/solve.jl index b0a7ce6b8..4c08cf63b 100644 --- a/lib/NonlinearSolveFirstOrder/src/solve.jl +++ b/lib/NonlinearSolveFirstOrder/src/solve.jl @@ -124,9 +124,9 @@ function SciMLBase.__init( prob::AbstractNonlinearProblem, alg::GeneralizedFirstOrderAlgorithm, args...; stats = NLStats(0, 0, 0, 0, 0), alias_u0 = false, maxiters = 1000, abstol = nothing, reltol = nothing, maxtime = nothing, - termination_condition = nothing, internalnorm::F = L2_NORM, + termination_condition = nothing, internalnorm::IN = L2_NORM, linsolve_kwargs = (;), initializealg = NonlinearSolveBase.NonlinearSolveDefaultInit(), kwargs... -) where {F} +) where {IN} @set! alg.autodiff = NonlinearSolveBase.select_jacobian_autodiff(prob, alg.autodiff) provided_jvp_autodiff = alg.jvp_autodiff !== nothing @set! alg.jvp_autodiff = if !provided_jvp_autodiff && alg.autodiff !== nothing &&