File tree Expand file tree Collapse file tree 1 file changed +0
-42
lines changed Expand file tree Collapse file tree 1 file changed +0
-42
lines changed Original file line number Diff line number Diff line change @@ -467,45 +467,3 @@ function stupdate1!(state::VarTable, change::StateUpdate)
467467 end
468468 return false
469469end
470-
471- # compute typeintersect over the extended inference lattice,
472- # as precisely as we can,
473- # where v is in the extended lattice, and t is a Type.
474- function tmeet (@nospecialize (v), @nospecialize (t))
475- if isa (v, Const)
476- if ! has_free_typevars (t) && ! isa (v. val, t)
477- return Bottom
478- end
479- return v
480- elseif isa (v, PartialStruct)
481- has_free_typevars (t) && return v
482- widev = widenconst (v)
483- if widev <: t
484- return v
485- end
486- ti = typeintersect (widev, t)
487- valid_as_lattice (ti) || return Bottom
488- @assert widev <: Tuple
489- new_fields = Vector {Any} (undef, length (v. fields))
490- for i = 1 : length (new_fields)
491- vfi = v. fields[i]
492- if isvarargtype (vfi)
493- new_fields[i] = vfi
494- else
495- new_fields[i] = tmeet (vfi, widenconst (getfield_tfunc (t, Const (i))))
496- if new_fields[i] === Bottom
497- return Bottom
498- end
499- end
500- end
501- return tuple_tfunc (new_fields)
502- elseif isa (v, Conditional)
503- if ! (Bool <: t )
504- return Bottom
505- end
506- return v
507- end
508- ti = typeintersect (widenconst (v), t)
509- valid_as_lattice (ti) || return Bottom
510- return ti
511- end
You can’t perform that action at this time.
0 commit comments