|
34 | 34 | @test @inferred(setindex(v1, 5.0, 2)) == @SVector [1., 5., 3.]
|
35 | 35 | @test_throws BoundsError setindex(v1, 5.0, 0)
|
36 | 36 | @test_throws BoundsError setindex(v1, 5.0, 4)
|
| 37 | + @test @inferred(setindex(v1, 5, CartesianIndex(2))) == setindex(v1, 5, 2) |
| 38 | + @test @inferred(setindex(v1, 5.0, CartesianIndex(2))) == setindex(v1, 5.0, 2) |
| 39 | + @test_throws BoundsError setindex(v1, 5.0, CartesianIndex(0)) |
| 40 | + @test_throws BoundsError setindex(v1, 5.0, CartesianIndex(4)) |
37 | 41 |
|
38 | 42 | v2 = @SMatrix [1 2; 3 4]
|
39 | 43 | @test @inferred(setindex(v2, 7, 1)) == @SMatrix [7 2; 3 4]
|
|
46 | 50 | @test @inferred(setindex(v2, 7, 2, 2)) == @SMatrix [1 2; 3 7]
|
47 | 51 | @test_throws BoundsError setindex(v2, 7, 0)
|
48 | 52 | @test_throws BoundsError setindex(v2, 7, 5)
|
| 53 | + @test @inferred(setindex(v2, 7, CartesianIndex(1, 1))) == setindex(v2, 7, 1, 1) |
| 54 | + @test @inferred(setindex(v2, 7, CartesianIndex(2, 1))) == setindex(v2, 7, 2, 1) |
| 55 | + @test @inferred(setindex(v2, 7, CartesianIndex(1, 2))) == setindex(v2, 7, 1, 2) |
| 56 | + @test @inferred(setindex(v2, 7, CartesianIndex(2, 2))) == setindex(v2, 7, 2, 2) |
49 | 57 |
|
50 | 58 | v3 = @SArray ones(2, 2, 2)
|
51 | 59 | @test @inferred(setindex(v3, 7, 2, 1, 2)) == reshape([1, 1, 1, 1, 1, 7, 1, 1], (2, 2, 2))
|
52 | 60 | @test_throws BoundsError setindex(v3, 7, 0)
|
53 | 61 | @test_throws BoundsError setindex(v3, 7, 9)
|
| 62 | + @test @inferred(setindex(v3, 7, CartesianIndex(2, 1, 2))) == setindex(v3, 7, 2, 1, 2) |
54 | 63 |
|
55 | 64 | # TODO: still missing proper multidimensional bounds checking
|
56 | 65 | # These should throw BoundsError, but don't
|
|
0 commit comments