Skip to content

Commit e15234e

Browse files
committed
fix aliasing
1 parent a858b8a commit e15234e

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

lib/OrdinaryDiffEqCore/src/solve.jl

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -163,33 +163,32 @@ function DiffEqBase.__init(
163163
use_old_kwargs = haskey(kwargs,:alias_u0) || haskey(kwargs,:alias_du0)
164164

165165
if use_old_kwargs
166+
aliases = ODEAliasSpecifier()
166167
if haskey(kwargs, :alias_u0)
167168
Base.depwarn("alias_u0 keyword argument is deprecated, to set `alias_u0`,
168169
please use an ODEAliasSpecifier, e.g. `solve(prob, alias = ODEAliasSpecifier(alias_u0 = true))", :alias_u0)
169-
old_alias_u0 = values(kwargs).alias_u0
170+
@reset aliases.alias_u0 = values(kwargs).alias_u0
170171
else
171-
old_alias_u0 = false
172+
@reset aliases.alias_u0 = false
172173

173174
end
174175

175176
if haskey(kwargs, :alias_du0)
176177
Base.depwarn("alias_du0 keyword argument is deprecated, to set `alias_du0`,
177178
please use an ODEAliasSpecifier, e.g. `solve(prob, alias = ODEAliasSpecifier(alias_du0 = true))", :alias_du0)
178-
old_alias_du0 = values(kwargs).alias_du0
179+
@reset aliases.alias_du0 = values(kwargs).alias_du0
179180
else
180-
old_alias_du0 = false
181+
@reset aliases.alias_du0 = false
181182
end
182183

183-
aliases = ODEAliasSpecifier(alias_u0 = old_alias_u0, alias_du0 = old_alias_du0)
184+
aliases
184185

185186
else
186187
# If alias isa Bool, all fields of ODEAliases set to alias
187188
if alias isa Bool
188189
aliases = ODEAliasSpecifier(alias = alias)
189-
elseif alias isa ODEAliasSpecifier
190+
elseif alias isa ODEAliasSpecifier || isnothing(alias)
190191
aliases = alias
191-
else
192-
error("Keyword argument `alias` must be a `Bool` or `ODEAliasSpecifier`.")
193192
end
194193
end
195194

0 commit comments

Comments
 (0)