RS.CLIPPY.CAST_PRECISION_LOSS
Casts that cause loss of precision, e.g., `x as f32` where `x: u64`
This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: cast_precision_loss. Copyright ©2025 The Rust Team. All rights reserved.
What it does
Checks for casts from any numeric type to a float type where
the receiving type cannot store all values from the original type without
rounding errors. This possible rounding is to be expected, so this lint is
Allow by default.
Basically, this warns on casting any integer with 32 or more bits to f32
or any 64-bit integer to f64.
Why is this bad?
It's not bad at all. But in some applications it can be helpful to know where precision loss can take place. This lint can help find those places in the code.
Example
let x = u64::MAX;
x as f64;