summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2010-06-16 18:48:44 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2010-06-16 18:48:44 +0000
commitdfd5834a058206ecd2e5927e0cf8137362196016 (patch)
tree03f43aa868874055463e4ceae1e22598c7dc93ed /test
parent354e2abd2ed353349c533f025ec24adecbbac86f (diff)
downloadscala-dfd5834a058206ecd2e5927e0cf8137362196016.tar.gz
scala-dfd5834a058206ecd2e5927e0cf8137362196016.tar.bz2
scala-dfd5834a058206ecd2e5927e0cf8137362196016.zip
Merged revisions 22324 via svnmerge from
https://lampsvn.epfl.ch/svn-repos/scala/scala/trunk ........ r22324 | rytz | 2010-06-16 20:38:02 +0200 (Wed, 16 Jun 2010) | 1 line removed integration of placeholder syntax and named arguments. review by odersky ........
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/names-defaults-neg.check19
-rw-r--r--test/files/neg/names-defaults-neg.scala13
-rw-r--r--test/files/run/names-defaults.check21
-rw-r--r--test/files/run/names-defaults.scala24
4 files changed, 44 insertions, 33 deletions
diff --git a/test/files/neg/names-defaults-neg.check b/test/files/neg/names-defaults-neg.check
index 644aad4a89..38bacc0888 100644
--- a/test/files/neg/names-defaults-neg.check
+++ b/test/files/neg/names-defaults-neg.check
@@ -37,8 +37,8 @@ names-defaults-neg.scala:23: error: parameter specified twice: b
test1(b = 1, b = "2")
^
names-defaults-neg.scala:26: error: {
- val x$1: Int(3) = 3;
- val x$2: Int(1) = 1;
+ val x$5: Int(3) = 3;
+ val x$6: Int(1) = 1;
Test.this.test3(1, 3)
} of type Int does not take parameters
test3(b = 3, a = 1)(3)
@@ -104,4 +104,17 @@ names-defaults-neg.scala:82: error: type mismatch;
Error occurred in an application involving default arguments.
new A2[String]()
^
-24 errors found
+names-defaults-neg.scala:115: error: reference to var2 is ambiguous; it is both, a parameter
+name of the method and the name of a variable currently in scope.
+ delay(var2 = 40)
+ ^
+names-defaults-neg.scala:118: error: missing parameter type for expanded function ((x$1) => a = x$1)
+ val taf2: Int => Unit = testAnnFun(a = _, b = get("+"))
+ ^
+names-defaults-neg.scala:119: error: parameter specified twice: a
+ val taf3 = testAnnFun(b = _: String, a = get(8))
+ ^
+names-defaults-neg.scala:120: error: wrong number of parameters; expected = 2
+ val taf4: (Int, String) => Unit = testAnnFun(_, b = _)
+ ^
+28 errors found
diff --git a/test/files/neg/names-defaults-neg.scala b/test/files/neg/names-defaults-neg.scala
index 3babd56c6f..e73dc71c9b 100644
--- a/test/files/neg/names-defaults-neg.scala
+++ b/test/files/neg/names-defaults-neg.scala
@@ -106,3 +106,16 @@ case class Fact(a: Int, b: String)(c: Int*)
case class A1(x: Int = 1, y: String = "2")
class A2[T](a: T = 1)
+
+
+// anonymous functions
+object anfun {
+ var var2 = 0
+ def delay(var2: => Unit) { var2 }
+ delay(var2 = 40)
+
+ def testAnnFun(a: Int, b: String) = println(a +": "+ b)
+ val taf2: Int => Unit = testAnnFun(a = _, b = get("+"))
+ val taf3 = testAnnFun(b = _: String, a = get(8))
+ val taf4: (Int, String) => Unit = testAnnFun(_, b = _)
+}
diff --git a/test/files/run/names-defaults.check b/test/files/run/names-defaults.check
index 60c7637e3d..b4effa26d2 100644
--- a/test/files/run/names-defaults.check
+++ b/test/files/run/names-defaults.check
@@ -28,23 +28,10 @@ get: 5
5: %, 17
12: ', 13, 16
1: bird, swine, 10
+20
+30
+40
6: ~
-get: 7
-get: +
-7: +
-get: +
-get: 8
-8: +
-9: ?
-get: 39
-get: 38
-get: |
-10: |, 77
-get: 2.233
-get: <
-get: 13
-get: x
-13: x, 2.233, <
14: /
100: 100: nix, nix, 982, 982, 0
100: overridden, bla, 0, 0, 555
@@ -87,8 +74,6 @@ lskf2dkflj2
dlkd5nixda10nixdadklfj1dklfj
C(dlkf,234,struct)struct???
C(dflkj,234,Some(209))None!!
-20020100
-C(dlfkj,11,10)35dlkf
dflk10
1-1jupee
12.39
diff --git a/test/files/run/names-defaults.scala b/test/files/run/names-defaults.scala
index ee9186c35f..f197d2ff11 100644
--- a/test/files/run/names-defaults.scala
+++ b/test/files/run/names-defaults.scala
@@ -20,16 +20,20 @@ object Test extends Application {
// anonymous functions
- val f1: (Int, String) => Unit = test1(_, _); f1(6, "~")
- val f2: Int => Unit = test1(a = _, b = get("+")); f2(get(7))
- val f3 = test1(b = _: String, a = get(8)); f3(get("+"))
- val f4: (Int, String) => Unit = test1(_, b = _); f4(9, "?")
+ {
+ def doMod(f: Int => Unit) { f(20) }
+ var var1 = 0
+ doMod(var1 = _)
+ println(var1)
- val f5: Int => (String, Int) => Unit = test2(v = get(38), u = _)_
- f5(get(39))(get("|"), 10)
+ synchronized(var1 = 30)
+ println(var1)
- val f6: (Double, String) => Unit = test3(get(13), _)(d = _, c = get("x"))
- f6(get(2.233), get("<"))
+ var var2 = 0
+ def delay(var2: => Int) = { var2 }
+ println(delay(var2 = 40))
+ }
+ val f1: (Int, String) => Unit = test1(_, _); f1(6, "~")
test4(14)
@@ -151,10 +155,6 @@ object Test extends Application {
println(c1.print)
val c2 = C("dflkj", c = Some(209): Option[Int])(None, "!!")
println(c2.print)
- val a_f: String => A[String, Nothing] = new A[String, Nothing](b = _)(d = 100)
- println(a_f("20").print)
- val c_f: Int => C[Int] = C("dlfkj", c = 10, b = _)(35, e = "dlkf")
- println(c_f(11).print)
// "super" qualifier