# Trouble using ArrayPartition and StaticArrays

**URL:** <https://discourse.julialang.org/t/trouble-using-arraypartition-and-staticarrays/17529>\
**Category:** General Usage\
**Tags:** array\
**Created:** [November 14, 2018, 8:50pm UTC](https://discourse.julialang.org/t/trouble-using-arraypartition-and-staticarrays/17529 "2018-11-14T20:50:35Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![danielmatz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/danielmatz/32/2285_2.png) [@danielmatz](https://discourse.julialang.org/u/danielmatz)\
**Post date:** [November 14, 2018, 8:50pm UTC](https://discourse.julialang.org/t/trouble-using-arraypartition-and-staticarrays/17529/1 "2018-11-14T20:50:35Z")

</div>

I’ve been using `ArrayPartition` (from RecursiveArrayTools.jl) and StaticArrays. I’m not sure if this is an expected use case, but I end up with nested `ArrayPartition`s. When I then do operations on that array, the shapes of the underlying arrays are changed. Here’s an example:

```julia
julia> x = ArrayPartition(ArrayPartition(@SMatrix [1.1 1.2; 1.3 1.4]), SVector(1.2))
([1.1 1.2; 1.3 1.4], [1.2])

julia> y = 1.1 * x
([1.21, 1.43, 1.32, 1.54], [1.32])

julia> typeof(x.x[1])
ArrayPartition{Float64,Tuple{SArray{Tuple{2,2},Float64,2,4}}}

julia> typeof(y.x[1])
Array{Float64,1}

```

This change of the underlying shapes seems to then cause an error later on when I try to do a broadcasted operation with `x` and `y`:

```julia
ERROR: LoadError: conflicting broadcast rules defined
  Broadcast.BroadcastStyle(::RecursiveArrayTools.ArrayPartitionStyle{Base.Broadcast.ArrayConflict}, ::RecursiveArrayTools.ArrayPartitionStyle{Base.Broadcast.DefaultArrayStyle{1}}) = RecursiveArrayTools.ArrayPartitionStyle{Base.Broadcast.ArrayConflict}()
  Broadcast.BroadcastStyle(::RecursiveArrayTools.ArrayPartitionStyle{Base.Broadcast.DefaultArrayStyle{1}}, ::RecursiveArrayTools.ArrayPartitionStyle{Base.Broadcast.ArrayConflict}) = RecursiveArrayTools.ArrayPartitionStyle{Base.Broadcast.Unknown}()
One of these should be undefined (and thus return Broadcast.Unknown).

```

Am I just wrong to be nesting `ArrayPartition`s, or is this a bug?

Thank you!
