我拼命地解决以下几个:部分应用型参数
trait Access[Res[_]] { def access[C]: Res[C] }
trait CList[C1, A] extends Access[CList[_, A]] // ?!
def test[C1, C2, A](c: CList[C1, A]): CList[C2, A] = c.access[C2]
scalac只是说:"error: illegal cyclic reference involving trait CList"
。我怎样才能编译?
谢谢,这看起来好一点。此外,因为在我的真实情况下CList的类型参数有上限,有一个专用的特质Partial2并不真正有用(我需要为边界等添加类型参数) – 2011-04-03 15:25:18
此外,如果您的代码中经常使用类型lambdas,考虑下面的编译器插件: https://github.com/non/kind-projector – 2017-11-12 10:49:23