summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2012-08-04 14:52:54 +0200
committerLukas Rytz <lukas.rytz@epfl.ch>2012-08-04 14:56:17 +0200
commit816c291006296835f51806462b35136740f3e013 (patch)
tree550186061bdaaf43e3e6d95fe9b31abb6b831e0c /src/compiler/scala/tools/nsc/typechecker/Typers.scala
parentec4a9fb5251bed30f4d99091d66190c1bd9daa03 (diff)
downloadscala-816c291006296835f51806462b35136740f3e013.tar.gz
scala-816c291006296835f51806462b35136740f3e013.tar.bz2
scala-816c291006296835f51806462b35136740f3e013.zip
SI-6074
When selecting a non-accessible constructor, don't infer a view to something with an accessible constructor.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 0895f5a421..2c916ce469 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -4522,7 +4522,9 @@ trait Typers extends Modes with Adaptations with Tags {
}) setType qual.tpe setPos qual.pos,
name)
case _ if accessibleError.isDefined =>
- val qual1 = adaptToMemberWithArgs(tree, qual, name, mode, false, false)
+ // don't adapt constructor, SI-6074
+ val qual1 = if (name == nme.CONSTRUCTOR) qual
+ else adaptToMemberWithArgs(tree, qual, name, mode, false, false)
if (!qual1.isErrorTyped && (qual1 ne qual))
typed(Select(qual1, name) setPos tree.pos, mode, pt)
else