aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/TypeErasure.scala
diff options
context:
space:
mode:
authorliu fengyun <liufengyunchina@gmail.com>2016-11-07 23:57:06 +0100
committerliu fengyun <liu@fengy.me>2016-11-24 13:36:05 +0100
commitabb9aa802789e6b43ff07c45281eedbb09512585 (patch)
treef0c74d053602dd64f0489780726ee9ef9a5fe4c2 /compiler/src/dotty/tools/dotc/core/TypeErasure.scala
parent8592af1c815c34078d89c08536addbe757550179 (diff)
downloaddotty-abb9aa802789e6b43ff07c45281eedbb09512585.tar.gz
dotty-abb9aa802789e6b43ff07c45281eedbb09512585.tar.bz2
dotty-abb9aa802789e6b43ff07c45281eedbb09512585.zip
fix #1642: disallow value classe wrapping value class
Diffstat (limited to 'compiler/src/dotty/tools/dotc/core/TypeErasure.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/core/TypeErasure.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/src/dotty/tools/dotc/core/TypeErasure.scala b/compiler/src/dotty/tools/dotc/core/TypeErasure.scala
index abbacee49..28dbed8f6 100644
--- a/compiler/src/dotty/tools/dotc/core/TypeErasure.scala
+++ b/compiler/src/dotty/tools/dotc/core/TypeErasure.scala
@@ -427,7 +427,7 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean
private def eraseDerivedValueClassRef(tref: TypeRef)(implicit ctx: Context): Type = {
val cls = tref.symbol.asClass
val underlying = underlyingOfValueClass(cls)
- if (underlying.exists) ErasedValueType(tref, valueErasure(underlying))
+ if (underlying.exists && !isCyclic(cls)) ErasedValueType(tref, valueErasure(underlying))
else NoType
}