Wie funktioniert Pinning in Rust 1.33?

Rust 1.33: Pinning, stabile APIs und mehr
Keine Kommentare

In Rust 1.33 wurde Pinning eingeführt. Pinning gilt als Schritt in Richtung einer Implementierung von async und await. Außerdem stehen neue Möglichkeiten für die Arbeit mit const fn bereit und weitere APIs haben den Stable-Status erhalten.

Das Rust-Team hat Rust 1.33 veröffentlicht. Viele der enthaltenen Änderungen betreffen Const-Fn-Funktionen und das Pinning. Mehrere weitere Rust-APIs gelten nun als stabil.

Im Blogpost zum Release von Rust 1.33 werden die Veränderungen für Const-Fn-Funktionen als eines der größten Features dieses Releases bezeichnet. Dazu gehören let– und let mut-Bindings. Diese können nun in const fn verwendet werden. Ausdrücke mit Assignments oder Assignment-Operatoren stehen nun ebenfalls innerhalb von Const-Fn-Funktionen zur Verfügung. Darüber hinaus ist es nun möglich, einen const unsafe fn-Aufruf aus einer const fn-Funktion heraus zu tätigen.

Pinning und APIs mit Stable-Status in Rust 1.33

Pinning ist ein neues Feature in Rust 1.33, das vom Rust-Team als ein wichtiger Schritt in Richtung der Implementierung von async und await in Rust beschrieben wird. Das nun stabil implementierte Feature sorgt dafür, dass gepinnte Daten an einer festen Adresse im Speicher bleiben. Auf die Adresse gepinnter Daten kann somit zuverlässig verwiesen werden. Aus der Dokumentation geht hervor, dass das Pinning aufgehoben werden muss, bevor gepinnte Daten verschoben werden können. Auch eine Freigabe des entsprechenden Speicherabschnitts ist erst nach der Aufhebung des Pinnings möglich. Im Blogpost zum Release von Rust 1.33 wird geschildert, dass der std::pin::Pin<P>-Typ sowie der Unpin-Marker-Trait zur Nutzung von Pinning bereitstehen.

Im Rahmen des neuen Rust-Releases wurde eine Reihe weiterer APIs als stable gekennzeichnet. Darunter sind neben den fürs Pinning relevanten APIs pin::Pin und marker::Unpin auch unix:FlieExt::read_exact_at, convert::identity oder Duration::as_millis.

Weitere Informationen zu allen Änderungen in Rust 1.33 bieten der entsprechende Blogpost des Rust-Teams sowie die Release Notes.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -