Skip to content

Commit eca0834

Browse files
committed
Add GADT test for upcasting
1 parent 33ece58 commit eca0834

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

tests/pos/gadt-upcast.scala

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
trait TagA[A]
2+
trait TagB[B]
3+
trait TagC[C]
4+
trait TriTag[A, B, C] extends TagA[A] with TagB[B] with TagC[C]
5+
class IntStrCharTag extends TagA[Int] with TagB[String] with TagC[Char]
6+
7+
def get[A, B, C]: TriTag[A, B, C] => (A, B, C) = {
8+
case _: IntStrCharTag => (0, "zero", '0')
9+
}
10+
11+
object GadtUpcast extends App {
12+
val ret = get(new IntStrCharTag with TriTag[Int, String, Char])
13+
println(ret)
14+
}

0 commit comments

Comments
 (0)