File: t9475.scala

package info (click to toggle)
scala 2.11.12-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,924 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,135; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (19 lines) | stat: -rw-r--r-- 428 bytes parent folder | download | duplicates (4)
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
}