summaryrefslogtreecommitdiff
path: root/test/files/neg/t8667.scala
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2016-05-11 14:32:50 -0700
committerSom Snytt <som.snytt@gmail.com>2016-05-13 23:00:56 -0700
commit40b42ae71779fb333259674b05f28de45219939d (patch)
tree0eed0a7dbcd29375d5d8b32f093e96fe5d36a10b /test/files/neg/t8667.scala
parenta6d5eb507bbeac2055a224a15fd76e7f9425520b (diff)
downloadscala-40b42ae71779fb333259674b05f28de45219939d.tar.gz
scala-40b42ae71779fb333259674b05f28de45219939d.tar.bz2
scala-40b42ae71779fb333259674b05f28de45219939d.zip
SI-8667 Caret at bad arg
Pick the first excessive positional arg for the caret. Note that erroring on named args doesn't do the obvious thing in this regard. If `k` was removed from the signature, then `f(k=1, i=2, j=3)` doesn't tell us much about the wrong arg, because naming takes the `k=1` as an assignment, `i` as duplicate naming. No arg is deemed extra, though further inspection of the conflicting args might get there. Since assignment syntax in parens is more|less deprecated (?), no more effort is done here.
Diffstat (limited to 'test/files/neg/t8667.scala')
-rw-r--r--test/files/neg/t8667.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/test/files/neg/t8667.scala b/test/files/neg/t8667.scala
index fe17eac84f..d55582ca6b 100644
--- a/test/files/neg/t8667.scala
+++ b/test/files/neg/t8667.scala
@@ -8,7 +8,7 @@ trait T {
def c4 = new C(b = 42, a = 17, 5)
def c5 = new C(a = 42, c = 17)
def c6 = new C(a = 42, c = 17, b = 5)
- def c7 = new C(42, 17, c = 5)
+ def c7 = new C(c = 42, a = 17, b = 5)
def c8 = new C(42, 17, b = 5)
def c9 = new C(a = 42, c = 17, d = 3, b = 5)
def c0 = new C(42, 17, d = 3, c = 5)
@@ -17,6 +17,7 @@ trait T {
trait X {
def f0() = 42
def f1(i: Int) = 42
+ def f2(i: Int, j: Int) = 42
def f6(i: Int, j: Int, k: Int, l: Int, m: Int, n: Int) = 42
def f12(i: Int, j: Int, k: Int, l: Int, m: Int, n: Int, o: Int, p: Int, q: Int, r: Int, s: Int, t: Int) = 42
@@ -27,6 +28,7 @@ trait X {
f1(1, 2, 3, 4)
f1(1, j = 2, 3, 4)
f1(1, j = 2, k = 3, 4)
+ f2(k = 1, i = 2, j = 3)
f6(1, 2, 3, 4, 5, 6, 7)
f6(1, 2, 3, 4, 5, 6, 7, 8)
f12(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)