@@ -175,7 +175,7 @@ function combine_nameddimsarraytype(
175175end
176176combine_nameddimsarraytype (:: Type{T} , :: Type{T} ) where {T<: AbstractNamedDimsArray } = T
177177
178- using Base. Broadcast: Broadcasted, Style
178+ using Base. Broadcast: AbstractArrayStyle, Broadcasted, Style
179179
180180struct NaiveOrderedSet{Values}
181181 values:: Values
@@ -188,10 +188,15 @@ Base.keys(s::NaiveOrderedSet) = Base.OneTo(length(s))
188188Base.:(== )(s1:: NaiveOrderedSet , s2:: NaiveOrderedSet ) = issetequal (values (s1), values (s2))
189189Base. iterate (s:: NaiveOrderedSet , args... ) = iterate (values (s), args... )
190190Base. getindex (s:: NaiveOrderedSet , I:: Int ) = values (s)[I]
191+ # TODO : Required in Julia 1.10, delete when we drop support for that.
192+ Base. getindex (s:: NaiveOrderedSet , I:: CartesianIndex{1} ) = values (s)[I]
191193Base. get (s:: NaiveOrderedSet , I:: Integer , default) = get (values (s), I, default)
192194Base. invperm (s:: NaiveOrderedSet ) = NaiveOrderedSet (invperm (values (s)))
193195Base. Broadcast. _axes (:: Broadcasted , axes:: NaiveOrderedSet ) = axes
194196Base. Broadcast. BroadcastStyle (:: Type{<:NaiveOrderedSet} ) = Style {NaiveOrderedSet} ()
197+ Base. Broadcast. BroadcastStyle (:: Style{Tuple} , :: Style{NaiveOrderedSet} ) = Style {Tuple} ()
198+ Base. Broadcast. BroadcastStyle (s1:: AbstractArrayStyle{0} , s2:: Style{NaiveOrderedSet} ) = s2
199+ Base. Broadcast. BroadcastStyle (s1:: AbstractArrayStyle , s2:: Style{NaiveOrderedSet} ) = s1
195200Base. Broadcast. broadcastable (s:: NaiveOrderedSet ) = s
196201Base. to_shape (s:: NaiveOrderedSet ) = s
197202
0 commit comments