Skip to content

Commit 4ee38a9

Browse files
committed
Compute upper approximation of bimapped sets from both sides
1 parent 76d9d58 commit 4ee38a9

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

compiler/src/dotty/tools/dotc/cc/CaptureSet.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,9 @@ object CaptureSet:
393393
else r
394394

395395
override def computeApprox(origin: CaptureSet)(using Context): CaptureSet =
396-
if source eq origin then super.computeApprox(this).map(bimap.inverseTypeMap)
397-
else source.upperApprox(this).map(bimap)
396+
val supApprox = super.computeApprox(this)
397+
if source eq origin then supApprox.map(bimap.inverseTypeMap)
398+
else source.upperApprox(this).map(bimap) ** supApprox
398399

399400
override def toString = s"BiMapped$id($source, elems = $elems)"
400401
end BiMapped

0 commit comments

Comments
 (0)