2min

Tags in dit artikel

,

De ontwikkelaars van de Rust-programmeertaal hebben recent een inkijk gegeven in de nieuwe eigenschappen van de komende Rust 2021-versie van de programmeertaal.

De programmeertaal Rust is binnen de wereld van DevOps sterk in opmars. De opensource-programmeertaal wordt door veel ontwikkelaars als een goed alternatief gezien voor andere programmeertalen als het gaat om systems programming. Het ooit door Mozilla ontwikkelde Rust biedt veel meer garanties voor veilig geheugen dan vergelijkbare programmeertalen als C en C++. Rust wordt daarom door ontwikkelaars vaak gebruikt voor het coderen van drivers en compilers.

Versie Rust 2021

Onlangs hebben de ontwikkelaars de nieuwste functionaliteit voor de Rust 2021-versie geaccordeerd. Deze 2021-versie is de derde grote versie van de programmeertaal. Alle toegevoegde functionaliteit is backwards compatible. De nieuwe eigenschappen zijn eigenlijk ‘opt-in updates’.

Dit betekent dat ontwikkelaars pas de veranderingen van Rust zien als zij naar de laatste versie migreren. Hierdoor zijn bijvoorbeeld ‘crates’ in de ene versie of editie interoperabel met crates in een andere editie. Een upgrade naar een nieuwere editie is eigenlijk een ‘privébeslissing’ die een crate maakt, zonder dat dit invloed heeft op andere crates.

Workarounds

Nieuwe functionaliteit in Rust 2021 is onder meer een nieuwe ‘prelude’. Deze module omvat alle zaken die automatisch in iedere module worden geïmporteerd. Wanneer aan een module een nieuwe eigenschap wordt toegevoegd, kan dit bestaande code ‘breken’. Wel kan een nieuwe eigenschap worden toegevoegd als een workaround. In de straks gepresenteerde Rust 2021-versie zijn in de nieuwe prelude drie nieuwe eigenschappen toegevoegd ten opzichte van de huidige prelude; std::convert::TryInto, std::convert::TryFrom, and std::iter::FromIterator.

Een andere workaround is toegevoegd aan de eigenschap IntoIterator. Deze eigenschap zorgt er in oudere versie nu nog voor dat code wordt gebroken. Met een workaround is dit probleem nu volgens het Rust-ontwikkelteam opgelost. Helaas wel een workaroud, maar het onderlinge verschil tussen de drie edities van Rust wordt hiermee tot een minimum beperkt.

Overige functionaliteit

Overige toegevoegde functionaliteit in Rust 2021 is onder meer een nieuwe functionaliteitsoplosser die niet langer alle opgevraagde eigenschappen in crates die dependencies zijn stopt. Verder zijn er nog zogenoemde ‘closures’, wat nieuwe syntax, een meer consistente panic!() macro en nieuwe mogelijkehden voor zogenoemde ‘patterns’ toegevoegd.

Alle functionaliteit moet tegen de maand september van dit jaar uitgebreid zijn getest. Het ligt in de bedoeling Rust 2021 aan het einde van oktober 2021 algemeen beschikbaar te maken.

Tip: Google wil Rust-programmeertaal aan Linux-kernel toevoegen