2024-02-27 22:31:41 -06:00
|
|
|
//@aux-build:external_consts.rs
|
|
|
|
|
|
|
|
#![allow(unused)]
|
|
|
|
#![warn(clippy::unnecessary_min_or_max)]
|
|
|
|
#![allow(clippy::identity_op)]
|
|
|
|
|
|
|
|
extern crate external_consts;
|
|
|
|
|
|
|
|
const X: i32 = 1;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
// Both are Literals
|
|
|
|
let _ = (-6_i32);
|
|
|
|
let _ = 9;
|
|
|
|
let _ = 6;
|
|
|
|
let _ = 9_u32;
|
|
|
|
let _ = 6;
|
|
|
|
let _ = 7_u8;
|
|
|
|
|
|
|
|
let x: u32 = 42;
|
|
|
|
// unsigned with zero
|
|
|
|
let _ = 0;
|
|
|
|
let _ = x;
|
|
|
|
let _ = 0_u32;
|
|
|
|
let _ = x;
|
|
|
|
|
|
|
|
let x: i32 = 42;
|
|
|
|
// signed MIN
|
|
|
|
let _ = i32::MIN;
|
|
|
|
let _ = x;
|
|
|
|
let _ = i32::MIN;
|
|
|
|
let _ = x;
|
|
|
|
|
|
|
|
let _ = i32::MIN - 0;
|
|
|
|
let _ = x;
|
|
|
|
|
|
|
|
let _ = i32::MIN - 0;
|
|
|
|
|
|
|
|
// The below cases shouldn't be lint
|
|
|
|
let mut min = u32::MAX;
|
|
|
|
for _ in 0..1000 {
|
|
|
|
min = min.min(random_u32());
|
|
|
|
}
|
|
|
|
|
|
|
|
let _ = 2.min(external_consts::MAGIC_NUMBER);
|
|
|
|
let _ = 2.max(external_consts::MAGIC_NUMBER);
|
|
|
|
let _ = external_consts::MAGIC_NUMBER.min(2);
|
|
|
|
let _ = external_consts::MAGIC_NUMBER.max(2);
|
|
|
|
|
|
|
|
let _ = X.min(external_consts::MAGIC_NUMBER);
|
|
|
|
let _ = X.max(external_consts::MAGIC_NUMBER);
|
|
|
|
let _ = external_consts::MAGIC_NUMBER.min(X);
|
|
|
|
let _ = external_consts::MAGIC_NUMBER.max(X);
|
|
|
|
|
|
|
|
let _ = X.max(12);
|
|
|
|
let _ = X.min(12);
|
|
|
|
let _ = 12.min(X);
|
|
|
|
let _ = 12.max(X);
|
|
|
|
let _ = (X + 1).max(12);
|
|
|
|
let _ = (X + 1).min(12);
|
|
|
|
let _ = 12.min(X - 1);
|
|
|
|
let _ = 12.max(X - 1);
|
|
|
|
}
|
|
|
|
fn random_u32() -> u32 {
|
|
|
|
// random number generator
|
|
|
|
0
|
|
|
|
}
|
2024-08-08 10:22:30 -05:00
|
|
|
|
|
|
|
struct Issue13191 {
|
|
|
|
min: u16,
|
|
|
|
max: u16,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Issue13191 {
|
|
|
|
fn new() -> Self {
|
|
|
|
Self { min: 0, max: 0 }
|
|
|
|
}
|
|
|
|
|
|
|
|
fn min(mut self, value: u16) -> Self {
|
|
|
|
self.min = value;
|
|
|
|
self
|
|
|
|
}
|
|
|
|
|
|
|
|
fn max(mut self, value: u16) -> Self {
|
|
|
|
self.max = value;
|
|
|
|
self
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn issue_13191() {
|
|
|
|
// should not fixed
|
|
|
|
Issue13191::new().min(0);
|
|
|
|
|
|
|
|
// should not fixed
|
|
|
|
Issue13191::new().max(0);
|
|
|
|
}
|