Neuer Ansatz für nicht initialisierte Puffer in Rust: Das Buffer-Trait

2025-05-21

Nicht initialisierte Puffer in Rust waren lange Zeit eine Herausforderung. John Nunley und Alex Saveau haben eine neue Lösung mit einem `Buffer`-Trait vorgestellt. Dieses Trait ermöglicht das sichere Lesen in nicht initialisierte Puffer und bietet Implementierungen für `&mut [T]` und `&mut [MaybeUninit]`. Es nutzt auch geschickt die überschüssige Kapazität von `Vec` und kapselt den unsicheren `Vec::set_len`-Aufruf. Dieser Ansatz ist jetzt in rustix 1.0 integriert und als eigenständige Bibliothek, `buffer-trait`, veröffentlicht, mit der Möglichkeit einer zukünftigen Aufnahme in die Standardbibliothek von Rust.

Entwicklung