Skip to content

Commit 2d75aaa

Browse files
committed
Add assertions that all references in capture sets are trackable
1 parent 44e235c commit 2d75aaa

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ object CaptureSet:
388388

389389
def apply(elems: CaptureRef*)(using Context): CaptureSet.Const =
390390
if elems.isEmpty then empty
391-
else Const(SimpleIdentitySet(elems.map(_.normalizedRef)*))
391+
else Const(SimpleIdentitySet(elems.map(_.normalizedRef.ensuring(_.isTrackableRef))*))
392392

393393
def apply(elems: Refs)(using Context): CaptureSet.Const =
394394
if elems.isEmpty then empty else Const(elems)
@@ -496,6 +496,7 @@ object CaptureSet:
496496
CompareResult.LevelError(this, elem)
497497
else
498498
//if id == 34 then assert(!elem.isUniversalRootCapability)
499+
assert(elem.isTrackableRef, elem)
499500
elems += elem
500501
if elem.isRootCapability then
501502
rootAddedHandler()

0 commit comments

Comments
 (0)