aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Applications.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-11-16 12:21:54 +0100
committerMartin Odersky <odersky@gmail.com>2015-12-14 14:30:10 +0100
commit0a19b0b94393e47865f21f714e82676a67ab2e4d (patch)
treea840bb61d5151e785840086c74fed20f848179b7 /src/dotty/tools/dotc/typer/Applications.scala
parenta0b29722ff5c3f4d5a6c8e2f2868df755933d298 (diff)
downloaddotty-0a19b0b94393e47865f21f714e82676a67ab2e4d.tar.gz
dotty-0a19b0b94393e47865f21f714e82676a67ab2e4d.tar.bz2
dotty-0a19b0b94393e47865f21f714e82676a67ab2e4d.zip
Only select parameterless get methods in unapplys.
Otherwise we'd get a failure due to an overloaded `get` definition whenever we typecheck a case class that is also a Map (because maps inherit a `get`).
Diffstat (limited to 'src/dotty/tools/dotc/typer/Applications.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Applications.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/Applications.scala b/src/dotty/tools/dotc/typer/Applications.scala
index 8370b3059..b3cda20b8 100644
--- a/src/dotty/tools/dotc/typer/Applications.scala
+++ b/src/dotty/tools/dotc/typer/Applications.scala
@@ -33,7 +33,7 @@ object Applications {
def hasNamedArg(args: List[Any]) = args exists isNamedArg
def extractorMemberType(tp: Type, name: Name, errorPos: Position = NoPosition)(implicit ctx:Context) = {
- val ref = tp member name
+ val ref = tp.member(name).suchThat(_.info.isParameterless)
if (ref.isOverloaded)
errorType(i"Overloaded reference to $ref is not allowed in extractor", errorPos)
else if (ref.info.isInstanceOf[PolyType])