Skip to content

Commit

Permalink
Automatic generation of error annotations for ui tests
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeGomez committed Jul 28, 2023
1 parent c4e4641 commit 3723670
Show file tree
Hide file tree
Showing 686 changed files with 6,399 additions and 2,744 deletions.
19 changes: 19 additions & 0 deletions tests/ui/absurd-extreme-comparisons.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,46 @@ fn main() {
const Z: u32 = 0;
let u: u32 = 42;
u <= 0;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
u <= Z;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
u < Z;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
Z >= u;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
Z > u;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
u > u32::MAX;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
u >= u32::MAX;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
u32::MAX < u;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
u32::MAX <= u;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
1-1 > u;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
u >= !0;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
u <= 12 - 2*6;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
let i: i8 = 0;
i < -127 - 1;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
i8::MAX >= i;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
3-7 < i32::MIN;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
let b = false;
b >= true;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
false > b;
//~^ ERROR: this comparison involving the minimum or maximum element for this type con
u > 0; // ok
// this is handled by clippy::unit_cmp
() < {};
//~^ ERROR: <-comparison of unit values detected. This will always be false
//~| NOTE: `#[deny(clippy::unit_cmp)]` on by default
}

use std::cmp::{Ordering, PartialEq, PartialOrd};
Expand Down
34 changes: 17 additions & 17 deletions tests/ui/absurd-extreme-comparisons.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -8,135 +8,135 @@ LL | u <= 0;
= note: `-D clippy::absurd-extreme-comparisons` implied by `-D warnings`

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:15:5
--> $DIR/absurd-extreme-comparisons.rs:16:5
|
LL | u <= Z;
| ^^^^^^
|
= help: because `Z` is the minimum value for this type, the case where the two sides are not equal never occurs, consider using `u == Z` instead

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:16:5
--> $DIR/absurd-extreme-comparisons.rs:18:5
|
LL | u < Z;
| ^^^^^
|
= help: because `Z` is the minimum value for this type, this comparison is always false

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:17:5
--> $DIR/absurd-extreme-comparisons.rs:20:5
|
LL | Z >= u;
| ^^^^^^
|
= help: because `Z` is the minimum value for this type, the case where the two sides are not equal never occurs, consider using `Z == u` instead

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:18:5
--> $DIR/absurd-extreme-comparisons.rs:22:5
|
LL | Z > u;
| ^^^^^
|
= help: because `Z` is the minimum value for this type, this comparison is always false

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:19:5
--> $DIR/absurd-extreme-comparisons.rs:24:5
|
LL | u > u32::MAX;
| ^^^^^^^^^^^^
|
= help: because `u32::MAX` is the maximum value for this type, this comparison is always false

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:20:5
--> $DIR/absurd-extreme-comparisons.rs:26:5
|
LL | u >= u32::MAX;
| ^^^^^^^^^^^^^
|
= help: because `u32::MAX` is the maximum value for this type, the case where the two sides are not equal never occurs, consider using `u == u32::MAX` instead

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:21:5
--> $DIR/absurd-extreme-comparisons.rs:28:5
|
LL | u32::MAX < u;
| ^^^^^^^^^^^^
|
= help: because `u32::MAX` is the maximum value for this type, this comparison is always false

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:22:5
--> $DIR/absurd-extreme-comparisons.rs:30:5
|
LL | u32::MAX <= u;
| ^^^^^^^^^^^^^
|
= help: because `u32::MAX` is the maximum value for this type, the case where the two sides are not equal never occurs, consider using `u32::MAX == u` instead

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:23:5
--> $DIR/absurd-extreme-comparisons.rs:32:5
|
LL | 1-1 > u;
| ^^^^^^^
|
= help: because `1-1` is the minimum value for this type, this comparison is always false

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:24:5
--> $DIR/absurd-extreme-comparisons.rs:34:5
|
LL | u >= !0;
| ^^^^^^^
|
= help: because `!0` is the maximum value for this type, the case where the two sides are not equal never occurs, consider using `u == !0` instead

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:25:5
--> $DIR/absurd-extreme-comparisons.rs:36:5
|
LL | u <= 12 - 2*6;
| ^^^^^^^^^^^^^
|
= help: because `12 - 2*6` is the minimum value for this type, the case where the two sides are not equal never occurs, consider using `u == 12 - 2*6` instead

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:27:5
--> $DIR/absurd-extreme-comparisons.rs:39:5
|
LL | i < -127 - 1;
| ^^^^^^^^^^^^
|
= help: because `-127 - 1` is the minimum value for this type, this comparison is always false

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:28:5
--> $DIR/absurd-extreme-comparisons.rs:41:5
|
LL | i8::MAX >= i;
| ^^^^^^^^^^^^
|
= help: because `i8::MAX` is the maximum value for this type, this comparison is always true

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:29:5
--> $DIR/absurd-extreme-comparisons.rs:43:5
|
LL | 3-7 < i32::MIN;
| ^^^^^^^^^^^^^^
|
= help: because `i32::MIN` is the minimum value for this type, this comparison is always false

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:31:5
--> $DIR/absurd-extreme-comparisons.rs:46:5
|
LL | b >= true;
| ^^^^^^^^^
|
= help: because `true` is the maximum value for this type, the case where the two sides are not equal never occurs, consider using `b == true` instead

error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false
--> $DIR/absurd-extreme-comparisons.rs:32:5
--> $DIR/absurd-extreme-comparisons.rs:48:5
|
LL | false > b;
| ^^^^^^^^^
|
= help: because `false` is the minimum value for this type, this comparison is always false

error: <-comparison of unit values detected. This will always be false
--> $DIR/absurd-extreme-comparisons.rs:35:5
--> $DIR/absurd-extreme-comparisons.rs:52:5
|
LL | () < {};
| ^^^^^^^
Expand Down
23 changes: 23 additions & 0 deletions tests/ui/approx_const.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,63 +2,86 @@
#[allow(clippy::similar_names)]
fn main() {
let my_e = 2.7182;
//~^ ERROR: approximate value of `f{32, 64}::consts::E` found
let almost_e = 2.718;
//~^ ERROR: approximate value of `f{32, 64}::consts::E` found
let no_e = 2.71;

let my_1_frac_pi = 0.3183;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_1_PI` found
let no_1_frac_pi = 0.31;

let my_frac_1_sqrt_2 = 0.70710678;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_1_SQRT_2` found
let almost_frac_1_sqrt_2 = 0.70711;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_1_SQRT_2` found
let my_frac_1_sqrt_2 = 0.707;

let my_frac_2_pi = 0.63661977;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_2_PI` found
let no_frac_2_pi = 0.636;

let my_frac_2_sq_pi = 1.128379;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_2_SQRT_PI` found
let no_frac_2_sq_pi = 1.128;

let my_frac_pi_2 = 1.57079632679;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_PI_2` found
let no_frac_pi_2 = 1.5705;

let my_frac_pi_3 = 1.04719755119;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_PI_3` found
let no_frac_pi_3 = 1.047;

let my_frac_pi_4 = 0.785398163397;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_PI_4` found
let no_frac_pi_4 = 0.785;

let my_frac_pi_6 = 0.523598775598;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_PI_6` found
let no_frac_pi_6 = 0.523;

let my_frac_pi_8 = 0.3926990816987;
//~^ ERROR: approximate value of `f{32, 64}::consts::FRAC_PI_8` found
let no_frac_pi_8 = 0.392;

let my_ln_10 = 2.302585092994046;
//~^ ERROR: approximate value of `f{32, 64}::consts::LN_10` found
let no_ln_10 = 2.303;

let my_ln_2 = 0.6931471805599453;
//~^ ERROR: approximate value of `f{32, 64}::consts::LN_2` found
let no_ln_2 = 0.693;

let my_log10_e = 0.4342944819032518;
//~^ ERROR: approximate value of `f{32, 64}::consts::LOG10_E` found
let no_log10_e = 0.434;

let my_log2_e = 1.4426950408889634;
//~^ ERROR: approximate value of `f{32, 64}::consts::LOG2_E` found
let no_log2_e = 1.442;

let log2_10 = 3.321928094887362;
//~^ ERROR: approximate value of `f{32, 64}::consts::LOG2_10` found
let no_log2_10 = 3.321;

let log10_2 = 0.301029995663981;
//~^ ERROR: approximate value of `f{32, 64}::consts::LOG10_2` found
let no_log10_2 = 0.301;

let my_pi = 3.1415;
//~^ ERROR: approximate value of `f{32, 64}::consts::PI` found
let almost_pi = 3.14;
//~^ ERROR: approximate value of `f{32, 64}::consts::PI` found
let no_pi = 3.15;

let my_sq2 = 1.4142;
//~^ ERROR: approximate value of `f{32, 64}::consts::SQRT_2` found
let no_sq2 = 1.414;

let my_tau = 6.2832;
//~^ ERROR: approximate value of `f{32, 64}::consts::TAU` found
let almost_tau = 6.28;
//~^ ERROR: approximate value of `f{32, 64}::consts::TAU` found
let no_tau = 6.3;
}
Loading

0 comments on commit 3723670

Please sign in to comment.