@@ -1055,4 +1055,46 @@ end
1055
1055
@test ! isassigned (v, 1 , 2 ) # inbounds but not assigned
1056
1056
@test ! isassigned (v, 3 , 3 ) # out-of-bounds
1057
1057
end
1058
+
1059
+ @testset " _unsetindex!" begin
1060
+ function test_unsetindex (A, B)
1061
+ copyto! (A, B)
1062
+ for i in eachindex (A)
1063
+ @test ! isassigned (A, i)
1064
+ end
1065
+ end
1066
+ @testset " dest IndexLinear, src IndexLinear" begin
1067
+ for p in (fill (BigInt (2 )), BigInt[1 , 2 ], BigInt[1 2 ; 3 4 ])
1068
+ A = view (copy (p), ntuple (_-> :, ndims (p))... )
1069
+ B = view (similar (A), ntuple (_-> :, ndims (p))... )
1070
+ test_unsetindex (A, B)
1071
+ test_unsetindex (p, B)
1072
+ end
1073
+ end
1074
+
1075
+ @testset " dest IndexLinear, src IndexCartesian" begin
1076
+ for p in (fill (BigInt (2 )), BigInt[1 , 2 ], BigInt[1 2 ; 3 4 ])
1077
+ A = view (copy (p), ntuple (_-> :, ndims (p))... )
1078
+ B = view (similar (A), axes (A)... )
1079
+ test_unsetindex (A, B)
1080
+ test_unsetindex (p, B)
1081
+ end
1082
+ end
1083
+
1084
+ @testset " dest IndexCartesian, src IndexLinear" begin
1085
+ for p in (fill (BigInt (2 )), BigInt[1 , 2 ], BigInt[1 2 ; 3 4 ])
1086
+ A = view (p, axes (p)... )
1087
+ B = similar (A)
1088
+ test_unsetindex (A, B)
1089
+ end
1090
+ end
1091
+
1092
+ @testset " dest IndexCartesian, src IndexCartesian" begin
1093
+ for p in (fill (BigInt (2 )), BigInt[1 , 2 ], BigInt[1 2 ; 3 4 ])
1094
+ A = view (p, axes (p)... )
1095
+ B = view (similar (A), axes (A)... )
1096
+ test_unsetindex (A, B)
1097
+ end
1098
+ end
1099
+ end
1058
1100
end
0 commit comments