summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/pending/pos/t5503.flags1
-rw-r--r--test/pending/pos/t5503.scala18
-rw-r--r--test/pending/pos/t5521.scala3
-rw-r--r--test/pending/pos/t5534.scala11
-rw-r--r--test/pending/pos/t5585.scala18
-rw-r--r--test/pending/pos/t5654.scala4
-rw-r--r--test/pending/run/t4560.scala9
-rw-r--r--test/pending/run/t4728.check2
-rw-r--r--test/pending/run/t4728.scala11
-rw-r--r--test/pending/run/t5610a.check1
-rw-r--r--test/pending/run/t5610a.scala19
-rw-r--r--test/pending/run/t5610b.check1
-rw-r--r--test/pending/run/t5610b.scala21
-rw-r--r--test/pending/run/t5722.scala6
-rw-r--r--test/pending/run/t5726a.scala17
-rw-r--r--test/pending/run/t5726b.scala16
16 files changed, 158 insertions, 0 deletions
diff --git a/test/pending/pos/t5503.flags b/test/pending/pos/t5503.flags
new file mode 100644
index 0000000000..e8fb65d50c
--- /dev/null
+++ b/test/pending/pos/t5503.flags
@@ -0,0 +1 @@
+-Xfatal-warnings \ No newline at end of file
diff --git a/test/pending/pos/t5503.scala b/test/pending/pos/t5503.scala
new file mode 100644
index 0000000000..8a1925df1f
--- /dev/null
+++ b/test/pending/pos/t5503.scala
@@ -0,0 +1,18 @@
+trait A {
+ type Type
+ type MethodType <: Type
+
+ val MethodType: MethodTypeExtractor = null
+
+ abstract class MethodTypeExtractor {
+ def unapply(tpe: MethodType): Option[(Any, Any)]
+ }
+}
+
+object Test {
+ val a: A = null
+
+ def foo(tpe: a.Type) = tpe match {
+ case a.MethodType(_, _) =>
+ }
+} \ No newline at end of file
diff --git a/test/pending/pos/t5521.scala b/test/pending/pos/t5521.scala
new file mode 100644
index 0000000000..dc025d0945
--- /dev/null
+++ b/test/pending/pos/t5521.scala
@@ -0,0 +1,3 @@
+class Foo { type Bar }
+
+class Quux(val foo: Foo)(val bar: foo.Bar) \ No newline at end of file
diff --git a/test/pending/pos/t5534.scala b/test/pending/pos/t5534.scala
new file mode 100644
index 0000000000..834c4fd68d
--- /dev/null
+++ b/test/pending/pos/t5534.scala
@@ -0,0 +1,11 @@
+object Phrase extends Enumeration {
+ type Phrase = Value
+ val PHRASE1 = Value("My phrase 1")
+ val PHRASE2 = Value("My phrase 2")
+}
+
+class Entity(text:String)
+
+object Test {
+ val myMapWithPhrases = Phrase.values.map(p => (p -> new Entity(p.toString))).toMap
+} \ No newline at end of file
diff --git a/test/pending/pos/t5585.scala b/test/pending/pos/t5585.scala
new file mode 100644
index 0000000000..5d3eb86111
--- /dev/null
+++ b/test/pending/pos/t5585.scala
@@ -0,0 +1,18 @@
+class Result[+A]
+
+case class Success[A](x: A) extends Result[A]
+
+class Apply[A]
+
+object Apply {
+ def apply[A](f: Int => Result[A]): Apply[A] = new Apply[A]
+}
+
+object TestUnit {
+ def goo : Apply[Option[Int]] = Apply { i =>
+ val p = i match {
+ case 1 => Success(Some(1))
+ case _ => Success(None)
+ }
+ }
+} \ No newline at end of file
diff --git a/test/pending/pos/t5654.scala b/test/pending/pos/t5654.scala
new file mode 100644
index 0000000000..eb711a5f37
--- /dev/null
+++ b/test/pending/pos/t5654.scala
@@ -0,0 +1,4 @@
+case class Bomb(a: Array[_])
+case class Bomb2(a: Array[T] forSome { type T })
+class Okay1(a: Array[_])
+case class Okay2(s: Seq[_]) \ No newline at end of file
diff --git a/test/pending/run/t4560.scala b/test/pending/run/t4560.scala
new file mode 100644
index 0000000000..fe62136319
--- /dev/null
+++ b/test/pending/run/t4560.scala
@@ -0,0 +1,9 @@
+trait B {
+ this: Test.type =>
+
+ def y = new { def f() = () }
+ def fail() = y.f()
+}
+object Test extends B {
+ def main(args: Array[String]): Unit = fail()
+} \ No newline at end of file
diff --git a/test/pending/run/t4728.check b/test/pending/run/t4728.check
new file mode 100644
index 0000000000..7a754f414c
--- /dev/null
+++ b/test/pending/run/t4728.check
@@ -0,0 +1,2 @@
+1
+2 \ No newline at end of file
diff --git a/test/pending/run/t4728.scala b/test/pending/run/t4728.scala
new file mode 100644
index 0000000000..36f7860613
--- /dev/null
+++ b/test/pending/run/t4728.scala
@@ -0,0 +1,11 @@
+class X
+class Y extends X
+object Ambiguous {
+ def f(x: X) = 1
+ def f(ys: Y*) = 2
+}
+
+object Test extends App {
+ println(Ambiguous.f(new X))
+ println(Ambiguous.f(new Y))
+} \ No newline at end of file
diff --git a/test/pending/run/t5610a.check b/test/pending/run/t5610a.check
new file mode 100644
index 0000000000..2aa46b3b91
--- /dev/null
+++ b/test/pending/run/t5610a.check
@@ -0,0 +1 @@
+Stroke a kitten
diff --git a/test/pending/run/t5610a.scala b/test/pending/run/t5610a.scala
new file mode 100644
index 0000000000..f20b295762
--- /dev/null
+++ b/test/pending/run/t5610a.scala
@@ -0,0 +1,19 @@
+object Test extends App {
+ class Result(_str: => String) {
+ lazy val str = _str
+ }
+
+ def foo(str: => String)(i: Int) = new Result(str)
+
+ def bar(f: Int => Result) = f(42)
+
+ var test: String = null
+ val result = bar(foo(test))
+ test = "bar"
+
+ if (result.str == null) {
+ println("Destroy ALL THE THINGS!!!")
+ } else {
+ println("Stroke a kitten")
+ }
+} \ No newline at end of file
diff --git a/test/pending/run/t5610b.check b/test/pending/run/t5610b.check
new file mode 100644
index 0000000000..2aa46b3b91
--- /dev/null
+++ b/test/pending/run/t5610b.check
@@ -0,0 +1 @@
+Stroke a kitten
diff --git a/test/pending/run/t5610b.scala b/test/pending/run/t5610b.scala
new file mode 100644
index 0000000000..d922d6333c
--- /dev/null
+++ b/test/pending/run/t5610b.scala
@@ -0,0 +1,21 @@
+object Bug {
+ def main(args: Array[String]) {
+ var test: String = null
+ val result = bar(foo(test))
+ test = "bar"
+
+ if (result.str == null) {
+ println("Destroy ALL THE THINGS!!!")
+ } else {
+ println("Stroke a kitten")
+ }
+ }
+
+ class Result(_str: => String) {
+ lazy val str = _str
+ }
+
+ def foo(str: => String)(i: Int) = new Result(str)
+
+ def bar(f: Int => Result) = f(42)
+} \ No newline at end of file
diff --git a/test/pending/run/t5722.scala b/test/pending/run/t5722.scala
new file mode 100644
index 0000000000..21ace060d6
--- /dev/null
+++ b/test/pending/run/t5722.scala
@@ -0,0 +1,6 @@
+object Test extends App {
+ def foo[T: ClassTag] = println(classOf[T])
+ foo[Int]
+ foo[Array[Int]]
+ foo[List[Int]]
+} \ No newline at end of file
diff --git a/test/pending/run/t5726a.scala b/test/pending/run/t5726a.scala
new file mode 100644
index 0000000000..24d828a159
--- /dev/null
+++ b/test/pending/run/t5726a.scala
@@ -0,0 +1,17 @@
+import language.dynamics
+
+class DynamicTest extends Dynamic {
+ def selectDynamic(name: String) = s"value of $name"
+ def updateDynamic(name: String)(value: Any) {
+ println(s"You have just updated property '$name' with value: $value")
+ }
+}
+
+object MyApp extends App {
+ def testing() {
+ val test = new DynamicTest
+ test.firstName = "John"
+ }
+
+ testing()
+} \ No newline at end of file
diff --git a/test/pending/run/t5726b.scala b/test/pending/run/t5726b.scala
new file mode 100644
index 0000000000..839dcf40b5
--- /dev/null
+++ b/test/pending/run/t5726b.scala
@@ -0,0 +1,16 @@
+import language.dynamics
+
+class DynamicTest extends Dynamic {
+ def updateDynamic(name: String)(value: Any) {
+ println(s"You have just updated property '$name' with value: $value")
+ }
+}
+
+object MyApp extends App {
+ def testing() {
+ val test = new DynamicTest
+ test.firstName = "John"
+ }
+
+ testing()
+} \ No newline at end of file