Re: [PATCH v2 1/1] rust: use checked_div to make clippy happy
Martin Kletzander <[email protected]> Wed, 25 Feb 2026 10:49:40 +0100
| Newsgroups | org.nongnu.qemu-rust,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Feb 19, 2026 at 01:54:09PM -0500, John Snow wrote: >When upgrading from Fedora 41 to Fedora 43 for CI tests, clippy begins >complaining about not using checked_div instead of manually checking >divisors. Make clippy happy and use checked_div() instead. > >Signed-off-by: John Snow <[email protected]> >--- > rust/hw/core/src/qdev.rs | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > >diff --git a/rust/hw/core/src/qdev.rs b/rust/hw/core/src/qdev.rs >index 145e20a984f..b2e5441079d 100644 >--- a/rust/hw/core/src/qdev.rs >+++ b/rust/hw/core/src/qdev.rs >@@ -425,18 +425,16 @@ pub const fn period_from_ns(ns: u64) -> u64 { > } > > pub const fn period_from_hz(hz: u64) -> u64 { >- if hz == 0 { >- 0 >- } else { >- Self::PERIOD_1SEC / hz >+ match Self::PERIOD_1SEC.checked_div(hz) { >+ Some(value) => value, >+ None => 0, > } > } > > pub const fn period_to_hz(period: u64) -> u64 { >- if period == 0 { >- 0 >- } else { >- Self::PERIOD_1SEC / period >+ match Self::PERIOD_1SEC.checked_div(period) { >+ Some(value) => value, >+ None => 0, This looks like unwrap_or_default: https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&code=fn%20main()%20%7B%0A%20%20let%20asdf%20%3D%20100u64%3B%0A%0A%20%20println!(%22%7B%3A%23%3F%7D%22%2C%20asdf.checked_div(5).unwrap_or_default())%3B%0A%20%20println!(%22%7B%3A%23%3F%7D%22%2C%20asdf.checked_div(0).unwrap_or_default())%3B%0A%7D%0A in case you want to make it shorter O:-) > } > } > >-- >2.53.0 > >
signature.asc
(application/pgp-signature, 870 B)
-----BEGIN PGP SIGNATURE----- iQJPBAABCAA5FiEEiXAnXDYdKAaCyvS1CB/CnyQXht0FAmmexbQbFIAAAAAABAAO bWFudTIsMi41KzEuMTEsMiwyAAoJEAgfwp8kF4bd254P+gPYUqzDhLphSojcYc1Z nSZIjJYQUXdPvQnolP/ydFnfW+IMzCX9M2BD346x6nsqPyWb2zvULVpx8OOPnIG2 yTj9CHQBXrLXCdVBzPhbJuogpS8YL1s4MPF3XLxxPdkLH+tuxAwSWWniF6bV41yi sPC1ohnXw9YqVKBj7J0stZRbtupoH6l+L/gENCIQUwuRl4BPmCCLEMdIbx06in3Y K7cqO/J5J1CeGoaTRQhY1vyc0YizxiI5wzoKHUR4hZTPZIDt7WYIjEOswwkUZarw TwyczuH4lwqls1hyM6/oxea/+CrYkFU2qPLA3I6scjWu93RqX6qgrpgNqUZtlojv z1sE4relQVzmm5OJXPDMAHFtDKg8GgvwGy6ncAOHnjYgB84r/hdXNm5TF/eCEQVc zJDGe6wF2o5qnD6wrFBUWVFs4qAbxEXhIMSxQdNWGDpu20M8h8MYwWyXSv6XzeNT 6fupBwSmszE3kaEK8cHEI6+nOXI2jMNy5hCOi2ErKg7e4Kz8yeVVAhx59TVQ94QA 9Hqdrz7Sedzl4dcV0hAGvqUTPdZaA2r/fos7Qr5z6WbspdLDgp04AwQ9D7cluxyS akcYRgSWzvfjCsq0ske153/9pyRR0xANwQKBprSnUpvpeOfwjL41yaQObWEkMvlj u0qkK2o14zJDXiCmjIg1ROj7 =YJWd -----END PGP SIGNATURE-----