Skip to content

Commit 0fba580

Browse files
committed
fix some of StaticArrays invalidating Revise
1 parent 5cd1e3e commit 0fba580

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

base/array.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,9 @@ oneunit(x::AbstractMatrix{T}) where {T} = _one(oneunit(T), x)
529529

530530
## Conversions ##
531531

532-
convert(::Type{T}, a::AbstractArray) where {T<:Array} = a isa T ? a : T(a)
532+
convert(::Type{Array}, a::AbstractArray) = a isa Array ? a : Array(a)
533+
convert(::Type{Array{T}}, a::AbstractArray) where {T} = a isa Array{T} ? a : Array{T}(a)
534+
convert(::Type{Array{T, N}}, a::AbstractArray) where {T, N} = a isa Array{T, N} ? a : Array{T, N}(a)
533535

534536
promote_rule(a::Type{Array{T,n}}, b::Type{Array{S,n}}) where {T,n,S} = el_same(promote_type(T,S), a, b)
535537

base/bitarray.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,8 @@ julia> BitArray(x+y == 3 for x = 1:2 for y = 1:3)
574574
BitArray(itr) = gen_bitarray(IteratorSize(itr), itr)
575575
BitArray{N}(itr) where N = gen_bitarrayN(BitArray{N}, IteratorSize(itr), itr)
576576

577-
convert(T::Type{<:BitArray}, a::AbstractArray) = a isa T ? a : T(a)
577+
convert(::Type{BitArray}, a::AbstractArray) = a isa BitArray ? a : BitArray(a)
578+
convert(::Type{BitArray{N}}, a::AbstractArray) where {N} = a isa BitArray{N} ? a : BitArray{N}(a)
578579

579580
# generic constructor from an iterable without compile-time info
580581
# (we pass start(itr) explicitly to avoid a type-instability with filters)

base/namedtuple.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@ NamedTuple{names}(itr) where {names} = NamedTuple{names}(Tuple(itr))
112112

113113
NamedTuple(itr) = (; itr...)
114114

115+
# avoids invalidating Union{}(...)
116+
NamedTuple{names, Union{}}(itr::Tuple) where {names} = throw(MethodError(NamedTuple{names, Union{}}, (itr,)))
117+
115118
end # if Base
116119

117120
length(t::NamedTuple) = nfields(t)

0 commit comments

Comments
 (0)