From 53cd235eacb53c3c15d9c6dbf965f708ea7fdc0d Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Wed, 26 Sep 2012 16:35:05 +0200 Subject: Don't call `updateInfo` during typing. We resort to `setInfo`, basically removing the previous info. This "fixes" a possible race condition in typing ModuleDefs by making the typer always 'win'. See the assertion stack trace in SI-6429. --- src/reflect/scala/reflect/internal/Symbols.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala index a0e28bf735..a2632fdd4a 100644 --- a/src/reflect/scala/reflect/internal/Symbols.scala +++ b/src/reflect/scala/reflect/internal/Symbols.scala @@ -1469,7 +1469,7 @@ trait Symbols extends api.Symbols { self: SymbolTable => def makeSerializable() { info match { case ci @ ClassInfoType(_, _, _) => - updateInfo(ci.copy(parents = ci.parents :+ SerializableClass.tpe)) + setInfo(ci.copy(parents = ci.parents :+ SerializableClass.tpe)) case i => abort("Only ClassInfoTypes can be made serializable: "+ i) } -- cgit v1.2.3