Skip to content

Julia 1.9.0 freezes in subtyping #49857

@kpamnany

Description

@kpamnany
julia> versioninfo()
Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 12 × Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake)
  Threads: 1 on 12 virtual cores

Reproducer:

julia> x = Tuple{Type{Array{Union{Nothing, Bool, Char, Float16, Float32, Float64, Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8, Missing, Base.Regex, String, Symbol, Tuple, Base.Rational{T} where T<:Integer}, 1}}, UndefInitializer, Tuple{Int64}}
Tuple{Type{Vector{Union{Missing, Nothing, Bool, Char, Float16, Float32, Float64, Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8, Regex, String, Symbol, Tuple, Rational}}}, UndefInitializer, Tuple{Int64}}

julia> y = Tuple{Type{Array{T, N} where N}, UndefInitializer, Tuple{Vararg{Integer, N}}} where N where T
Tuple{Type{Array{T}}, UndefInitializer, Tuple{Vararg{Integer, N}}} where {T, N}

julia> x <: y  # freezes

This worked on 1.8 and is also fixed on master.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions