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))
727
727
end
728
728
end
729
729
s = typeof (sv)
730
- elseif isa (s, PartialStruct)
730
+ elseif isa (s00, PartialStruct)
731
+ s01 = widenconst (s00)
732
+ s = unwrap_unionall (s01):: DataType
731
733
if isa (name, Const)
732
734
nv = name. val
733
735
if isa (nv, Symbol)
734
- nv = fieldindex (widenconst (s) , nv, false )
736
+ nv = fieldindex (s , nv, false )
735
737
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
738
742
end
739
743
end
740
- s = widenconst (s)
744
+ s00 = s01
741
745
end
742
746
if isType (s) || ! isa (s, DataType) || s. abstract
743
747
return Any
You can’t perform that action at this time.
0 commit comments