blob: ce9c250acece0e9151c3f7ec454412c6e02b5e62 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
trait Ctx {
trait Tree
}
trait Lst[+A] {
def zip[A1 >: A, B](that: Lst[B]): Nothing
}
object Test {
// both of these methods should be transformed by uncurry
// such that List[c.Tree] becomes List[Ctx#Tree]:
def foo1(c: Ctx)(l: Lst[c.Tree]) = l zip l
def foo2[@specialized T](c: Ctx)(l: Lst[c.Tree], t: T) = l zip l
// if this doesn't happen for the 2nd method, the specialization
// transformation fails
}
|