diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2017-04-18 17:28:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-18 17:28:40 +0200 |
commit | 6a0c581d24581cee19dd5448b1d6821f0538f0ca (patch) | |
tree | e476fc785d0df6d138e44a3e6c7dea411f649cd3 /compiler/src/dotty/tools | |
parent | ab124cb8cda3ab65b0195f1a7f74006c24ebe7ab (diff) | |
parent | 37120df19265da923703de00911e33937e5a66de (diff) | |
download | dotty-6a0c581d24581cee19dd5448b1d6821f0538f0ca.tar.gz dotty-6a0c581d24581cee19dd5448b1d6821f0538f0ca.tar.bz2 dotty-6a0c581d24581cee19dd5448b1d6821f0538f0ca.zip |
Merge pull request #2236 from dotty-staging/fix-#2234
Fix #2234: Dealias before type erasing
Diffstat (limited to 'compiler/src/dotty/tools')
-rw-r--r-- | compiler/src/dotty/tools/dotc/core/TypeErasure.scala | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/src/dotty/tools/dotc/core/TypeErasure.scala b/compiler/src/dotty/tools/dotc/core/TypeErasure.scala index f35752644..1eb90b8eb 100644 --- a/compiler/src/dotty/tools/dotc/core/TypeErasure.scala +++ b/compiler/src/dotty/tools/dotc/core/TypeErasure.scala @@ -377,6 +377,8 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean defn.FunctionType(0) case AndType(tp1, tp2) => erasedGlb(this(tp1), this(tp2), isJava) + case tp: HKApply => + apply(tp.superType) case OrType(tp1, tp2) => ctx.typeComparer.orType(this(tp1), this(tp2), erased = true) case tp: MethodType => @@ -508,6 +510,8 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean normalizeClass(sym.asClass).fullName.asTypeName case defn.ArrayOf(elem) => sigName(this(tp)) + case tp: HKApply => + sigName(tp.superType) case JavaArrayType(elem) => sigName(elem) ++ "[]" case tp: TermRef => |