@@ -1055,4 +1055,46 @@ end
10551055 @test ! isassigned (v, 1 , 2 ) # inbounds but not assigned
10561056 @test ! isassigned (v, 3 , 3 ) # out-of-bounds
10571057 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
10581100end
0 commit comments