IT-Lexikon › Programmierung › Marker-Trait

Marker-Trait

Programmierung Svenska → Aktualisiert: 2026-09-13

Ein Rust-Trait ohne Methoden, das rein als Signal auf Typebene dient: Send (sicher an andere Threads übergebbar), Sync (sicher zwischen Threads teilbar), Sized (Größe zur Kompilierzeit bekannt), Copy.

Der Compiler erzwingt Traits über das Typsystem: Nur Send-Typen dürfen an einen anderen Thread übergeben werden. Die meisten Typen sind automatisch Send und Sync, sofern es auch ihre Felder sind. Rc<T> ist nicht Send (die Referenzzählung ist nicht threadsicher), Arc<T> ist Send und Sync. Marker-Traits bilden das Fundament von Rusts "fearless concurrency". Moderne Verwendung: Bibliotheksautoren definieren eigene Marker-Traits für API-Beschränkungen ("dieser Typ muss sicher für X sein"). Der Unterschied zu einem gewöhnlichen Trait: ein Marker hat kein Verhalten, nur eine Klassifikation. Einen Marker-Trait implementiert man mit unsafe impl Send for MyType {}, falls der Compiler ihn nicht selbst ableiten kann.

← Zurück zum Lexikon