umutsuzca aşağıdaki çözmeye çalışıyorum:Kısmen uygulayarak türü parametreleri
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]
scalać sadece diyor ki: "error: illegal cyclic reference involving trait CList"
. Bu derlemeyi nasıl yapabilirim? "Kısmi tip uygulaması" googling
Teşekkür, biraz daha iyi görünüyor. Ayrıca benim gerçek durumumda, CList'in parametrelerinin üst sınırları olduğundan, ayrıcalıklı bir özelliği olan Partial2'ye sahip olmama gerçekten yardımcı olmadı (sınırlar için tip parametrelerini eklemem gerekecek). –
Ayrıca klavyenizde genellikle lambdalar kullanılıyorsa, Aşağıdaki derleyici eklentisini düşünün: https://github.com/non/kind-projector –