diff options
Diffstat (limited to 'tests/pos')
-rw-r--r-- | tests/pos/bounds.scala | 11 | ||||
-rw-r--r-- | tests/pos/caseClassInMethod.scala | 5 | ||||
-rw-r--r-- | tests/pos/class-dependent-extension-method.scala | 3 |
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] +} |