IT-lexikon › Programmering › Trait (Rust)

Trait (Rust)

Programmering In English → Uppdaterad: 2026-05-26

Rusts mekanism för shared behavior. Liknar interfaces (Java) eller typeclasses (Haskell). trait Animal { fn speak(&self) -> String; }. Implementeras separat från typen.

Skiljs från Java interface: du kan implementera trait för typer du inte äger (orphan rule begränsar dock cross-crate). Default-implementationer: trait kan ge metod-implementation som överrides. Trait objects (dyn Trait) ger runtime polymorphism (vtable-baserat). Static dispatch (generics + trait bounds) är default — monomorphization. Stora standard-traits: Clone, Debug, Display, Iterator, Serialize/Deserialize. Async traits stabiliserades i Rust 1.75 (2023).

← Tillbaka till lexikonet