diff options
author | liu fengyun <liufengyunchina@gmail.com> | 2016-11-07 23:57:06 +0100 |
---|---|---|
committer | liu fengyun <liu@fengy.me> | 2016-11-24 13:36:05 +0100 |
commit | abb9aa802789e6b43ff07c45281eedbb09512585 (patch) | |
tree | f0c74d053602dd64f0489780726ee9ef9a5fe4c2 /compiler/src/dotty/tools/dotc/core/TypeErasure.scala | |
parent | 8592af1c815c34078d89c08536addbe757550179 (diff) | |
download | dotty-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.scala | 2 |
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 } |