diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2020-04-17 21:42:22 -0400 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2020-05-06 08:14:21 -0400 |
| commit | 9907ad6ed9fde5ccdb58a7d59d652a4c8a98a346 (patch) | |
| tree | 7470f8e3ea081729bd155d40dab7310f601c5940 /src/librustc_interface | |
| parent | a0c61a904482129989f5c1e5cb9f1008efb76f7f (diff) | |
| download | rust-9907ad6ed9fde5ccdb58a7d59d652a4c8a98a346.tar.gz rust-9907ad6ed9fde5ccdb58a7d59d652a4c8a98a346.zip | |
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.`
Diffstat (limited to 'src/librustc_interface')
| -rw-r--r-- | src/librustc_interface/tests.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/librustc_interface/tests.rs b/src/librustc_interface/tests.rs index 0a200426e38..ad1934c9786 100644 --- a/src/librustc_interface/tests.rs +++ b/src/librustc_interface/tests.rs @@ -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)); |
