@@ -175,7 +175,7 @@ function combine_nameddimsarraytype(
175
175
end
176
176
combine_nameddimsarraytype (:: Type{T} , :: Type{T} ) where {T<: AbstractNamedDimsArray } = T
177
177
178
- using Base. Broadcast: Broadcasted, Style
178
+ using Base. Broadcast: AbstractArrayStyle, Broadcasted, Style
179
179
180
180
struct NaiveOrderedSet{Values}
181
181
values:: Values
@@ -188,10 +188,15 @@ Base.keys(s::NaiveOrderedSet) = Base.OneTo(length(s))
188
188
Base.:(== )(s1:: NaiveOrderedSet , s2:: NaiveOrderedSet ) = issetequal (values (s1), values (s2))
189
189
Base. iterate (s:: NaiveOrderedSet , args... ) = iterate (values (s), args... )
190
190
Base. 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]
191
193
Base. get (s:: NaiveOrderedSet , I:: Integer , default) = get (values (s), I, default)
192
194
Base. invperm (s:: NaiveOrderedSet ) = NaiveOrderedSet (invperm (values (s)))
193
195
Base. Broadcast. _axes (:: Broadcasted , axes:: NaiveOrderedSet ) = axes
194
196
Base. 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
195
200
Base. Broadcast. broadcastable (s:: NaiveOrderedSet ) = s
196
201
Base. to_shape (s:: NaiveOrderedSet ) = s
197
202
0 commit comments