L’équipe en charge du développement de Rust a présenté la version stable 1.89.0 du langage. Parmi les avancées, Rust supporte « _ » comme argument des paramètres génériques const, en déduisant la valeur à partir du contexte environnant. À noter que les développeurs qui ont installé une version précédente de Rust via rustup peuvent obtenir Rust 1.89 en exécutant la commande rustup update stable.

Les responsables de Rust a fourni l’exemple suivant dans son annonce de la sortie :

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

  [false; _]

}

« 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 », a écrit l'équipe :

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

Dans Rust 1.89, les doctests seront désormais testés lors de l'exécution de cargo test --doc --target other_target. Cela peut entraîner certaines ruptures en raison des doctests « potentiellement défaillants » qui sont désormais testés. Les tests défaillants peuvent être désactivés en annotant le doctest avec ignore-. L'équipe a fourni cet exemple :


///
```ignore-x86_64

/// panic!("something")

/// ```

pub fn my_function() { }

Rust 1.89 fait suite à la version 1.88 de Rust, sortie le 26 juin, qui prenait en charge les fonctions « Naked ».

D'autres fonctionnalités

Parmi les autres fonctionnalités de Rust 1.89, on peut citer 

- i128 et u128 ne déclenchent plus le lint improper_ctypes_definitions, ce qui signifie que ces types peuvent être utilisés dans les fonctions extern « C » sans avertissement

- Les fonctions extern « C » sur la cible wasm32-unknown-unknown ont désormais une ABI conforme aux normes

- Pour les plateformes, x86_64-apple-darwin passe du niveau Tier 1 avec outils hôtes au niveau Tier 2 avec outils hôtes

- Un lint mismatched_lifetime_syntaxes a été ajouté pour savoir quand la même durée de vie est référencée par différentes catégories de syntaxe entre les arguments de fonction et les valeurs de retour.