IT-lexicon › Programmeren › Trait (Rust)

Trait (Rust)

Programmeren Svenska → Bijgewerkt: 2026-10-04

Het mechanisme van Rust voor gedeeld gedrag. Lijkt op interfaces (Java) of typeclasses (Haskell): trait Animal { fn speak(&self) -> String; }. Wordt los van het type geïmplementeerd.

Verschilt van een Java-interface doordat je een trait ook voor types kunt implementeren die je niet zelf bezit (al beperkt de orphan rule dit tussen crates). Standaardimplementaties: een trait kan een methode meegeven die weer overschreven mag worden. Trait objects (dyn Trait) geven runtime-polymorfisme (op basis van een vtable). Static dispatch (generics met trait bounds) is de standaard — monomorphization.

Belangrijke standaardtraits: Clone, Debug, Display, Iterator, Serialize/Deserialize. Async traits werden gestabiliseerd in Rust 1.75 (2023).

← Terug naar het lexicon