diff options
author | Seth Tisue <seth@tisue.net> | 2015-06-29 12:20:56 -0400 |
---|---|---|
committer | Seth Tisue <seth@tisue.net> | 2015-06-29 12:20:56 -0400 |
commit | 21387d61ec8935e684ca934afa5fc9ba89199da0 (patch) | |
tree | 31df95579e7dc5f7acd160142b596cc442370659 /test | |
parent | 04e7448d42492c0f35a42c69cbac41a8cdff724e (diff) | |
parent | 96b012aa48e3d91f8ec6d5221df2f455f278c9e0 (diff) | |
download | scala-21387d61ec8935e684ca934afa5fc9ba89199da0.tar.gz scala-21387d61ec8935e684ca934afa5fc9ba89199da0.tar.bz2 scala-21387d61ec8935e684ca934afa5fc9ba89199da0.zip |
Merge pull request #4586 from som-snytt/issue/missing-args
Improved message for missing argument list
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/macro-invalidshape.check | 5 | ||||
-rw-r--r-- | test/files/neg/missing-arg-list.check | 21 | ||||
-rw-r--r-- | test/files/neg/missing-arg-list.scala | 13 |
3 files changed, 37 insertions, 2 deletions
diff --git a/test/files/neg/macro-invalidshape.check b/test/files/neg/macro-invalidshape.check index aa694df6d6..5093b87598 100644 --- a/test/files/neg/macro-invalidshape.check +++ b/test/files/neg/macro-invalidshape.check @@ -8,8 +8,9 @@ macro [<static object>].<method name>[[<type args>]] or macro [<macro bundle>].<method name>[[<type args>]] def foo2(x: Any) = macro Impls.foo(null)(null) ^ -Macros_Test_2.scala:4: error: missing arguments for method foo in object Impls; -follow this method with `_' if you want to treat it as a partially applied function +Macros_Test_2.scala:4: error: missing argument list for method foo in object Impls +Unapplied methods are only converted to functions when a function type is expected. +You can make this conversion explicit by writing `foo _` or `foo(_)(_)` instead of `foo`. def foo3(x: Any) = macro {2; Impls.foo} ^ Macros_Test_2.scala:7: error: macro implementation reference has wrong shape. required: diff --git a/test/files/neg/missing-arg-list.check b/test/files/neg/missing-arg-list.check new file mode 100644 index 0000000000..5a011c36f2 --- /dev/null +++ b/test/files/neg/missing-arg-list.check @@ -0,0 +1,21 @@ +missing-arg-list.scala:9: error: missing argument list for method id in trait T +Unapplied methods are only converted to functions when a function type is expected. +You can make this conversion explicit by writing `id _` or `id(_)` instead of `id`. + val w = id + ^ +missing-arg-list.scala:10: error: missing argument list for method f in trait T +Unapplied methods are only converted to functions when a function type is expected. +You can make this conversion explicit by writing `f _` or `f(_)(_)` instead of `f`. + val x = f + ^ +missing-arg-list.scala:11: error: missing argument list for method g in trait T +Unapplied methods are only converted to functions when a function type is expected. +You can make this conversion explicit by writing `g _` or `g(_,_,_)` instead of `g`. + val y = g + ^ +missing-arg-list.scala:12: error: missing argument list for method h in trait T +Unapplied methods are only converted to functions when a function type is expected. +You can make this conversion explicit by writing `h _` or `h(_,_,_)(_)` instead of `h`. + val z = h + ^ +four errors found 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 +} |