summaryrefslogtreecommitdiff
path: root/test/files/neg/missing-arg-list.scala
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2015-06-26 21:32:29 -0700
committerSom Snytt <som.snytt@gmail.com>2015-06-27 01:55:45 -0700
commit96b012aa48e3d91f8ec6d5221df2f455f278c9e0 (patch)
treee78a49eeeb01ca4a516385d316062b6b83358ee3 /test/files/neg/missing-arg-list.scala
parent5b8073676cc77c2c889ed690f12bb6a99e790769 (diff)
downloadscala-96b012aa48e3d91f8ec6d5221df2f455f278c9e0.tar.gz
scala-96b012aa48e3d91f8ec6d5221df2f455f278c9e0.tar.bz2
scala-96b012aa48e3d91f8ec6d5221df2f455f278c9e0.zip
Improved message for missing argument list
Clarifies the language and rules for eta-expansion. A missing argument in a list, as opposed to a missing argument list, results in a different message. The comical expansion in parens does not attempt to show what was already applied, but succeeds in showing at a glance the shape of the method in question. ``` scala> def m(i: Int, j: Int)(x: Int) = ??? m: (i: Int, j: Int)(x: Int)Nothing scala> m <console>:12: error: missing argument list for method m Unapplied methods are only converted to functions when a function type is expected. You can make this conversion explicit by writing `m _` or `m(_,_)(_)` instead of `m`. m ^ ``` The original submission was due to sschaef and the wording due to adriaanm, with a minor tweak.
Diffstat (limited to 'test/files/neg/missing-arg-list.scala')
-rw-r--r--test/files/neg/missing-arg-list.scala13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/files/neg/missing-arg-list.scala b/test/files/neg/missing-arg-list.scala
new file mode 100644
index 0000000000..c422dd32fe
--- /dev/null
+++ b/test/files/neg/missing-arg-list.scala
@@ -0,0 +1,13 @@
+
+trait T {
+
+ def id(i: Int) = i
+ def f(i: Int)(j: Int) = i+j
+ def g(i: Int, j: Int, k: Int) = i+j+k
+ def h(i: Int, j: Int, k: Int)(implicit s: String) = s*(i+j+k)
+
+ val w = id
+ val x = f
+ val y = g
+ val z = h
+}