In questo momento la mia caratteristica ha un tipo extra T che non ha altro utilizzo se non quello di garantire che B
e R
abbiano lo stesso tipo generico.Come chiedere lo stesso tipo nei generici Scala senza introdurre un terzo parametro di tipo?
trait GenericBuilder[T <: Any, B <: Builder[T], R <: Result[T]]
Per semplificare la dichiarazione, mi domando se c'è un modo per eliminare T
in questo caso, pur mantenendo il tipo severità.
EDIT: Non ho il controllo del codice Builder
o Result
- si sono tirati in da alcuni manufatti java fuori.
Penso che '=. =' È deprecato. – goral
Non sono a conoscenza di alcuna deprecazione. Scalaz === è migliore, ma ciò conta solo se hai uno dei casi d'uso che ne hanno bisogno; =: = è sufficiente per l'esempio. – lmm
La sintassi è corretta? Dovrebbe esserci un "=" dopo il tipo esterno? Anche dove dovrei posizionare i tipi? Se li metto al di fuori della classe, ricevo un errore "errata dichiarazione di dichiarazione superiore". Collocarli all'interno della classe ovviamente non fa nulla. Anche Builder è il mio nome tratto ma il tipo di alias sembra nasconderlo? – NSF