object O {
  trait X
  trait B extends A {
    override type T[F1 <: X] = F1
  }
  trait A {
    type T[F <: X]
  }
}

object Test {
  import O._
  val a: B = ???
  val b: a.T[X] = ???
  b.ensuring(x => true) // trigger an implicit search
}


/*
this = {AliasArgsTypeRef@3004}"Test#7680.a#14899.T#14823[O#7702.X#7793]"
  sym = type T#14823
    info = namer: [F#14824 <: O#7703.X#7793]F#14824
result = {AbstractNoArgsTypeRef@3237}"F#24451"
tp = {PolyType@3235}"[F#14824 <: O#7703.X#7793]F#14824"
tparams = 
  (0)  = {AbstractTypeSymbol@3247}"type F#24451"
*/
