Would it be possible to make this not fall back to Array so you could more easily work with the result when slicing a subset of blocks?:
julia> c = ComponentVector(x=rand(2,2), y=rand(3), z=4);
julia> m = c * c';
julia> m[:x]
2×2×2×2 Array{Float64, 4}:
[:, :, 1, 1] = ...
Specifically I'm also interested in slicing multiple sub-blocks like m[[:x,:y]], although I'm imagining making the thing above work would be the first step. Thanks.
I don't think it's falling back. It's just that the m[:x, :x] block is a plain array. Just like c.x is a plain array. Or maybe I'm missing what you're saying?
Would it be possible to make this not fall back to Array so you could more easily work with the result when slicing a subset of blocks?:
Specifically I'm also interested in slicing multiple sub-blocks like
m[[:x,:y]]
, although I'm imagining making the thing above work would be the first step. Thanks.