File: t4758.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 (17 lines) | stat: -rw-r--r-- 396 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// /scala/trac/4758/a.scala
// Fri Dec  2 13:41:54 PST 2011

package bar {
  // works
  trait M[F[_]]
  class S[X[_] <: M[X], A](val x:X[A])
  object S {
    def apply[X[_] <: M[X], A](x: X[A]): S[X, A] = new S[X, A](x)
    def unapply[X[_] <: M[X], A](p: S[X, A]) = Some(p.x)
  }
}
package foo {
  // seemingly equivalent, doesn't work
  trait M[F[_]]
  case class S[X[_] <: M[X], A](x: X[A])
}