diff options
author | Martin Odersky <odersky@gmail.com> | 2015-11-08 17:45:33 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-11-09 15:45:40 +0100 |
commit | 820bd7ec55bc8ef621204dc82f56a80e2d2459f0 (patch) | |
tree | 84b5f8e1e68b61a4d66f70edb12b9750ecb81c13 /src/dotty/tools/dotc/core/Types.scala | |
parent | 27e65efdf56f7fc9968d3a9ee63022aa9dc34a24 (diff) | |
download | dotty-820bd7ec55bc8ef621204dc82f56a80e2d2459f0.tar.gz dotty-820bd7ec55bc8ef621204dc82f56a80e2d2459f0.tar.bz2 dotty-820bd7ec55bc8ef621204dc82f56a80e2d2459f0.zip |
Avoid taking references before toplevel symbols are entered.
Taking a reference means that the symbol will be brought forward into the current run,
then if the same symbol is entered from source, a datarace ensues.
This affected the ProductN symbols because these are automatically added to a case class
suring desugaring.
Diffstat (limited to 'src/dotty/tools/dotc/core/Types.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Types.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala index 4cae047a9..2c310aea4 100644 --- a/src/dotty/tools/dotc/core/Types.scala +++ b/src/dotty/tools/dotc/core/Types.scala @@ -1387,7 +1387,7 @@ object Types { (lastSymbol.infoOrCompleter == ErrorType || sym.owner.derivesFrom(lastSymbol.owner) && sym.owner != lastSymbol.owner ), - s"data race? overwriting symbol of ${this.show} / $this / ${this.getClass} / ${lastSymbol.id} / ${sym.id} / ${sym.owner} / ${lastSymbol.owner} / ${ctx.phase}") + s"data race? overwriting symbol of ${this.show} / $this / ${this.getClass} / ${lastSymbol.id} / ${sym.id} / ${sym.owner} / ${lastSymbol.owner} / ${ctx.phase} at run ${ctx.runId}") protected def sig: Signature = Signature.NotAMethod |