diff options
author | Martin Odersky <odersky@gmail.com> | 2010-03-05 15:32:03 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2010-03-05 15:32:03 +0000 |
commit | 833b9e671a08da9c8017b958c7cc9947ef7c3f5b (patch) | |
tree | 2bd9be56415f6dc18a54b7447f172d660bb2a101 /src/compiler | |
parent | 87b2ffd8db7a2d236a85b2e0f9e4dcd4db15b001 (diff) | |
download | scala-833b9e671a08da9c8017b958c7cc9947ef7c3f5b.tar.gz scala-833b9e671a08da9c8017b958c7cc9947ef7c3f5b.tar.bz2 scala-833b9e671a08da9c8017b958c7cc9947ef7c3f5b.zip |
Closes #3026. Review by extempore.
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Implicits.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala index bc9c52072f..5b8ba68e7f 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala @@ -840,7 +840,8 @@ self: Analyzer => case RefinedType(parents, decls) => // refinement is not generated yet if (parents.length == 1) findManifest(parents.head) - else manifestFactoryCall("intersectionType", tp, parents map (findSubManifest(_)): _*) + else if (full) manifestFactoryCall("intersectionType", tp, parents map (findSubManifest(_)): _*) + else mot(erasure.erasure(tp0)) case ExistentialType(tparams, result) => existentialAbstraction(tparams, result) match { case ExistentialType(_, _) => mot(result) |