@@ -68,6 +68,8 @@ using Test: @test, @test_throws, @testset
6868 @test dims (na, (" j" , " i" )) == (2 , 1 )
6969 @test na[1 , 1 ] == a[1 , 1 ]
7070
71+ a = randn (elt, 3 , 4 )
72+ na = nameddimsarray (a, (" i" , " j" ))
7173 for na′ in (
7274 similar (na, Float32, (j, i)),
7375 similar (na, Float32, NaiveOrderedSet ((j, i))),
@@ -83,6 +85,8 @@ using Test: @test, @test_throws, @testset
8385 @test na′ ≠ na
8486 end
8587
88+ a = randn (elt, 3 , 4 )
89+ na = nameddimsarray (a, (" i" , " j" ))
8690 for na′ in (
8791 similar (na, (j, i)),
8892 similar (na, NaiveOrderedSet ((j, i))),
@@ -114,8 +118,19 @@ using Test: @test, @test_throws, @testset
114118 @test size (na, i) == si
115119 @test size (na, j) == sj
116120
121+ # Regression test for ambiguity error with
122+ # `Base.getindex(A::Array, I::AbstractUnitRange{<:Integer})`.
123+ i = namedoneto (2 , " i" )
124+ a = randn (elt, 2 )
125+ na = a[i]
126+ @test na isa NamedDimsArray{elt}
127+ @test dimnames (na) == (" i" ,)
128+ @test dename (na) == a
129+
117130 # aliasing
118- a′ = randn (2 , 2 )
131+ a′ = randn (elt, 2 , 2 )
132+ i = Name (" i" )
133+ j = Name (" j" )
119134 a′ij = @view a′[i, j]
120135 a′ij[i[1 ], j[2 ]] = 12
121136 @test a′ij[i[1 ], j[2 ]] == 12
@@ -126,7 +141,9 @@ using Test: @test, @test_throws, @testset
126141 @test a′ij[i[2 ], j[1 ]] == 21
127142 @test a′[2 , 1 ] == 21
128143
129- a′ = randn (2 , 2 )
144+ a′ = randn (elt, 2 , 2 )
145+ i = Name (" i" )
146+ j = Name (" j" )
130147 a′ij = a′[i, j]
131148 a′ij[i[1 ], j[2 ]] = 12
132149 @test a′ij[i[1 ], j[2 ]] == 12
@@ -137,6 +154,8 @@ using Test: @test, @test_throws, @testset
137154 @test a′ij[i[2 ], j[1 ]] ≠ 21
138155 @test a′[2 , 1 ] ≠ 21
139156
157+ a = randn (elt, 3 , 4 )
158+ na = nameddimsarray (a, (" i" , " j" ))
140159 a′ = dename (na)
141160 @test a′ isa Matrix{elt}
142161 @test a′ == a
0 commit comments