aboutsummaryrefslogtreecommitdiff
path: root/tests/pos
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pos')
-rw-r--r--tests/pos/bounds.scala11
-rw-r--r--tests/pos/caseClassInMethod.scala5
-rw-r--r--tests/pos/class-dependent-extension-method.scala3
3 files changed, 19 insertions, 0 deletions
diff --git a/tests/pos/bounds.scala b/tests/pos/bounds.scala
new file mode 100644
index 000000000..26bc84a1b
--- /dev/null
+++ b/tests/pos/bounds.scala
@@ -0,0 +1,11 @@
+trait Map[A, +C] {
+ def ++ [B1 >: C] (kvs: Iterable[Tuple2[A, B1]]): Map[A, B1] = this
+ def ++ [B1 >: C] (kvs: Iterator[Tuple2[A, B1]]): Map[A, B1] = this
+}
+
+class ListMap[A, +B] extends Map[A, B] {}
+
+object ListMap {
+ def empty[X, Y] = new ListMap[X, Y]
+ def apply[A1, B2](elems: Tuple2[A1, B2]*): Map[A1, B2] = empty[A1,B2].++(elems.iterator)
+}
diff --git a/tests/pos/caseClassInMethod.scala b/tests/pos/caseClassInMethod.scala
new file mode 100644
index 000000000..958e5dd47
--- /dev/null
+++ b/tests/pos/caseClassInMethod.scala
@@ -0,0 +1,5 @@
+object t {
+ def f = { object C; case class C(); 1 }
+ // pending: def g = { case class D(x: Int); object D; 2 }
+ def h = { case class E(y: Int = 10); 3 }
+}
diff --git a/tests/pos/class-dependent-extension-method.scala b/tests/pos/class-dependent-extension-method.scala
new file mode 100644
index 000000000..b557dfa8f
--- /dev/null
+++ b/tests/pos/class-dependent-extension-method.scala
@@ -0,0 +1,3 @@
+class C(val a: String) extends AnyVal {
+ def foo[U <: a.type]: Unit = foo[U]
+}