--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Copyright 2004-2009 Jean Privat <jean@pryen.org>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import array
+
+fun foo(a: Char...)
+do
+ for x in a do x.output
+ '\n'.output
+end
+
+fun bar(b: Char, a: Char...)
+do
+ b.output
+ ','.output
+ for x in a do x.output
+ '\n'.output
+end
+
+fun baz(a: Char..., b: Char)
+do
+ for x in a do x.output
+ ','.output
+ b.output
+ '\n'.output
+end
+
+fun foobar(b: Char, a: Char..., c: Char)
+do
+ b.output
+ ','.output
+ for x in a do x.output
+ ','.output
+ c.output
+ '\n'.output
+end
+
+#alt1#foo
+foo('1')
+foo('1','2')
+#alt2#bar
+#alt3#bar('1')
+bar('1','2')
+bar('1','2','3')
+#alt4#baz
+#alt5#baz('1')
+baz('1','2')
+baz('1','2','3')
+#alt6#foobar
+#alt7#foobar('1')
+#alt8#foobar('1','2')
+foobar('1','2','3')
+foobar('1','2','3','4')
--- /dev/null
+1
+12
+1,2
+1,23
+1,2
+12,3
+1,2,3
+1,23,4
--- /dev/null
+alt/base_vararg_alt1.nit:51,1--3: Error: 'foo' arity missmatch.
--- /dev/null
+alt/base_vararg_alt2.nit:54,1--3: Error: 'bar' arity missmatch.
--- /dev/null
+alt/base_vararg_alt3.nit:55,1--7: Error: 'bar' arity missmatch.
--- /dev/null
+alt/base_vararg_alt4.nit:58,1--3: Error: 'baz' arity missmatch.
--- /dev/null
+alt/base_vararg_alt5.nit:59,1--7: Error: 'baz' arity missmatch.
--- /dev/null
+alt/base_vararg_alt6.nit:62,1--6: Error: 'foobar' arity missmatch.
--- /dev/null
+alt/base_vararg_alt7.nit:63,1--10: Error: 'foobar' arity missmatch.
--- /dev/null
+alt/base_vararg_alt8.nit:64,1--14: Error: 'foobar' arity missmatch.
+++ /dev/null
-1
-12
-1, 2
-1, 23
-1, 2
-12, 3
-3, 2, 1
-4, 23, 1
+++ /dev/null
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2004-2008 Jean Privat <jean@pryen.org>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-fun foo(a: Int...)
- do
- print(a)
- end
-
-fun bar(b: Int, a: Int...)
- do
- print("{b}, {a}")
- end
-
-fun baz(a: Int..., b: Int)
- do
- print("{a}, {b}")
- end
-
-fun foobar(b: Int, a: Int..., c: Int)
- do
- print("{c}, {a}, {b}")
- end
-
-foo(1)
-foo(1,2)
-bar(1,2)
-bar(1,2,3)
-baz(1,2)
-baz(1,2,3)
-foobar(1,2,3)
-foobar(1,2,3,4)