Skip to content

Commit 4db860b

Browse files
committed
Optimize update of lower and upper maps in replace
1 parent 9d96159 commit 4db860b

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

compiler/src/dotty/tools/dotc/core/OrderingConstraint.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -595,14 +595,17 @@ class OrderingConstraint(private val boundsMap: ParamBounds,
595595
adjustDeps(newEntry, entry, pref)
596596
newEntry
597597

598+
for lo <- lower(param) do
599+
current = upperLens.map(this, current, lo, removeParam)
600+
for hi <- upper(param) do
601+
current = lowerLens.map(this, current, hi, removeParam)
602+
598603
current.foreachParam { (p, i) =>
599604
current = boundsLens.map(this, current, p, i,
600605
entry =>
601606
val newEntry = replaceParam(entry, p, i)
602607
adjustDeps(newEntry, entry, p.paramRefs(i))
603608
newEntry)
604-
current = lowerLens.map(this, current, p, i, removeParam)
605-
current = upperLens.map(this, current, p, i, removeParam)
606609
}
607610
current.dropDeps(param)
608611
current.checkWellFormed()

0 commit comments

Comments
 (0)