@@ -447,9 +447,10 @@ done(a::Array,i) = (@_inline_meta; i == length(a)+1)
447
447
448
448
# # Indexing: getindex ##
449
449
450
- # This is more complicated than it needs to be in order to get Win64 through bootstrap
451
450
getindex (A:: Array , i1:: Int ) = arrayref (A, i1)
452
- getindex (A:: Array , i1:: Int , i2:: Int , I:: Int... ) = (@_inline_meta ; arrayref (A, i1, i2, I... )) # TODO : REMOVE FOR #14770
451
+ getindex {T} (A:: Array{T,1} , i1:: Int ) = arrayref (A, i1)
452
+ getindex {T,N} (A:: Array{T,N} , I:: Vararg{Int,N} ) = (@_inline_meta ; arrayref (A, I... ))
453
+ getindex {T} (A:: Array{T,0} ) = (@_inline_meta ; arrayref (A, 1 ))
453
454
454
455
# Faster contiguous indexing using copy! for UnitRange and Colon
455
456
function getindex (A:: Array , I:: UnitRange{Int} )
@@ -477,8 +478,15 @@ function getindex{S}(A::Array{S}, I::Range{Int})
477
478
end
478
479
479
480
# # Indexing: setindex! ##
480
- setindex! {T} (A:: Array{T} , x, i1:: Int ) = arrayset (A, convert (T,x):: T , i1)
481
- setindex! {T} (A:: Array{T} , x, i1:: Int , i2:: Int , I:: Int... ) = (@_inline_meta ; arrayset (A, convert (T,x):: T , i1, i2, I... )) # TODO : REMOVE FOR #14770
481
+ setindex! {T} (A:: Array{T} , x, i:: Int ) = arrayset (A, convert (T,x):: T , i)
482
+ setindex! {T} (A:: Array{T,1} , x, i:: Int ) = arrayset (A, convert (T,x):: T , i)
483
+ setindex! {T,N} (A:: Array{T,N} , x, I:: Vararg{Int,N} ) = (@_inline_meta ; arrayset (A, convert (T,x):: T , I... ))
484
+ setindex! {T} (A:: Array{T,0} , x) = (@_inline_meta ; arrayset (A, convert (T,x):: T , 1 ))
485
+
486
+ # These are needed for ambiguity with a method in essentials.jl for bootstrap
487
+ setindex! (A:: Array{Any,1} , x:: ANY , i:: Int ) = arrayset (A, x, i)
488
+ setindex! (A:: Array{Any,0} , x:: ANY ) = arrayset (A, x, 1 )
489
+ setindex! {N} (A:: Array{Any,N} , x:: ANY , I:: Vararg{Int,N} ) = arrayset (A, x, I... )
482
490
483
491
# These are redundant with the abstract fallbacks but needed for bootstrap
484
492
function setindex! (A:: Array , x, I:: AbstractVector{Int} )
@@ -525,7 +533,8 @@ function setindex!{T}(A::Array{T}, X::Array{T}, c::Colon)
525
533
end
526
534
527
535
setindex! (A:: Array , x:: Number , :: Colon ) = fill! (A, x)
528
- setindex! {T, N} (A:: Array{T, N} , x:: Number , :: Vararg{Colon, N} ) = fill! (A, x)
536
+ # This causes a ton of ambiguities
537
+ # setindex!{T, N}(A::Array{T, N}, x::Number, ::Vararg{Colon, N}) = fill!(A, x)
529
538
530
539
# efficiently grow an array
531
540
0 commit comments