File tree Expand file tree Collapse file tree 1 file changed +9
-5
lines changed
Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -727,17 +727,21 @@ function getfield_tfunc(@nospecialize(s00), @nospecialize(name))
727727 end
728728 end
729729 s = typeof (sv)
730- elseif isa (s, PartialStruct)
730+ elseif isa (s00, PartialStruct)
731+ s01 = widenconst (s00)
732+ s = unwrap_unionall (s01):: DataType
731733 if isa (name, Const)
732734 nv = name. val
733735 if isa (nv, Symbol)
734- nv = fieldindex (widenconst (s) , nv, false )
736+ nv = fieldindex (s , nv, false )
735737 end
736- if isa (nv, Int) && 1 <= nv <= length (s. fields)
737- return s. fields[nv]
738+ if isa (nv, Int)
739+ if 1 <= nv <= length (s00. fields)
740+ return s00. fields[nv]
741+ end
738742 end
739743 end
740- s = widenconst (s)
744+ s00 = s01
741745 end
742746 if isType (s) || ! isa (s, DataType) || s. abstract
743747 return Any
You can’t perform that action at this time.
0 commit comments