@@ -1564,6 +1564,15 @@ end
15641564@test arraysize_tfunc (Vector, Float64) === Union{}
15651565@test arraysize_tfunc (String, Int) === Union{}
15661566
1567+ let tuple_tfunc
1568+ function tuple_tfunc (@nospecialize xs... )
1569+ return Core. Compiler. tuple_tfunc (Any[xs... ])
1570+ end
1571+ @test Core. Compiler. widenconst (tuple_tfunc (Type{Int})) === Tuple{DataType}
1572+ # https://github.com/JuliaLang/julia/issues/44705
1573+ @test tuple_tfunc (Union{Type{Int32},Type{Int64}}) === Tuple{Type}
1574+ end
1575+
15671576function f23024 (:: Type{T} , :: Int ) where T
15681577 1 + 1
15691578end
@@ -2084,7 +2093,7 @@ let M = Module()
20842093 obj = $ (Expr (:new , M. BePartialStruct, 42 , :cond ))
20852094 r1 = getfield (obj, :cond ) ? 0 : a # r1::Union{Nothing,Int}, not r1::Int (because PartialStruct doesn't wrap Conditional)
20862095 a = $ (gensym (:anyvar )):: Any
2087- r2 = getfield (obj, :cond ) ? a : nothing # r2::Any, not r2::Const(nothing) (we don't need to worry about constrait invalidation here)
2096+ r2 = getfield (obj, :cond ) ? a : nothing # r2::Any, not r2::Const(nothing) (we don't need to worry about constraint invalidation here)
20882097 return r1, r2 # ::Tuple{Union{Nothing,Int},Any}
20892098 end |> only
20902099 end
0 commit comments