Trait (Rust)
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).