aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Types.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/core/Types.scala')
-rw-r--r--src/dotty/tools/dotc/core/Types.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala
index 8ec5c7295..50c729df1 100644
--- a/src/dotty/tools/dotc/core/Types.scala
+++ b/src/dotty/tools/dotc/core/Types.scala
@@ -1149,7 +1149,11 @@ object Types {
(lastSymbol eq null) ||
(lastSymbol.defRunId != sym.defRunId) ||
(lastSymbol.defRunId == NoRunId) ||
- (lastSymbol.infoOrCompleter == ErrorType),
+ (lastSymbol.infoOrCompleter == ErrorType ||
+ defn.overriddenBySynthetic.contains(lastSymbol)
+ // for overriddenBySynthetic symbols a TermRef such as SomeCaseClass.this.hashCode
+ // might be rewritten from Object#hashCode to the hashCode generated at SyntheticMethods
+ ),
s"data race? overwriting symbol of $this / ${this.getClass} / ${lastSymbol.id} / ${sym.id}")
protected def sig: Signature = Signature.NotAMethod