diff options
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/bug52.check | 6 | ||||
-rw-r--r-- | test/files/neg/bug52.scala | 4 | ||||
-rw-r--r-- | test/files/neg/refine.check | 9 | ||||
-rw-r--r-- | test/files/pos/bug30.scala | 9 | ||||
-rw-r--r-- | test/files/pos/bug31.scala | 29 | ||||
-rw-r--r-- | test/files/pos/bug36.scala | 8 | ||||
-rw-r--r-- | test/files/pos/bug39.scala | 6 | ||||
-rw-r--r-- | test/files/pos/refine.scala | 6 | ||||
-rw-r--r-- | test/files/pos/seqtest2.scala | 13 |
9 files changed, 90 insertions, 0 deletions
diff --git a/test/files/neg/bug52.check b/test/files/neg/bug52.check new file mode 100644 index 0000000000..cd4b5eccce --- /dev/null +++ b/test/files/neg/bug52.check @@ -0,0 +1,6 @@ +bug52.scala:3: type mismatch; + found : scala.Any + required: scala.Int + val y: Int = x(2); + ^ +one error found diff --git a/test/files/neg/bug52.scala b/test/files/neg/bug52.scala new file mode 100644 index 0000000000..e171022eb6 --- /dev/null +++ b/test/files/neg/bug52.scala @@ -0,0 +1,4 @@ +object test { + val x = if (2 == 3) (x: Int => 0) else (x: Int => ""); + val y: Int = x(2); +} diff --git a/test/files/neg/refine.check b/test/files/neg/refine.check new file mode 100644 index 0000000000..38d961bb34 --- /dev/null +++ b/test/files/neg/refine.check @@ -0,0 +1,9 @@ +refine.scala:3: method t overrides nothing + val x: Object { def t(): String } = new Object { + ^ +refine.scala:3: type mismatch; + found : scala.Object + required: scala.Object { def t(): java.lang.String } + val x: Object { def t(): String } = new Object { + ^ +two errors found diff --git a/test/files/pos/bug30.scala b/test/files/pos/bug30.scala new file mode 100644 index 0000000000..6d28e18c0d --- /dev/null +++ b/test/files/pos/bug30.scala @@ -0,0 +1,9 @@ +trait A { + def f(x: int): unit; + def f(x: String): unit; +} + +class B extends A { + def f(x: int): unit = (); + def f(x: String): unit = (); +} diff --git a/test/files/pos/bug31.scala b/test/files/pos/bug31.scala new file mode 100644 index 0000000000..607dd4ce4f --- /dev/null +++ b/test/files/pos/bug31.scala @@ -0,0 +1,29 @@ +object Main { + + trait Ensure[a] { + def ensure(postcondition: a => Boolean): a + } + + def require[a](def precondition: Boolean)(def command: a): Ensure[a] = + if (precondition) + new Ensure[a] { + def ensure(postcondition: a => Boolean): a = { + val result = command; + if (postcondition(result)) result + else error("Assertion error") + } + } + else + error("Assertion error"); + + def arb[a](s: List[a]) = + require (! s.isEmpty) { + s.head + } ensure (result => s contains result); + + def main(args: Array[String]) = { + val s = List(1, 2); + System.out.println(arb(s)) + } + +} diff --git a/test/files/pos/bug36.scala b/test/files/pos/bug36.scala new file mode 100644 index 0000000000..1d923b0017 --- /dev/null +++ b/test/files/pos/bug36.scala @@ -0,0 +1,8 @@ +object m { + + val xs: List[int] = Nil; + def f(i: int) = 0; + val v = xs map f; + + def m() = {} +} diff --git a/test/files/pos/bug39.scala b/test/files/pos/bug39.scala new file mode 100644 index 0000000000..a131bc0450 --- /dev/null +++ b/test/files/pos/bug39.scala @@ -0,0 +1,6 @@ +abstract class Extensible[A, This <: Extensible[A, This]](x: A, xs: This): This { + def mkObj(x: A, xs: This): This; +} +class Fixed[A](x: A, xs: Fixed[A]) extends Extensible[A, Fixed[A]](x, xs) { + def mkObj(x: A, xs: Fixed[A]) = new Fixed(x, xs); +} diff --git a/test/files/pos/refine.scala b/test/files/pos/refine.scala new file mode 100644 index 0000000000..255621ad43 --- /dev/null +++ b/test/files/pos/refine.scala @@ -0,0 +1,6 @@ +object test { + + val x: Object { def toString(): String } = new Object { + override def toString(): String = "1"; + } +} diff --git a/test/files/pos/seqtest2.scala b/test/files/pos/seqtest2.scala new file mode 100644 index 0000000000..903b270c95 --- /dev/null +++ b/test/files/pos/seqtest2.scala @@ -0,0 +1,13 @@ +object test { + + val b = List(1, 2, 3); + + def main(args: Array[String]) = + System.out.println( + b match { + case List(1, 2, 3) => true; + case _ => false; + } + ) + +} |