Est-ce que quelqu'un sait ce qui se passe ici avec cette erreur de compilation? L'erreur disparaît si je ne prolonge pas l'INode.Problème de type dépendant du chemin abstrait Scala
trait AbsTypes
{
type TKey
type TValue
}
trait INode extends AbsTypes
{
def get(key : TKey) : TValue
def set(key : TKey, v : TValue) : INode
}
class ANode[TKey,TValue](
val akey : TKey,
val aval : TValue
) extends INode
{
// ERROR : type mismatch; found : ANode.this.aval.type (with underlying type TValue) required: ANode.this.TValue
def get(key : TKey) : TValue = { aval }
def set(key : TKey, v : TValue) : INode = {
new ANode(key,v)
}
}
Merci, qui ont résolu cette partie, mais j'ai une question de suivi, je posterai séparément – ACyclic
pourrait être utile d'ajouter ici http: // stackoverflow .com/questions/1332574/common-programming-errors-for-scala-developers-to-avoid – oluies
@Brent, est-ce une erreur * commune *? –