Wat te verwachten in Rust 2021

De Roest -team heeft nieuwe inzichten onthuld in wat te verwachten van Rust 2021, dat volgens de planning in oktober 2021 zal worden uitgebracht.

Rust 2021 is de derde editie van de taal. Edities in Rust zijn opt-in-updates die functies introduceren die achterwaarts incompatibel zijn. Omdat ze zich hebben aangemeld, zien ontwikkelaars de wijzigingen niet, tenzij ze besluiten om naar die editie te migreren.

Volgens het team zijn kratten in de ene editie interoperabel met kratten die in een andere editie zijn samengesteld. “Dit zorgt ervoor dat de beslissing om naar een nieuwere editie te migreren een ‘privé’ is die de kist kan maken zonder anderen te beïnvloeden”, schreef het Rust-team in een blogpost.

GERELATEERDE INHOUD: Wat is al het gedoe over Rust?

Een wijziging die in deze editie wordt aangebracht, is een nieuwe prelude, een module die de dingen bevat die automatisch in elke module worden geïmporteerd. Het toevoegen van een eigenschap aan de prelude kan bestaande code breken, maar als een tijdelijke oplossing zal Rust 2021 een nieuwe prelude bevatten die drie toevoegingen heeft ten opzichte van de huidige: std :: convert :: TryInto, std :: convert :: TryFrom en std :: iter :: FromIterator.

Deze editie introduceert ook een kleine oplossing voor IntoIterator, die momenteel breuken in bestaande code veroorzaakt. “In Rust 2015 en 2018 code, zal de compiler nog steeds array.into_iter () omzetten in (& array) .into_iter () zoals voorheen, alsof de trait-implementatie niet bestaat. Dit is alleen van toepassing op de aanroepsyntaxis van de methode .into_iter (). Het heeft geen invloed op andere syntaxis, zoals voor e in [1, 2, 3], iter.zip ([1, 2, 3]) of IntoIterator :: into_iter ([1, 2, 3]). Die zullen in alle edities gaan werken. Hoewel het jammer is dat hiervoor een kleine hack nodig was om breuk te voorkomen, zijn we erg blij met hoe deze oplossing het verschil tussen de edities tot een absoluut minimum beperkt. Aangezien de hack alleen aanwezig is in de oudere edities, is er geen extra complexiteit in de nieuwe editie, ”legde het Rust-team uit.

Rust 2021 zal ook een nieuwe feature resolver introduceren die niet langer alle gevraagde features samenvoegt in kratten die afhankelijk zijn.

In de nieuwe editie zullen sluitingen, die automatisch alles vastleggen waarnaar vanuit hun lichaam wordt verwezen, alleen de velden vastleggen die ze daadwerkelijk gebruiken.

Rust 2021 zal ook een meer consistente paniek! () Macro introduceren. De nieuwe macro accepteert geen willekeurige uitdrukkingen als hun enige argument.

Deze release zal ook wat syntaxis reserveren om later ruimte te maken voor nieuwe syntaxis. Het zal prefix # identifier, prefix ”string”, prefix’c ‘en prefix # 123 reserveren.

Bovendien maakt het twee bestaande harde fouten in plaats van alleen waarschuwingen zoals ze nu zijn. Het gebruik van het trefwoord dyn om eigenschapobjecten te identificeren zal verplicht zijn, en de verouderde… syntaxis voor patronen met een inclusief bereik wordt niet meer geaccepteerd.

Ten slotte werden in Rust 1.53 patronen uitgebreid om | te ondersteunen genest ergens in het patroon, waardoor ontwikkelaars Some (1 | 2) konden schrijven in plaats van Some (1) | Sommige (2). Deze wijziging is van invloed op macro_rules-macro’s omdat ze patronen kunnen accepteren met de: pat-specificatie, maar: pat komt niet overeen |. Vanaf Rust 2021 kan de: pat fragment specificeerder overeenkomen met A | B.

Deze functies zijn de laatste functies die beschikbaar zullen zijn in Rust 2021. Ze werden gekozen door de Rust 2021-werkgroep door te voldoen aan twee criteria: 1) ze moesten worden goedgekeurd door het juiste Rust-team en 2) hun implementatie moest was zo ver dat de groep er vertrouwen in had dat ze op tijd klaar waren voor de geplande mijlpalen.

De Rust 2021 Working Group is van plan om deze wijzigingen in september te laten samenvoegen en testen om ervoor te zorgen dat Rust 2021 kan worden toegevoegd aan Rust 1.56.0. Rust 1.56.0 zal zes weken in bèta zijn en op 21 oktober als stabiel worden uitgebracht. Het zal in juli nog een aankondiging over de nieuwe editie uitbrengen, op welk punt alle wijzigingen moeten zijn geïmplementeerd en klaar om te testen.

CreditSource link

We will be happy to hear your thoughts

Leave a reply

Pan-Belgium
Logo
Compare items
  • Total (0)
Compare
0
Shopping cart