Skip to content

Commit

Permalink
put back negative tests but allow float_cmp
Browse files Browse the repository at this point in the history
  • Loading branch information
clippered committed Nov 6, 2017
1 parent ddaf858 commit 66bc125
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 30 deletions.
9 changes: 7 additions & 2 deletions tests/ui/float_cmp_const.rs
Expand Up @@ -2,6 +2,7 @@


#![warn(float_cmp_const)]
#![allow(float_cmp)]
#![allow(unused, no_effect, unnecessary_operation)]

const ONE: f32 = 1.0;
Expand Down Expand Up @@ -35,6 +36,10 @@ fn main() {
ONE != ::std::f32::INFINITY;
ONE == ::std::f32::NEG_INFINITY;

// Note: float_cmp will warn as expected on cases where there are no float constants
// e.g. v == 1.0
// no errors, but will warn float_cmp if '#![allow(float_cmp)]' above is removed
let w = 1.1;
v == w;
v != w;
v == 1.0;
v != 1.0;
}
56 changes: 28 additions & 28 deletions tests/ui/float_cmp_const.stderr
@@ -1,85 +1,85 @@
error: strict comparison of f32 or f64 constant
--> $DIR/float_cmp_const.rs:16:5
--> $DIR/float_cmp_const.rs:17:5
|
16 | 1f32 == ONE;
17 | 1f32 == ONE;
| ^^^^^^^^^^^ help: consider comparing them within some error: `(1f32 - ONE).abs() < error`
|
= note: `-D float-cmp-const` implied by `-D warnings`
note: std::f32::EPSILON and std::f64::EPSILON are available.
--> $DIR/float_cmp_const.rs:16:5
--> $DIR/float_cmp_const.rs:17:5
|
16 | 1f32 == ONE;
17 | 1f32 == ONE;
| ^^^^^^^^^^^

error: strict comparison of f32 or f64 constant
--> $DIR/float_cmp_const.rs:17:5
--> $DIR/float_cmp_const.rs:18:5
|
17 | TWO == ONE;
18 | TWO == ONE;
| ^^^^^^^^^^ help: consider comparing them within some error: `(TWO - ONE).abs() < error`
|
note: std::f32::EPSILON and std::f64::EPSILON are available.
--> $DIR/float_cmp_const.rs:17:5
--> $DIR/float_cmp_const.rs:18:5
|
17 | TWO == ONE;
18 | TWO == ONE;
| ^^^^^^^^^^

error: strict comparison of f32 or f64 constant
--> $DIR/float_cmp_const.rs:18:5
--> $DIR/float_cmp_const.rs:19:5
|
18 | TWO != ONE;
19 | TWO != ONE;
| ^^^^^^^^^^ help: consider comparing them within some error: `(TWO - ONE).abs() < error`
|
note: std::f32::EPSILON and std::f64::EPSILON are available.
--> $DIR/float_cmp_const.rs:18:5
--> $DIR/float_cmp_const.rs:19:5
|
18 | TWO != ONE;
19 | TWO != ONE;
| ^^^^^^^^^^

error: strict comparison of f32 or f64 constant
--> $DIR/float_cmp_const.rs:19:5
--> $DIR/float_cmp_const.rs:20:5
|
19 | ONE + ONE == TWO;
20 | ONE + ONE == TWO;
| ^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(ONE + ONE - TWO).abs() < error`
|
note: std::f32::EPSILON and std::f64::EPSILON are available.
--> $DIR/float_cmp_const.rs:19:5
--> $DIR/float_cmp_const.rs:20:5
|
19 | ONE + ONE == TWO;
20 | ONE + ONE == TWO;
| ^^^^^^^^^^^^^^^^

error: strict comparison of f32 or f64 constant
--> $DIR/float_cmp_const.rs:20:5
--> $DIR/float_cmp_const.rs:21:5
|
20 | 1 as f32 == ONE;
21 | 1 as f32 == ONE;
| ^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(1 as f32 - ONE).abs() < error`
|
note: std::f32::EPSILON and std::f64::EPSILON are available.
--> $DIR/float_cmp_const.rs:20:5
--> $DIR/float_cmp_const.rs:21:5
|
20 | 1 as f32 == ONE;
21 | 1 as f32 == ONE;
| ^^^^^^^^^^^^^^^

error: strict comparison of f32 or f64 constant
--> $DIR/float_cmp_const.rs:23:5
--> $DIR/float_cmp_const.rs:24:5
|
23 | v == ONE;
24 | v == ONE;
| ^^^^^^^^ help: consider comparing them within some error: `(v - ONE).abs() < error`
|
note: std::f32::EPSILON and std::f64::EPSILON are available.
--> $DIR/float_cmp_const.rs:23:5
--> $DIR/float_cmp_const.rs:24:5
|
23 | v == ONE;
24 | v == ONE;
| ^^^^^^^^

error: strict comparison of f32 or f64 constant
--> $DIR/float_cmp_const.rs:24:5
--> $DIR/float_cmp_const.rs:25:5
|
24 | v != ONE;
25 | v != ONE;
| ^^^^^^^^ help: consider comparing them within some error: `(v - ONE).abs() < error`
|
note: std::f32::EPSILON and std::f64::EPSILON are available.
--> $DIR/float_cmp_const.rs:24:5
--> $DIR/float_cmp_const.rs:25:5
|
24 | v != ONE;
25 | v != ONE;
| ^^^^^^^^

0 comments on commit 66bc125

Please sign in to comment.