Skip to content

Commit 6c0ca6a

Browse files
refactor: improve type-stability of shift2term
Now infers `::SymbolicT`
1 parent 1483011 commit 6c0ca6a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/ModelingToolkitBase/src/variables.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ function shift2term(var::SymbolicT)
288288
newargs = copy(parent(args))
289289
newargs[1] = shift2term(op(newargs[1]))
290290
unshifted_args = copy(newargs)
291-
unshifted_args[1] = ModelingToolkitBase.getunshifted(newargs[1])
291+
unshifted_args[1] = ModelingToolkitBase.getunshifted(newargs[1])::SymbolicT
292292
unshifted = BSImpl.Term{VartypeT}(getindex, unshifted_args; type, shape, metadata)
293293
if metadata === nothing
294294
metadata = Base.ImmutableDict{DataType, Any}(VariableUnshifted, unshifted)
@@ -302,7 +302,7 @@ function shift2term(var::SymbolicT)
302302
unshifted = ModelingToolkitBase.getunshifted(arg)
303303
is_lowered = unshifted !== nothing
304304
backshift = op.steps + ModelingToolkitBase.getshift(arg)
305-
iszero(backshift) && return unshifted
305+
iszero(backshift) && return unshifted::SymbolicT
306306
io = IOBuffer()
307307
O = (is_lowered ? unshifted : arg)::SymbolicT
308308
write(io, getname(O))

0 commit comments

Comments
 (0)