diff --git a/lib/ModelingToolkitTearing/Project.toml b/lib/ModelingToolkitTearing/Project.toml index 675de68..1522c58 100644 --- a/lib/ModelingToolkitTearing/Project.toml +++ b/lib/ModelingToolkitTearing/Project.toml @@ -1,6 +1,6 @@ name = "ModelingToolkitTearing" uuid = "6bb917b9-1269-42b9-9f7c-b0dca72083ab" -version = "1.20.5" +version = "1.20.6" authors = ["Aayush Sabharwal "] [deps] diff --git a/lib/ModelingToolkitTearing/src/tearingstate.jl b/lib/ModelingToolkitTearing/src/tearingstate.jl index 7fcf295..1f44b43 100644 --- a/lib/ModelingToolkitTearing/src/tearingstate.jl +++ b/lib/ModelingToolkitTearing/src/tearingstate.jl @@ -913,6 +913,12 @@ function collect_vars_to_set!(buffer::Set{SymbolicT}, vars::Vector{SymbolicT}) BSImpl.Term(; f, args) && if f === getindex end => push!(buffer, args[1]) _ => nothing end + if Symbolics.issymstruct(x) #symstruct case + for leaf in collect(Symbolics.SymStruct{SU.symtype(x)}(x))::Vector{SymbolicT} + push!(buffer, leaf) + end + continue + end sh = SU.shape(x) sh isa SU.Unknown && continue sh = sh::SU.ShapeVecT