summaryrefslogblamecommitdiff
path: root/test/files/pos/t4758.scala
blob: 627dfd7a23bc6d22bce8ddbfc6ad8aebc4a97022 (plain) (tree)
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])
}