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)
467
467
end
468
468
return false
469
469
end
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