diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-04-30 16:43:40 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-04-30 16:43:40 +0200 |
commit | be61c7813fbf7cab90b5d70ef6e506e296c510dc (patch) | |
tree | 03505f73e53551feaac773eb88f689557a36f05b /tests/run/byNameVarargs | |
parent | 7a8bc797ac4d84f22707671ad535dc53b577bea3 (diff) | |
download | dotty-be61c7813fbf7cab90b5d70ef6e506e296c510dc.tar.gz dotty-be61c7813fbf7cab90b5d70ef6e506e296c510dc.tar.bz2 dotty-be61c7813fbf7cab90b5d70ef6e506e296c510dc.zip |
Add tests for #499
Diffstat (limited to 'tests/run/byNameVarargs')
-rw-r--r-- | tests/run/byNameVarargs/i499.scala | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/run/byNameVarargs/i499.scala b/tests/run/byNameVarargs/i499.scala new file mode 100644 index 000000000..be40ead50 --- /dev/null +++ b/tests/run/byNameVarargs/i499.scala @@ -0,0 +1,28 @@ +object Test { + def foo(a: => Any*) = () + def bar(a: => Any*) = foo(a : _*) + def baz(a: => Seq[Any]) = foo(a : _*) + bar(???, ???) + baz(Seq(???, ???)) + baz(Array(???, ???)) + + def foo1(a => Any, b: => Any*) = () + foo1(???) + foo1(???, ???, ???) + + def assertFails(a => Any) = { + var failed = false + try { + a + } catch { + case e => failed = true + } + assert(failed) + } + + def forceLength(b: => Any*) = b.length + assertFails(forceLength(???)) + + def forceHead(b: => Any*) = b(0) + assertFails(forceHead(1, ???)) +} |