• # Les traits

    Posté par . En réponse à la dépêche Rust 1.0, entrée dans la période stable. Évalué à 5.

    Je trouve le principe des traits très intéressant. Et ça me ramène à Haskell . En lisant apprendre haskell vous fera le plus grand bien, on trouve l’équivalent de la création d’un trait rust avec la définition de la classe Eq(a)

    class Eq a where
     (==) :: a -> a -> Bool
     (/=) :: a -> a -> Bool
     x == y = not (x /= y)
     x /= y = not (x == y)

    Ce qui est bien dans cette déclaration c’est qu’on déclare les deux fonctions relatives l’une par rapport à l’autre, ce qui permet lorsque l’on veut instancier un type en classe Eq, il suffit de définir une des deux fonctions.

    Est-ce possible en rust ?