varsayalım Ben:Ben Scala F-sınırlanmış nesne oluşturamıyor Neden
trait A[AA <: A[AA]]
//or even just `
trait A[AA]
Bu işe yaramazsa:
scala> object AAA extends A[AAA.type]
<console>:8: error: illegal cyclic reference involving object AAA
object AAA extends A[AAA.type]
^
Ama bu işleri:
scala> class AAA extends A[AAA]; object AAA extends AAA
defined class AAA
defined module AAA
Hemen hemen aynı (tam olarak) değil ve bu çalışır. Herhangi bir nedenle?
P.S. Ve ayrıca, bu nesnenin içinde tam olarak can I do ne derleyici kendi içinde infinte döngüsü zorlamak için?
http://blog.originate.com/blog/2014/02/27/types-inside-types-in-scala/, Bunun yardımcı olacağını düşünüyorum. Ama bununla ne tür bir problem çözmeye çalışıyorsunuz? – Governa
Belki ilgili: https://issues.scala-lang.org/browse/SI-5082 – Governa
Aynı soru burada: http://stackoverflow.com/questions/17915353/refer-to-object-type-in-object- tanımı, ama iyi bir cevap yok –