summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-01-12 09:17:26 -0800
committerPaul Phillips <paulp@improving.org>2012-01-12 10:06:00 -0800
commitccb590c0378819011640a58b822fbdeb938144dc (patch)
tree6b92649121c4fdbfe851d266a5002d8eb892ff34 /test
parent15372027c762b18bccf231b9810e9db3415e7f5a (diff)
downloadscala-ccb590c0378819011640a58b822fbdeb938144dc.tar.gz
scala-ccb590c0378819011640a58b822fbdeb938144dc.tar.bz2
scala-ccb590c0378819011640a58b822fbdeb938144dc.zip
Disambiguate some type printing.
Functions of functions use parens for grouping.
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/nested-fn-print.check20
-rw-r--r--test/files/neg/nested-fn-print.scala11
-rw-r--r--test/files/neg/t0003.check2
-rw-r--r--test/files/presentation/callcc-interpreter.check2
4 files changed, 33 insertions, 2 deletions
diff --git a/test/files/neg/nested-fn-print.check b/test/files/neg/nested-fn-print.check
new file mode 100644
index 0000000000..ea278554d4
--- /dev/null
+++ b/test/files/neg/nested-fn-print.check
@@ -0,0 +1,20 @@
+nested-fn-print.scala:4: error: only classes can have declared but undefined members
+(Note that variables need to be initialized to be defined)
+ var x3: Int => Double
+ ^
+nested-fn-print.scala:7: error: type mismatch;
+ found : String("a")
+ required: Int => (Float => Double)
+ x1 = "a"
+ ^
+nested-fn-print.scala:8: error: type mismatch;
+ found : String("b")
+ required: (Int => Float) => Double
+ x2 = "b"
+ ^
+nested-fn-print.scala:9: error: type mismatch;
+ found : String("c")
+ required: Int => Double
+ x3 = "c"
+ ^
+four errors found
diff --git a/test/files/neg/nested-fn-print.scala b/test/files/neg/nested-fn-print.scala
new file mode 100644
index 0000000000..9a4bd162c0
--- /dev/null
+++ b/test/files/neg/nested-fn-print.scala
@@ -0,0 +1,11 @@
+object Test {
+ var x1: Int => Float => Double = _
+ var x2: (Int => Float) => Double = _
+ var x3: Int => Double
+
+ def main(args: Array[String]): Unit = {
+ x1 = "a"
+ x2 = "b"
+ x3 = "c"
+ }
+}
diff --git a/test/files/neg/t0003.check b/test/files/neg/t0003.check
index 1913dde9dd..8bab55db3f 100644
--- a/test/files/neg/t0003.check
+++ b/test/files/neg/t0003.check
@@ -1,5 +1,5 @@
t0003.scala:2: error: type mismatch;
- found : A => B => B
+ found : A => (B => B)
required: A => B
def foo[A, B, C](l: List[A], f: A => B=>B, g: B=>B=>C): List[C] = l map (g compose f)
^
diff --git a/test/files/presentation/callcc-interpreter.check b/test/files/presentation/callcc-interpreter.check
index ca99a5afc5..3385ef12b7 100644
--- a/test/files/presentation/callcc-interpreter.check
+++ b/test/files/presentation/callcc-interpreter.check
@@ -23,7 +23,7 @@ retrieved 64 members
`method add(a: callccInterpreter.Value, b: callccInterpreter.Value)callccInterpreter.M[_ >: callccInterpreter.Num with callccInterpreter.Wrong.type <: Product with Serializable with callccInterpreter.Value]`
`method apply(a: callccInterpreter.Value, b: callccInterpreter.Value)callccInterpreter.M[callccInterpreter.Value]`
`method asInstanceOf[T0]=> T0`
-`method callCC[A](h: A => callccInterpreter.M[A] => callccInterpreter.M[A])callccInterpreter.M[A]`
+`method callCC[A](h: (A => callccInterpreter.M[A]) => callccInterpreter.M[A])callccInterpreter.M[A]`
`method clone()Object`
`method ensuring(cond: Boolean)callccInterpreter.type`
`method ensuring(cond: Boolean, msg: => Any)callccInterpreter.type`