Fix float cmp to use assoc fxx::EPSILON

This commit is contained in:
Linus Färnstrand 2020-04-06 23:57:57 +02:00
parent 0b4ee9a649
commit 645b62e436
3 changed files with 11 additions and 11 deletions

View File

@ -388,7 +388,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MiscLints {
),
Applicability::HasPlaceholders, // snippet
);
db.span_note(expr.span, "`std::f32::EPSILON` and `std::f64::EPSILON` are available.");
db.span_note(expr.span, "`f32::EPSILON` and `f64::EPSILON` are available.");
});
} else if op == BinOpKind::Rem && is_integer_const(cx, right, 1) {
span_lint(cx, MODULO_ONE, expr.span, "any number modulo 1 will be 0");

View File

@ -5,7 +5,7 @@ LL | ONE as f64 != 2.0;
| ^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(ONE as f64 - 2.0).abs() > error`
|
= note: `-D clippy::float-cmp` implied by `-D warnings`
note: `std::f32::EPSILON` and `std::f64::EPSILON` are available.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp.rs:59:5
|
LL | ONE as f64 != 2.0;
@ -17,7 +17,7 @@ error: strict comparison of `f32` or `f64`
LL | x == 1.0;
| ^^^^^^^^ help: consider comparing them within some error: `(x - 1.0).abs() < error`
|
note: `std::f32::EPSILON` and `std::f64::EPSILON` are available.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp.rs:64:5
|
LL | x == 1.0;
@ -29,7 +29,7 @@ error: strict comparison of `f32` or `f64`
LL | twice(x) != twice(ONE as f64);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(twice(x) - twice(ONE as f64)).abs() > error`
|
note: `std::f32::EPSILON` and `std::f64::EPSILON` are available.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp.rs:67:5
|
LL | twice(x) != twice(ONE as f64);

View File

@ -5,7 +5,7 @@ LL | 1f32 == ONE;
| ^^^^^^^^^^^ help: consider comparing them within some error: `(1f32 - ONE).abs() < error`
|
= note: `-D clippy::float-cmp-const` implied by `-D warnings`
note: `std::f32::EPSILON` and `std::f64::EPSILON` are available.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp_const.rs:20:5
|
LL | 1f32 == ONE;
@ -17,7 +17,7 @@ error: strict comparison of `f32` or `f64` constant
LL | TWO == ONE;
| ^^^^^^^^^^ help: consider comparing them within some error: `(TWO - ONE).abs() < error`
|
note: `std::f32::EPSILON` and `std::f64::EPSILON` are available.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp_const.rs:21:5
|
LL | TWO == ONE;
@ -29,7 +29,7 @@ error: strict comparison of `f32` or `f64` constant
LL | TWO != ONE;
| ^^^^^^^^^^ help: consider comparing them within some error: `(TWO - ONE).abs() > error`
|
note: `std::f32::EPSILON` and `std::f64::EPSILON` are available.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp_const.rs:22:5
|
LL | TWO != ONE;
@ -41,7 +41,7 @@ error: strict comparison of `f32` or `f64` constant
LL | 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.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp_const.rs:23:5
|
LL | ONE + ONE == TWO;
@ -53,7 +53,7 @@ error: strict comparison of `f32` or `f64` constant
LL | x as f32 == ONE;
| ^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(x as f32 - ONE).abs() < error`
|
note: `std::f32::EPSILON` and `std::f64::EPSILON` are available.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp_const.rs:25:5
|
LL | x as f32 == ONE;
@ -65,7 +65,7 @@ error: strict comparison of `f32` or `f64` constant
LL | v == ONE;
| ^^^^^^^^ help: consider comparing them within some error: `(v - ONE).abs() < error`
|
note: `std::f32::EPSILON` and `std::f64::EPSILON` are available.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp_const.rs:28:5
|
LL | v == ONE;
@ -77,7 +77,7 @@ error: strict comparison of `f32` or `f64` constant
LL | v != ONE;
| ^^^^^^^^ help: consider comparing them within some error: `(v - ONE).abs() > error`
|
note: `std::f32::EPSILON` and `std::f64::EPSILON` are available.
note: `f32::EPSILON` and `f64::EPSILON` are available.
--> $DIR/float_cmp_const.rs:29:5
|
LL | v != ONE;