मैं सख्त निम्नलिखित हल करने के लिए कोशिश कर रहा हूँ:आंशिक रूप से लागू करने के प्रकार पैरामीटर
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"
। मैं यह संकलन कैसे कर सकता हूं?
धन्यवाद, कि थोड़ा बेहतर लग रहा है। इसके अलावा, मेरे वास्तविक मामले में सीएलआईटी के प्रकार पैरामीटर ऊपरी सीमाएं थीं, जिसमें एक समर्पित विशेषता है Partial2 वास्तव में सहायक नहीं था (मुझे सीमाओं के लिए प्रकार पैरामीटर जोड़ने की आवश्यकता होगी) –
यदि आपके कोड में आमतौर पर प्रकार का लैम्बडा उपयोग किया जाता है, निम्नलिखित कंपाइलर प्लगइन पर विचार करें: https://github.com/non/kind-projector –