diff options
| author | bors <bors@rust-lang.org> | 2017-07-25 04:00:19 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-07-25 04:00:19 +0000 |
| commit | 917260ebc28acbe162bc2d91c0b3c28b9b2ebfc3 (patch) | |
| tree | 4673ad746cd66aae3877d163234c5f75bdd8ff77 /src/test | |
| parent | 7c46c6c59dbee8d6385f8924fe27cc5a7893841f (diff) | |
| parent | 697491c14dc841d6f34809ad6522f0ccff4905f4 (diff) | |
Auto merge of #43325 - ollie27:overflowing_literals, r=arielb1
Fix overflowing_literals lint for large f32s Float literals need to be parsed as the correct type so they can be rounded correctly.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/lint-type-overflow2.rs | 4 | ||||
| -rw-r--r-- | src/test/run-pass/big-literals.rs | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/test/compile-fail/lint-type-overflow2.rs b/src/test/compile-fail/lint-type-overflow2.rs index a2971f23a79..d399fda3286 100644 --- a/src/test/compile-fail/lint-type-overflow2.rs +++ b/src/test/compile-fail/lint-type-overflow2.rs @@ -17,8 +17,8 @@ fn main() { let x2: i8 = --128; //~ error: literal out of range for i8 //~^ error: attempt to negate with overflow - let x = -3.40282348e+38_f32; //~ error: literal out of range for f32 - let x = 3.40282348e+38_f32; //~ error: literal out of range for f32 + let x = -3.40282357e+38_f32; //~ error: literal out of range for f32 + let x = 3.40282357e+38_f32; //~ error: literal out of range for f32 let x = -1.7976931348623159e+308_f64; //~ error: literal out of range for f64 let x = 1.7976931348623159e+308_f64; //~ error: literal out of range for f64 } diff --git a/src/test/run-pass/big-literals.rs b/src/test/run-pass/big-literals.rs index 19c0e7baaa0..56e0039f66d 100644 --- a/src/test/run-pass/big-literals.rs +++ b/src/test/run-pass/big-literals.rs @@ -8,9 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. - -#![feature(core)] - // Catch mistakes in the overflowing literals lint. #![deny(overflowing_literals)] @@ -21,4 +18,9 @@ pub fn main() { assert_eq!(18446744073709551615, (!0 as u64)); assert_eq!((-2147483648i32).wrapping_sub(1), 2147483647); + + assert_eq!(-3.40282356e+38_f32, ::std::f32::MIN); + assert_eq!(3.40282356e+38_f32, ::std::f32::MAX); + assert_eq!(-1.7976931348623158e+308_f64, ::std::f64::MIN); + assert_eq!(1.7976931348623158e+308_f64, ::std::f64::MAX); } |
