Rust est un langage de programmation système axé sur la sécurité, la rapidité et la concurrence.Pour mettre à jour votre version stable, il suffit d’exécuter la commande habituelle.
| Code bash : | Sélectionner tout |
$ rustup update stable
Quoi de neuf ?
De nouveaux correctifs ont été apportés, principalement axés sur les expressions (et les vérifications sous-jacentes) permises par le compilateur. Comme pour la 1.26.1, cette mise à jour n’a pour but que de stabiliser les fonctionnalités existantes.
Bogue dans la règle des emprunts mutables
En dehors des blocs unsafe, le compilateur ne permet pas deux accès en écriture sur une même ressource en simultané. Toutefois, un est bogue survenu, suite à un recyclage apporté par la 1.26.0 visant à améliorer l’ergonomie de match, permettant ainsi de casser la règle précédemment citée.
Ici, par exemple, nous disposons de deux accès en écriture sur bar au même moment.
| Code Rust : | Sélectionner tout |
1 2 3 4 5 6 7 8 | let mut foo = Some("foo".to_string()); let bar = &mut foo; match bar { Some(baz) => { bar.take(); // Should not be permitted, as baz has a unique reference to the bar pointer. }, None => unreachable!(), } |
| Code Rust : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 | error[E0499]: cannot borrow `*bar` as mutable more than once at a time --> src/main.rs:6:9 | 5 | Some(baz) => { | --- first mutable borrow occurs here 6 | bar.take(); // Should not be permitted, as baz has a ... | ^^^ second mutable borrow occurs here ... 9 | } | - first borrow ends here error: aborting due to previous error |
Source
Le blog de l'équipe Rust
Voir aussi
La version stable de Rust 1.26.1 est désormais disponible !
Vous avez lu gratuitement 20 368 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.