summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2010-07-08 15:59:23 +0000
committerAdriaan Moors <adriaan.moors@epfl.ch>2010-07-08 15:59:23 +0000
commitb54e41621999d14ba52cbe40062a624e98e47066 (patch)
tree3461fe1c531b53fa480bea257115f640561f999e /src
parentc9827c4a98a4d937c8e2c90efefe3059bf27366f (diff)
downloadscala-b54e41621999d14ba52cbe40062a624e98e47066.tar.gz
scala-b54e41621999d14ba52cbe40062a624e98e47066.tar.bz2
scala-b54e41621999d14ba52cbe40062a624e98e47066.zip
closes #3507: don't generate manifests where we...
closes #3507: don't generate manifests where we can't refer to the existentially bound value
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Implicits.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
index 3abaf4f337..4f1db5604a 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
@@ -810,7 +810,7 @@ self: Analyzer =>
def mot(tp0: Type): Tree = {
val tp1 = tp0.normalize
tp1 match {
- case ThisType(_) | SingleType(_, _) =>
+ case ThisType(_) | SingleType(_, _) if !(tp1 exists {tp => tp.typeSymbol.isExistentiallyBound}) => // can't generate a reference to a value that's abstracted over by an existential
manifestFactoryCall("singleType", tp, gen.mkAttributedQualifier(tp1))
case ConstantType(value) =>
manifestOfType(tp1.deconst, full)