aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorIgor Mielientiev <igor.melent@gmail.com>2017-03-22 16:24:15 +0200
committerFelix Mulder <felix.mulder@gmail.com>2017-03-22 15:24:15 +0100
commit5fd7a9503e44b8e95c0ca5aa4366270a3cd90155 (patch)
tree3c2f26df17a935c89f8a0238501419c30ed6f793 /tests
parent3af0ebbde81ff6429175ff1661f4ba927dc0d295 (diff)
downloaddotty-5fd7a9503e44b8e95c0ca5aa4366270a3cd90155.tar.gz
dotty-5fd7a9503e44b8e95c0ca5aa4366270a3cd90155.tar.bz2
dotty-5fd7a9503e44b8e95c0ca5aa4366270a3cd90155.zip
Fix varargs in methods and constructors (#2135)
* Fix varargs in methods (Issue: #1625) * Fix minor comments * Change varargs parameter message * Fix failed test, fix case for constructor
Diffstat (limited to 'tests')
-rw-r--r--tests/neg/varargsInMethodsT1625/allParamsAreVarArgs.scala3
-rw-r--r--tests/neg/varargsInMethodsT1625/caseClassConstructorVarArgs.scala3
-rw-r--r--tests/neg/varargsInMethodsT1625/classConstructorVarArgs.scala3
-rw-r--r--tests/neg/varargsInMethodsT1625/curriedNegExample.scala3
-rw-r--r--tests/neg/varargsInMethodsT1625/firstParamIsVarArgs.scala3
-rw-r--r--tests/pos/varargsInMethodsT1625/curriedPosExample.scala3
-rw-r--r--tests/pos/varargsInMethodsT1625/onlyOneVarArgs.scala3
7 files changed, 21 insertions, 0 deletions
diff --git a/tests/neg/varargsInMethodsT1625/allParamsAreVarArgs.scala b/tests/neg/varargsInMethodsT1625/allParamsAreVarArgs.scala
new file mode 100644
index 000000000..aabb1ecea
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/allParamsAreVarArgs.scala
@@ -0,0 +1,3 @@
+trait T3 {
+ def foo(x: String*, y: String*, c: String*): Int // error // error: varargs parameter must come last
+} \ No newline at end of file
diff --git a/tests/neg/varargsInMethodsT1625/caseClassConstructorVarArgs.scala b/tests/neg/varargsInMethodsT1625/caseClassConstructorVarArgs.scala
new file mode 100644
index 000000000..8f8a4fcf6
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/caseClassConstructorVarArgs.scala
@@ -0,0 +1,3 @@
+object T5 {
+ case class Abc(x: String*, c: String*) // error //error: varargs parameter must come last AND found: String* required: String
+} \ No newline at end of file
diff --git a/tests/neg/varargsInMethodsT1625/classConstructorVarArgs.scala b/tests/neg/varargsInMethodsT1625/classConstructorVarArgs.scala
new file mode 100644
index 000000000..74595cb7d
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/classConstructorVarArgs.scala
@@ -0,0 +1,3 @@
+class Abc(val x: String*, val c: String*) { // error: varargs parameter must come last
+ def test = ???
+} \ No newline at end of file
diff --git a/tests/neg/varargsInMethodsT1625/curriedNegExample.scala b/tests/neg/varargsInMethodsT1625/curriedNegExample.scala
new file mode 100644
index 000000000..616ea0539
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/curriedNegExample.scala
@@ -0,0 +1,3 @@
+trait T2 {
+ def foo(x: String*, y: String*)(z: Boolean*)(u: Int*, l: Int*): Int // error // error: varargs parameter must come last
+} \ No newline at end of file
diff --git a/tests/neg/varargsInMethodsT1625/firstParamIsVarArgs.scala b/tests/neg/varargsInMethodsT1625/firstParamIsVarArgs.scala
new file mode 100644
index 000000000..eceb7e696
--- /dev/null
+++ b/tests/neg/varargsInMethodsT1625/firstParamIsVarArgs.scala
@@ -0,0 +1,3 @@
+trait T1 {
+ def foo(x: String*, y: String): Int // error: varargs parameter must come last
+} \ No newline at end of file
diff --git a/tests/pos/varargsInMethodsT1625/curriedPosExample.scala b/tests/pos/varargsInMethodsT1625/curriedPosExample.scala
new file mode 100644
index 000000000..c614f2dee
--- /dev/null
+++ b/tests/pos/varargsInMethodsT1625/curriedPosExample.scala
@@ -0,0 +1,3 @@
+trait T2 {
+ def foo(x: String, y: String*)(z: Boolean*)(u: Int, l: Int*): Int
+} \ No newline at end of file
diff --git a/tests/pos/varargsInMethodsT1625/onlyOneVarArgs.scala b/tests/pos/varargsInMethodsT1625/onlyOneVarArgs.scala
new file mode 100644
index 000000000..834960b4a
--- /dev/null
+++ b/tests/pos/varargsInMethodsT1625/onlyOneVarArgs.scala
@@ -0,0 +1,3 @@
+trait T1 {
+ def foo(x: String*): Int
+} \ No newline at end of file