Skip to content

Commit 09f88ae

Browse files
committed
Avoid computing closure bodies twice
This lets us revert the hack to make recheckTyped work with skolems
1 parent fb6cc9b commit 09f88ae

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

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

+6-1
Original file line numberDiff line numberDiff line change
@@ -949,7 +949,12 @@ class CheckCaptures extends Recheck, SymTransformer:
949949
// TODO follow up on this
950950
try
951951
matchParams(mdef.paramss, pt)
952-
recheckDef(mdef, mdef.symbol)
952+
capt.println(i"recheck closure block $mdef: ${mdef.symbol.infoOrCompleter}")
953+
if !mdef.symbol.isCompleted then
954+
mdef.symbol.ensureCompleted() // this will recheck def
955+
else
956+
recheckDef(mdef, mdef.symbol)
957+
953958
recheckClosure(expr, pt, forceDependent = true)
954959
finally
955960
openClosures = openClosures.tail

0 commit comments

Comments
 (0)