Par contre Rust ne vérifie jamais que si tu additionnes 2 nombre positif tu ne vas pas dépasser la limite de l entier et te retrouver avec un négatif (ou un nombre plus petit).
Effectivement si tu utilises directement l'opération, par exemple "2 + 2", aucun test de dépassement ne sera effectué. Par contre, je t'invite à regarder toutes les méthodes "checked_*" sur les types primitifs, qui permettent de vérifier ce dépassement, par exemple https://doc.rust-lang.org/std/primitive.u32.html#method.checked_add :
(u32::MAX - 2).checked_add(1) == Some(u32::MAX - 1)
(u32::MAX - 2).checked_add(3) == None
[^] # Re: En...age de mouche
Posté par Joël Thieffry (site web personnel) . En réponse à la dépêche Sortie de GHDL version 1.0.0. Évalué à 5.
Effectivement si tu utilises directement l'opération, par exemple "
2 + 2", aucun test de dépassement ne sera effectué. Par contre, je t'invite à regarder toutes les méthodes "checked_*" sur les types primitifs, qui permettent de vérifier ce dépassement, par exemple https://doc.rust-lang.org/std/primitive.u32.html#method.checked_add :(u32::MAX - 2).checked_add(1) == Some(u32::MAX - 1)
(u32::MAX - 2).checked_add(3) == None