aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/TypeErasure.scala
diff options
context:
space:
mode:
authorNicolas Stucki <nicolas.stucki@gmail.com>2017-02-03 10:57:54 +0100
committerNicolas Stucki <nicolas.stucki@gmail.com>2017-02-03 10:57:54 +0100
commit50e40fffa866e5b41c5df93b3635165ab20e04b1 (patch)
tree7b20e965f245de07e6a631d453ae4efd9d9f2a30 /compiler/src/dotty/tools/dotc/core/TypeErasure.scala
parent10bf4ee9923fb400710216fbedc0f4e151470a99 (diff)
downloaddotty-50e40fffa866e5b41c5df93b3635165ab20e04b1.tar.gz
dotty-50e40fffa866e5b41c5df93b3635165ab20e04b1.tar.bz2
dotty-50e40fffa866e5b41c5df93b3635165ab20e04b1.zip
Fix #1916: fix erasure of implicit xxl closures
This commit extends the fix done in #1920 to implicit closures.
Diffstat (limited to 'compiler/src/dotty/tools/dotc/core/TypeErasure.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/core/TypeErasure.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/src/dotty/tools/dotc/core/TypeErasure.scala b/compiler/src/dotty/tools/dotc/core/TypeErasure.scala
index 91e37d440..2a341390b 100644
--- a/compiler/src/dotty/tools/dotc/core/TypeErasure.scala
+++ b/compiler/src/dotty/tools/dotc/core/TypeErasure.scala
@@ -44,7 +44,7 @@ object TypeErasure {
val sym = tp.symbol
sym.isClass &&
sym != defn.AnyClass && sym != defn.ArrayClass &&
- !defn.isUnimplementedFunctionClass(sym) && !defn.isImplicitFunctionClass(sym)
+ !defn.isXXLFunctionClass(sym) && !defn.isImplicitFunctionClass(sym)
case _: TermRef =>
true
case JavaArrayType(elem) =>
@@ -358,7 +358,7 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean
if (!sym.isClass) this(tp.info)
else if (semiEraseVCs && isDerivedValueClass(sym)) eraseDerivedValueClassRef(tp)
else if (sym == defn.ArrayClass) apply(tp.appliedTo(TypeBounds.empty)) // i966 shows that we can hit a raw Array type.
- else if (defn.isUnimplementedFunctionClass(sym)) defn.FunctionXXLType
+ else if (defn.isXXLFunctionClass(sym)) defn.FunctionXXLType
else if (defn.isImplicitFunctionClass(sym)) apply(defn.FunctionType(sym.name.functionArity))
else eraseNormalClassRef(tp)
case tp: RefinedType =>