this looks weird:
julia> Tuple isa UnionAll
false
is this a bug?
this looks weird:
julia> Tuple isa UnionAll
false
is this a bug?
I don’t think so, but it is difficult. I admit, that I don’t fully understand it so that I am able to explain it properly to somebody.
You may have a read at
https://docs.julialang.org/en/v1/devdocs/types/#Tuple-types-1
especially the text about
when
T
is free with respect to theTuple
type
this is the first in the following examples:
julia> isa(Tuple{Vararg{T}} where T,UnionAll)
true
julia> isa(Tuple{Vararg{T} where T},UnionAll)
false
well, everything isa Any
, now, according to the documentation,
A union of types over all values of a type parameter
thus,
julia> UnionAll |> supertype
Type{T}
julia> UnionAll |> supertype |> supertype
Any
julia> Tuple |> supertype
Any
I removed the unnecessary last line. It was too much copy paste. Anyways, the point is not about Any but UnionAll.