aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/pos/t1357.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/pos/t1357.scala')
-rw-r--r--tests/untried/pos/t1357.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/untried/pos/t1357.scala b/tests/untried/pos/t1357.scala
new file mode 100644
index 000000000..05f8d20ed
--- /dev/null
+++ b/tests/untried/pos/t1357.scala
@@ -0,0 +1,21 @@
+object NonEmptyCons {
+ def unapply[H, T](c: (H, T)): Option[(H, T)] = Some(c)
+}
+
+
+object Main {
+
+ type BT[+H, +T <: Tuple2[Tuple2[H, T], Tuple2[H, T]]] = Tuple2[H, T]
+
+ // type T = Tuple2[String,String]
+ type BinaryTree[+E] = BT[E, T forSome { type T <: Tuple2[BT[E, T], BT[E, T]] }]
+
+ def foo[E](tree: BinaryTree[E]): Unit = tree match {
+ case NonEmptyCons(_, tail) => {
+ tail match {
+ case NonEmptyCons(_, _) => {
+ }
+ }
+ }
+ }
+}