From 7444097917bf2e71af8160de202795828a0086cb Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 19 Nov 2007 18:08:48 +0000 Subject: added tests --- test/files/neg/t0209.check | 6 ++++++ test/files/neg/t0209.scala | 17 +++++++++++++++++ test/files/neg/t0214.check | 4 ++++ test/files/neg/t0214.scala | 4 ++++ test/files/neg/t0218.scala | 12 ++++++++++++ test/files/neg/t0226.check | 10 ++++++++++ 6 files changed, 53 insertions(+) create mode 100644 test/files/neg/t0209.check create mode 100755 test/files/neg/t0209.scala create mode 100644 test/files/neg/t0214.check create mode 100755 test/files/neg/t0214.scala create mode 100755 test/files/neg/t0218.scala create mode 100644 test/files/neg/t0226.check diff --git a/test/files/neg/t0209.check b/test/files/neg/t0209.check new file mode 100644 index 0000000000..1904e58e7a --- /dev/null +++ b/test/files/neg/t0209.check @@ -0,0 +1,6 @@ +t0209.scala:15: error: type mismatch; + found : C + required: _1.type where val _1: A + (new B: A).f(new C) + ^ +one error found diff --git a/test/files/neg/t0209.scala b/test/files/neg/t0209.scala new file mode 100755 index 0000000000..ecbe183e35 --- /dev/null +++ b/test/files/neg/t0209.scala @@ -0,0 +1,17 @@ +abstract class A { + def f(x : this.type) : B +} + +class B extends A { + override def f(x : this.type) : B = x +} + +class C extends A { + override def f(x : this.type) : B = null +} + +object Program { + def main(args : Array[String]) { + (new B: A).f(new C) + } +} diff --git a/test/files/neg/t0214.check b/test/files/neg/t0214.check new file mode 100644 index 0000000000..30bb0488cf --- /dev/null +++ b/test/files/neg/t0214.check @@ -0,0 +1,4 @@ +t0214.scala:3: error: missing parameter type + a2p(x => x._1,(2,3)) + ^ +one error found diff --git a/test/files/neg/t0214.scala b/test/files/neg/t0214.scala new file mode 100755 index 0000000000..bdc42bfd78 --- /dev/null +++ b/test/files/neg/t0214.scala @@ -0,0 +1,4 @@ +object Test { + def a2p[a,b,c](f:((a,b))=>c,v:(a,b)):c = f(v) + a2p(x => x._1,(2,3)) +} diff --git a/test/files/neg/t0218.scala b/test/files/neg/t0218.scala new file mode 100755 index 0000000000..282e85e814 --- /dev/null +++ b/test/files/neg/t0218.scala @@ -0,0 +1,12 @@ +trait APQ { + class Placement { + } + + type P <: Placement + + type PP = P + + def pq(numQueens: int, numRows: int) : List[Placement] = { + List(new PP) + } +} diff --git a/test/files/neg/t0226.check b/test/files/neg/t0226.check new file mode 100644 index 0000000000..1d9f7077ef --- /dev/null +++ b/test/files/neg/t0226.check @@ -0,0 +1,10 @@ +t0226.scala:5: error: not found: type A1 + (implicit _1: Foo[List[A1]], _2: Foo[A2]): Foo[Tuple2[List[A1], A2]] = + ^ +t0226.scala:5: error: not found: type A1 + (implicit _1: Foo[List[A1]], _2: Foo[A2]): Foo[Tuple2[List[A1], A2]] = + ^ +t0226.scala:8: error: no implicit argument matching parameter type Test.this.Foo[((List[Char], Int), (object Nil, Int))] was found. + foo(((List('b'), 3), (Nil, 4))) + ^ +three errors found -- cgit v1.2.3