trait A {
type T
def test(t: T): Unit
}
case class B[S <: A](a: S, t : S#T) {
def test() = a.test(t) // Error: type mismatch;
// found : B.this.t.type (with underlying type S#T)
// required: B.this.a.T
}
Yukarıdakilerin derlenmesini beklemek yanlış mıyım? Kodum düzeltilebilir mi?Neden scala bu tür birleştirme birleştirmiyor lambda altta yatan tipte?
Ama 'B [A2] (yeni A3()," ")' derler, fakat kodumda bunu kastettiniz mi? Aksi takdirde çözümünüz tam olarak ihtiyacım olan şeydir. – JbGi
Ha, zekice bir numara! Arıtmada sağdaki görüntünün tip parametresini kullanabileceğini bilmiyordum. – Haspemulator
@JbGi Evet Bunu gerçekten derlenmiş bir örnekle göstermeyi çok düşündüm, ancak scala derleyicisi burada oldukça kısıtlayıcı. Öyleyse bu hayali bir scala-benzeri derleyicinin hayali bir örneğini saklayalım, orijinal kaynağı – Odomontois