Aller au contenu

Lundi 5 octobre 2026 Mis à jour à 21 h 50

Lire sans pub

Rust 1.89 : support des génériques const avec « _ » – France

Par Sara 2 min de lecture France

Garder Discussion

Rust 1.89, génériques const, programmation, développement logiciel : la version stable 1.89.0 du langage Rust introduit notamment la possibilité d’utiliser « _ » comme argument pour des paramètres génériques const, en déduisant la valeur à partir du contexte environnant, ainsi que d’autres ajustements techniques destinés aux développeurs.

Rust 1.89 : support des génériques const et exemples fournis

Illustration Rust version 1.89
La version 1.89 de Rust apporte son lot de nouveautés. (Crédit Photo: Rust)

L’équipe en charge du développement de Rust a publié la version stable 1.89.0. Parmi les avancées annoncées, Rust accepte désormais « _ » comme argument des paramètres génériques const, en déduisant la valeur à partir du contexte environnant. Les développeurs qui utilisent rustup peuvent obtenir cette version en exécutant rustup update stable.

Les responsables de Rust ont fourni cet exemple pour illustrer le nouveau comportement :

pub fn all_false() -> [bool; LEN] {
[false; _]
}

Ils précisent également les limites de cette fonctionnalité : « Tout comme les règles régissant l’utilisation de « _ » en tant que type, « _ » n’est pas autorisé en tant qu’argument pour les génériques const dans une signature ». L’annonce inclut aussi des exemples de signatures non autorisées :

// This is not allowed
pub const fn all_false()-> [bool; _] {
[false; LEN]
}
// Neither is this

Doctests, cibles wasm et autres changements techniques dans Rust 1.89

Rust 1.89 modifie le comportement des doctests : ils sont désormais exécutés lors d’un cargo test –doc –target other_target. Cette exécution supplémentaire peut entraîner des ruptures pour des doctests « potentiellement défaillants » qui n’étaient pas testés précédemment. Pour éviter d’exécuter un doctest spécifique, il est possible de l’annoter avec ignore-.

L’équipe donne l’exemple d’un doctest ignoré pour une architecture donnée :

/// ignore-x86_64
/// panic!(« something »)
///
pub fn my_function() { }

La version 1.89 succède à la version 1.88, publiée le 26 juin, qui avait introduit le support des fonctions « Naked ».

Liste des autres modifications notables

  • i128 et u128 ne déclenchent plus le lint improper_ctypes_definitions : ces types peuvent dorénavant être utilisés dans des fonctions extern « C » sans avertissement.
  • Les fonctions extern « C » ciblant wasm32-unknown-unknown disposent désormais d’une ABI conforme aux normes attendues pour cette cible.
  • La plateforme x86_64-apple-darwin change de niveau : elle passe du niveau Tier 1 avec outils hôtes au niveau Tier 2 avec outils hôtes.
  • Un nouveau lint, mismatched_lifetime_syntax, a été ajouté pour signaler les cas où la même durée de vie est référencée par différentes syntaxes entre les arguments d’une fonction et ses valeurs de retour.

Ces ajustements portent sur des comportements ciblés du compilateur, des lints et des compatibilités d’ABI, et visent à améliorer la robustesse et la portabilité des projets Rust sur diverses cibles.

Compatibilité, mise à jour et précautions pour les développeurs

Les développeurs souhaitant migrer vers Rust 1.89 doivent tenir compte des changements de test mentionnés ci‑dessus, en particulier si leurs dépôts contiennent des doctests non testés auparavant. Pour récupérer la version stable via rustup, la commande fournie par les mainteneurs est simple : rustup update stable.

Enfin, la sortie de Rust 1.89 illustre la continuité des évolutions du langage : chaque version apporte des ajustements syntaxiques et des améliorations de compatibilité sans modifier, dans les exemples fournis, le comportement fondamental du langage au-delà de la déduction des arguments const et des lints associés.

source:https://www.lemondeinformatique.fr/actualites/lire-rust-189-ajoute-un-argument-pour-les-generiques-const-97633.html

Cet article vous a-t-il aidé à comprendre ?

Connectez-vous pour donner votre avis : il aide la rédaction à savoir ce qui reste à expliquer.

Abonnement One Media

Lisez One Media sans publicité

Formule

Aucune publicité sur votre compte, votre carte de lecteur numérotée à votre nom, résiliable à tout moment.

Toutes les formules, dont l’annuel avec 2 mois offerts

Discussion

Soyez le premier à réagir. Un compte gratuit suffit ; le premier message est relu avant publication.

Se connecter Créer un compte

À lire ensuite

Toute la rubrique Tech

Explorer

Chargement des rubriques…

Votre compte

Créez un compte gratuit pour garder des articles, suivre des rubriques, retrouver votre historique et participer aux débats.

Se connecter Créer un compte