Skip to content

Commit 6e8ef9f

Browse files
authored
Force tracing of type to act as noop (#747)
1 parent 22ec225 commit 6e8ef9f

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/Tracing.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ Base.@nospecializeinfer function traced_type_inner(
492492

493493
# unknown number of fields
494494
if Base.inferencebarrier(T) isa UnionAll
495-
if T.var.lb === Union{} && T.var.ub === Any
495+
if T.var.lb === Union{} && T.var.ub === Any || T <: Type
496496
return UnionAll(
497497
T.var, traced_type_inner(T.body, seen, mode, track_numbers, sharding)
498498
)
@@ -502,7 +502,7 @@ Base.@nospecializeinfer function traced_type_inner(
502502
throw(TracedTypeError("Unhandled type $T"))
503503
end
504504
if isnothing(Base.datatype_fieldcount(aT))
505-
throw(TracedTypeError("Unhandled type $T"))
505+
throw(TracedTypeError("Unhandled type $T, aT=$aT"))
506506
end
507507
return T
508508
end
@@ -516,7 +516,7 @@ Base.@nospecializeinfer function traced_type_inner(
516516

517517
# if abstract it must be by reference
518518
if Base.isabstracttype(T)
519-
if !(T isa UnionAll) && length(T.parameters) == 0
519+
if !(T isa UnionAll) && length(T.parameters) == 0 || T <: Type
520520
return T
521521
end
522522
throw(TracedTypeError("Unhandled abstract type $T"))

0 commit comments

Comments
 (0)