From 9e476bffb278aa1f47cd4724c6140391e98e10a6 Mon Sep 17 00:00:00 2001 From: Shreyas-Ekanathan Date: Fri, 21 Aug 2026 16:03:03 -0400 Subject: [PATCH 1/3] collect symstruct vars in tearing --- lib/ModelingToolkitTearing/src/tearingstate.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/ModelingToolkitTearing/src/tearingstate.jl b/lib/ModelingToolkitTearing/src/tearingstate.jl index 7fcf295..89e8d4b 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)) + push!(buffer, leaf) + end + continue + end sh = SU.shape(x) sh isa SU.Unknown && continue sh = sh::SU.ShapeVecT From 422d827e584bcc83cb246e07932b8cf6a42c9dfa Mon Sep 17 00:00:00 2001 From: Shreyas-Ekanathan Date: Fri, 21 Aug 2026 16:15:03 -0400 Subject: [PATCH 2/3] bump --- lib/ModelingToolkitTearing/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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] From 43aea1a169b94973d4d16e856c83ffd6a381f933 Mon Sep 17 00:00:00 2001 From: Shreyas-Ekanathan Date: Sun, 30 Aug 2026 14:21:41 -0500 Subject: [PATCH 3/3] type check --- lib/ModelingToolkitTearing/src/tearingstate.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ModelingToolkitTearing/src/tearingstate.jl b/lib/ModelingToolkitTearing/src/tearingstate.jl index 89e8d4b..1f44b43 100644 --- a/lib/ModelingToolkitTearing/src/tearingstate.jl +++ b/lib/ModelingToolkitTearing/src/tearingstate.jl @@ -914,7 +914,7 @@ function collect_vars_to_set!(buffer::Set{SymbolicT}, vars::Vector{SymbolicT}) _ => nothing end if Symbolics.issymstruct(x) #symstruct case - for leaf in collect(Symbolics.SymStruct{SU.symtype(x)}(x)) + for leaf in collect(Symbolics.SymStruct{SU.symtype(x)}(x))::Vector{SymbolicT} push!(buffer, leaf) end continue