summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-06-25 21:24:51 +0000
committerPaul Phillips <paulp@improving.org>2011-06-25 21:24:51 +0000
commit81964737687fbf8defd3c5798a48309ea19ac7ad (patch)
tree2779ca83c567411321e8fad9a9e4f791b30aadfa
parent7b7b242299fa4f8e8f201aefc41eb4270babe398 (diff)
downloadscala-81964737687fbf8defd3c5798a48309ea19ac7ad.tar.gz
scala-81964737687fbf8defd3c5798a48309ea19ac7ad.tar.bz2
scala-81964737687fbf8defd3c5798a48309ea19ac7ad.zip
Test cases close #2782, #2171, no review.
-rw-r--r--test/files/pos/bug2171.flags1
-rw-r--r--test/files/pos/bug2171.scala7
-rw-r--r--test/files/pos/bug2782.scala18
3 files changed, 26 insertions, 0 deletions
diff --git a/test/files/pos/bug2171.flags b/test/files/pos/bug2171.flags
new file mode 100644
index 0000000000..eb4d19bcb9
--- /dev/null
+++ b/test/files/pos/bug2171.flags
@@ -0,0 +1 @@
+-optimise \ No newline at end of file
diff --git a/test/files/pos/bug2171.scala b/test/files/pos/bug2171.scala
new file mode 100644
index 0000000000..6c754c76a6
--- /dev/null
+++ b/test/files/pos/bug2171.scala
@@ -0,0 +1,7 @@
+final object test {
+ def logIgnoredException(msg: => String) =
+ try 0 catch { case ex => println(msg) }
+
+ def main (args: Array[String]): Unit =
+ while (true) logIgnoredException ("...")
+}
diff --git a/test/files/pos/bug2782.scala b/test/files/pos/bug2782.scala
new file mode 100644
index 0000000000..ab12aaf1fe
--- /dev/null
+++ b/test/files/pos/bug2782.scala
@@ -0,0 +1,18 @@
+import scala.{collection => sc}
+
+object Test {
+ trait Foo[T]
+
+ // Haven't managed to repro without using a CanBuild or CanBuildFrom implicit parameter
+ implicit def MapFoo[A, B, M[A, B] <: sc.Map[A,B]](implicit aFoo: Foo[A], bFoo: Foo[B], cb: sc.generic.CanBuild[(A, B), M[A, B]]) = new Foo[M[A,B]] {}
+ implicit object Tuple2IntIntFoo extends Foo[(Int, Int)] // no difference if this line is uncommented
+ implicit def Tuple2Foo[A, B] = new Foo[(A, B)] {} // nor this one
+
+ implicitly[Foo[(Int, Int)]]
+}
+
+class A {
+ def x[N[X] >: M[X], M[_], G](n: N[G], m: M[G]) = null
+
+ x(Some(3), Seq(2))
+}