Recent is de stabiele versie van Rust 1.88.0 uitgebracht, die een aantal zeer praktische updates met zich meebrengt.
Voordat we ingaan op de nieuwe functies, laten we het hebben over hoe je kunt upgraden. Open ServBay, zoek Rust onder "Packages" (Pakketten) en klik op de oranje upgradeknop. Dit bespaart je de moeite van het typen van commando's en het omgaan met omgevingsproblemen. Als je dit proces wilt vereenvoudigen, kun je ServBay eens proberen.
Oké, laten we eens kijken wat er nieuw is in Rust 1.88.0.
Hoogtepunten van de nieuwe functies
Let-Chains: Voor schonere conditionele code
Als je ooit met Rust hebt gewerkt, ben je waarschijnlijk het probleem van diep geneste if let
-statements tegengekomen. Om een waarde uit een geneste enum of struct te halen, wordt de code gelaagd en moeilijk leesbaar.
Voorheen schreven we het misschien zo:
// Vorige aanpak, diep genest
if let Channel::Stable(v) = release_info() {
if let Semver { major, minor, .. } = v {
if major == 1 && minor == 88 {
println!("Het kost meerdere lagen om de controle te voltooien...");
}
}
}
Nu lossen "let-chains", geïntroduceerd in versie 1.88.0, dit probleem op. Ze stellen je in staat om meerdere let
-bindingen en booleaanse voorwaarden aan elkaar te ketenen in een if
- of while
-statement met behulp van &&
.
Nu kun je het zo schrijven:
// Met let-chains is de code veel platter
if let Channel::Stable(v) = release_info()
&& let Semver { major, minor, .. } = v
&& major == 1 && minor == 88
{
println!("let_chains maken de logica veel duidelijker.");
}
Zoals je kunt zien, wordt de logica van de code lineairder en veel beter leesbaar.
Het is vermeldenswaard dat de let-chains-functie de Rust 2024 Edition vereist. Dus als je het wilt gebruiken, vergeet dan niet je edition
in Cargo.toml
bij te werken.
Automatische Cargo Cache-opschoning: Een oplossing voor het schijfruimteprobleem
Iedereen die Rust al een tijdje gebruikt, weet dat de ~/.cargo
-map erg groot kan worden omdat deze alle gedownloade afhankelijkheden in de cache opslaat. Na verloop van tijd kan dit tientallen gigabytes aan schijfruimte in beslag nemen, wat handmatige opschoning vereist.
Versie 1.88.0 bevat eindelijk een ingebouwde automatische cache-opschoningsfunctie, die ik erg handig vind. De opschoningsregels zijn eenvoudig:
- Afhankelijkheden die vanuit registers zijn gedownload, worden verwijderd als ze 3 maanden niet zijn gebruikt.
- Lokale afhankelijkheden (zoals Git-afhankelijkheden) worden verwijderd als ze 1 maand niet zijn gebruikt.
Met deze functie hoeven we ons geen zorgen meer te maken dat de Cargo-cache te veel schijfruimte in beslag neemt.
Naakte Functies (Naked Functions)
Voor ontwikkelaars die aan low-level taken werken, zoals het schrijven van besturingssysteemkernels of embedded programma's, zijn de nieuw toegevoegde naakte functies (#[naked]
) een nuttige nieuwe optie. Ze stellen ontwikkelaars in staat om een functie te schrijven waarvan de body volledig uit inline assembly bestaat, aangezien de compiler geen extra assembly-code (zoals een functie-proloog en -epiloog) zal toevoegen. Dit geeft volledige controle over de implementatie van de functie, wat in bepaalde scenario's cruciaal is.
Andere updates
Er zijn ook enkele kleine maar nuttige updates, zoals:
- Booleaanse configuraties: Je kunt nu direct
cfg(true)
of cfg(false)
schrijven in cfg
-attributen, wat intuïtiever is dan het eerdere cfg(all())
.
- API-stabilisaties: Een reeks API's, waaronder
HashMap::extract_if
en Cell::update
, zijn gestabiliseerd en nu klaar voor productiegebruik in je projecten.
Hoe upgrade je naar Rust 1.88.0 met ServBay
Ik heb eerder vermeld dat ik ServBay gebruik om versies te beheren. Hier zijn de specifieke stappen, die heel eenvoudig zijn:
- Open de ServBay-applicatie.
- Zoek "Packages" (Pakketten) in de linkerzijbalk.
- Je zult Rust zien in de lijst met talen. Klik op de oranje upgradeknop ernaast.

Als je ServBay nog niet hebt geïnstalleerd en het wilt proberen, kun je het downloaden van de officiële website (https://www.servbay.com).
Na het downloaden ga je naar "Packages" in de linkerzijbalk, zoek je Rust en klik je op de groene downloadknop om het te installeren.

Het hele proces wordt beheerd via een grafische interface, zonder dat er een command line nodig is. De belangrijkste redenen waarom ik graag ServBay gebruik, zijn:
- Beheer via GUI: Het elimineert het gedoe van het onthouden en typen van commando's, wat vooral handig is als je schakelt tussen meerdere talen (zoals Python en Go) en een uniforme beheerinterface wilt.
- Omgevingsisolatie: Verschillende versies van tools en talen kunnen naast elkaar bestaan zonder elkaar te storen, wat het gemakkelijk maakt om omgevingen voor verschillende projecten te configureren.
Samenvatting
Over het algemeen is Rust 1.88.0 een zeer praktische release. Functies zoals let-chains en automatische Cargo-cache-opschoning pakken direct veelvoorkomende problemen aan die men in de dagelijkse ontwikkeling tegenkomt, en verbeteren de ontwikkelaarservaring aanzienlijk.
Als je op een moeiteloze manier deze nieuwe functies wilt ervaren, raad ik je aan om ServBay te proberen om de Rust-omgeving te installeren en te beheren. Op die manier kun je meer tijd besteden aan het schrijven van code en minder tijd aan het worstelen met je omgeving. Ik hoop dat dit artikel nuttig was.