diff options
author | Paul Phillips <paulp@improving.org> | 2013-01-27 16:17:38 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-27 16:17:38 -0800 |
commit | f389f6a18f5812a08f324222432ba45a5b15aa18 (patch) | |
tree | 2db0305a5969f0c9683670696238f33b0625c9f0 | |
parent | 22dcec63745c2906c3c0ad636049e4ab0f73233c (diff) | |
parent | 982633a77ccef39e2c2611b88294d39d022a0f03 (diff) | |
download | scala-f389f6a18f5812a08f324222432ba45a5b15aa18.tar.gz scala-f389f6a18f5812a08f324222432ba45a5b15aa18.tar.bz2 scala-f389f6a18f5812a08f324222432ba45a5b15aa18.zip |
Merge pull request #1978 from retronym/ticket/6556-2
SI-6556 Remove unneeded workaround in erasure.
-rw-r--r-- | src/reflect/scala/reflect/internal/transform/Erasure.scala | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/src/reflect/scala/reflect/internal/transform/Erasure.scala b/src/reflect/scala/reflect/internal/transform/Erasure.scala index 59bf51d638..5581c78a3a 100644 --- a/src/reflect/scala/reflect/internal/transform/Erasure.scala +++ b/src/reflect/scala/reflect/internal/transform/Erasure.scala @@ -214,9 +214,6 @@ trait Erasure { specialConstructorErasure(clazz, restpe) case ExistentialType(tparams, restpe) => specialConstructorErasure(clazz, restpe) - case RefinedType(parents, decls) => - specialConstructorErasure( - clazz, specialScalaErasure.mergeParents(parents)) case mt @ MethodType(params, restpe) => MethodType( cloneSymbolsAndModify(params, specialScalaErasure), @@ -225,15 +222,7 @@ trait Erasure { typeRef(pre, clazz, List()) case tp => if (!(clazz == ArrayClass || tp.isError)) - // See SI-6556. It seems in some cases the result constructor - // type of an anonymous class is a different version of the class. - // This has nothing to do with value classes per se. - // We simply used a less discriminating transform before, that - // did not look at the cases in detail. - // It seems there is a deeper problem here, which needs - // following up to. But we will not risk regressions - // in 2.10 because of it. - devWarning(s"unexpected constructor erasure $tp for $clazz") + assert(clazz == ArrayClass || tp.isError, s"!!! unexpected constructor erasure $tp for $clazz") specialScalaErasure(tp) } } |