summaryrefslogtreecommitdiff
path: root/test/files/run/t5294.scala
blob: 2551ae89a635f8fab0c4058c34e94a65e706c4b8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import scala.language.higherKinds

package p {
  trait T[+A, +CC] {
    def t: CC
  }
  class C {
    def test[CC[X] <: T[X,String] with T[X,Int]](from: CC[_]): Unit = ()
  }
}

object Test {
  def main(args: Array[String]): Unit = {
    val symtab = reflect.runtime.universe.asInstanceOf[reflect.internal.SymbolTable]
    val CTpe = reflect.runtime.universe.typeOf[p.C].asInstanceOf[symtab.Type]
    val TClass = reflect.runtime.universe.symbolOf[p.T[_, _]].asInstanceOf[symtab.Symbol]
    import symtab._
    val from = CTpe.member(TermName("test")).paramss.head.head
    assert(from.baseClasses contains TClass)
    assert(from.info.baseTypeIndex(TClass) != -1) // was failing!
  }
}