Hi, I am trying to implement from scratch some 3D multibody dynamics with ModelingToolkit.jl. When I define my connector (Frame) using arrays:
using ModelingToolkit
using LinearAlgebra
using ModelingToolkit: t_nounits as t, D_nounits as D
@connector Frame begin
    r(t)[1:3]
    q(t)[1:4]
    f(t)[1:3], [connect=Flow]
    τ(t)[1:3], [connect=Flow]
end
@named f = Frame()
I get the following error:
ERROR: MethodError: no method matching CartesianIndices(::Tuple{SubArray{Any, 1, Vector{Any}, Tuple{UnitRange{Int64}}, true}})
The type `CartesianIndices` exists, but no method is defined for this combination of argument types when trying to construct it.
Closest candidates are:
  CartesianIndices(::Tuple{})
   @ Base multidimensional.jl:271
  CartesianIndices(::RecursiveArrayTools.AbstractVectorOfArray)
   @ RecursiveArrayTools C:\Users\francesco capolupo\.julia\packages\RecursiveArrayTools\DX3HL\src\vector_of_array.jl:684       
  CartesianIndices(::AbstractArray)
   @ Base multidimensional.jl:281
  ...
Stacktrace:
 [1] eachindex(A::Symbolics.Arr{Num, 1})
   @ Symbolics C:\Users\francesco capolupo\.julia\packages\Symbolics\YbNrd\src\arrays.jl:589
 [2] iterate(A::Symbolics.Arr{Num, 1})
   @ Base .\abstractarray.jl:1207
 [3]
   @ Main .\none:0
 [4] __Frame__
   @ .\none:0 [inlined]
 [5] #_#441
   @ C:\Users\francesco capolupo\.julia\packages\ModelingToolkit\0O7FS\src\systems\model_parsing.jl:25 [inlined]
 [6] top-level scope
   @ C:\Users\francesco capolupo\.julia\packages\ModelingToolkit\0O7FS\src\systems\abstractsystem.jl:2113
Some type information was truncated. Use `show(err)` to see complete types.
Everything works fine if, instead of using arrays, I use scalar components:
@connector Frame2 begin
    x(t)
    y(t)
    z(t)
    qs(t)
    qx(t)
    qy(t)
    qz(t)
    fx(t), [connect=Flow]
    fy(t), [connect=Flow]
    fz(t), [connect=Flow]
    τx(t), [connect=Flow]
    τy(t), [connect=Flow]
    τz(t), [connect=Flow]
end
@named f2 = Frame2()
┌ Warning: f2 contains 6 flow variables, yet 7 regular (non-flow, non-stream, non-input, non-output) variables. This could lead to imbalanced model that are difficult to debug. Consider marking some of the regular variables as input/output variables.      
└ @ ModelingToolkit C:\Users\francesco capolupo\.julia\packages\ModelingToolkit\0O7FS\src\systems\connectors.jl:54
Model f2:
Equations (13):
  13 connecting: see equations(expand_connections(f2))
Unknowns (13): see unknowns(f2)
  x(t)
  y(t)
  z(t)
  qs(t)
  qx(t)
  qy(t)
  ⋮
Am I doing something wrong with the arrays? Thanks!
