class G[T]
object G {
  def v[T](x: T): G[T] = null
}

class A[T]
object A {
  def apply[T](x: => G[T]): A[T] = null
}

object T {
  A[Unit](G.v(() => ())) // Was VerifyError
}

object Test {
  def main(args: Array[String]): Unit = {
    T
  }

}
