From 7d08e3acb859665ff518b9e10fdcc45200eb5333 Mon Sep 17 00:00:00 2001 From: jClugstor Date: Tue, 7 Jul 2026 12:14:53 -0400 Subject: [PATCH 1/2] remove copying branch for alias_f --- lib/OrdinaryDiffEqCore/src/solve.jl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/OrdinaryDiffEqCore/src/solve.jl b/lib/OrdinaryDiffEqCore/src/solve.jl index e1240f747e6..7a3686e0fcf 100644 --- a/lib/OrdinaryDiffEqCore/src/solve.jl +++ b/lib/OrdinaryDiffEqCore/src/solve.jl @@ -260,11 +260,9 @@ Base.@constprop :aggressive function _ode_init( throw(ArgumentError("alias kwarg must be an ODEAliasSpecifier")) end - if isnothing(alias.alias_f) || alias.alias_f - f = prob.f - else - f = deepcopy(prob.f) - end + # Aliasing `f` is safe (solver scratch lives in the cache), so `alias_f = false` + # needs no copy. Branch-free keeps this `--trim`-safe (deepcopy blocks trimming). + f = prob.f if isnothing(alias.alias_p) || alias.alias_p p = prob.p From a16c29bb089ed84a7d4477f1e060aef530458875 Mon Sep 17 00:00:00 2001 From: jClugstor Date: Tue, 7 Jul 2026 12:20:12 -0400 Subject: [PATCH 2/2] remove comment --- lib/OrdinaryDiffEqCore/src/solve.jl | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/OrdinaryDiffEqCore/src/solve.jl b/lib/OrdinaryDiffEqCore/src/solve.jl index 7a3686e0fcf..ae5302a7afb 100644 --- a/lib/OrdinaryDiffEqCore/src/solve.jl +++ b/lib/OrdinaryDiffEqCore/src/solve.jl @@ -260,8 +260,6 @@ Base.@constprop :aggressive function _ode_init( throw(ArgumentError("alias kwarg must be an ODEAliasSpecifier")) end - # Aliasing `f` is safe (solver scratch lives in the cache), so `alias_f = false` - # needs no copy. Branch-free keeps this `--trim`-safe (deepcopy blocks trimming). f = prob.f if isnothing(alias.alias_p) || alias.alias_p