Define UB in float-to-int casts to saturate
- Round to zero, and representable values cast directly.
- `NaN` goes to 0
- Values beyond the limits of the type are saturated to the "nearest value"
(essentially rounding to zero, in some sense) in the integral type, so e.g.
`f32::INFINITY` would go to `{u,i}N::MAX.`
This commit is contained in:
parent
a0c61a9044
commit
9907ad6ed9
5 changed files with 10 additions and 11 deletions
|
|
@ -558,7 +558,7 @@ fn test_debugging_options_tracking_hash() {
|
|||
tracked!(sanitizer, Some(Sanitizer::Address));
|
||||
tracked!(sanitizer_memory_track_origins, 2);
|
||||
tracked!(sanitizer_recover, vec![Sanitizer::Address]);
|
||||
tracked!(saturating_float_casts, true);
|
||||
tracked!(saturating_float_casts, Some(true));
|
||||
tracked!(share_generics, Some(true));
|
||||
tracked!(show_span, Some(String::from("abc")));
|
||||
tracked!(src_hash_algorithm, Some(SourceFileHashAlgorithm::Sha1));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue