1 2 3 4 5
abstract class Foo[Tc[_]] { def tc: Tc[_] } object Foo { def foo[Tc[_]](): Foo[Tc] { type T = Nothing } = new Foo { def tc = null.asInstanceOf[Tc[_]] } }