From 7c4a9ec39ad3c6302767442de34f53c28cc3bebb Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Mon, 20 Feb 2017 11:28:01 +0100 Subject: TempClassInfo#addSuspension: do not capture Context This capture did not cause any problem since we always called TempClassInfo#finalize with the same Context than we captured in `addSuspension`, but it's better to be explicit about these things. --- compiler/src/dotty/tools/dotc/core/Types.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'compiler/src/dotty/tools/dotc/core/Types.scala') diff --git a/compiler/src/dotty/tools/dotc/core/Types.scala b/compiler/src/dotty/tools/dotc/core/Types.scala index ae9122853..dafa3b3a8 100644 --- a/compiler/src/dotty/tools/dotc/core/Types.scala +++ b/compiler/src/dotty/tools/dotc/core/Types.scala @@ -3089,14 +3089,14 @@ object Types { * be no longer temporary. These actions will be performed once `cls` gets a real * ClassInfo. */ - private var suspensions: List[() => Unit] = Nil + private var suspensions: List[Context => Unit] = Nil - def addSuspension(suspension: () => Unit): Unit = suspensions ::= suspension + def addSuspension(suspension: Context => Unit): Unit = suspensions ::= suspension /** Install classinfo with known parents in `denot` and resume all suspensions */ def finalize(denot: SymDenotation, parents: List[TypeRef])(implicit ctx: Context) = { denot.info = derivedClassInfo(classParents = parents) - suspensions.foreach(_()) + suspensions.foreach(_(ctx)) } } -- cgit v1.2.3