Sto cercando di scrivere del codice generico, ma non riesco a eliminare l'errore Type of 'PROPERTY' is not a subtype of the overridden property
.Kotlin: sostituisce la proprietà generica nel sottotipo
versione semplificata del mio codice:
abstract class BaseP<V> {
var view: V? = null
}
abstract class BaseF {
fun smth() {
pp.view = this
}
abstract val pp: BaseP<BaseF>
}
abstract class SubF: BaseF() {
abstract override val pp: BaseP<SubF>
// Error:(20, 30) Type of 'pp' is not a subtype of the overridden property 'public abstract val pp: BaseP<BaseF> defined in BaseF'
}
ho trovato che l'errore può essere @Suppress
-ed, ma dubito che sia migliore e unico modo. C'è qualcosa di meglio?
E dopotutto non riesco a capire, perché subtypeA<subtypeB>
non conta come sottotipo di baseA<baseB>
, qualcuno può spiegarlo?
quale riga genera l'errore? – voddan