132 lines
3.3 KiB
Rust
132 lines
3.3 KiB
Rust
#![warn(clippy::ip_constant)]
|
|
#![allow(dead_code)]
|
|
#![allow(clippy::identity_op)]
|
|
#![allow(clippy::eq_op)]
|
|
|
|
fn literal_test1() {
|
|
use std::net::Ipv4Addr;
|
|
let _ = Ipv4Addr::new(127, 0, 0, 1);
|
|
//~^ ip_constant
|
|
let _ = Ipv4Addr::new(255, 255, 255, 255);
|
|
//~^ ip_constant
|
|
let _ = Ipv4Addr::new(0, 0, 0, 0);
|
|
//~^ ip_constant
|
|
|
|
use std::net::Ipv6Addr;
|
|
let _ = Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1);
|
|
//~^ ip_constant
|
|
let _ = Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0);
|
|
//~^ ip_constant
|
|
}
|
|
|
|
fn literal_test2() {
|
|
use std::net;
|
|
let _ = net::Ipv4Addr::new(127, 0, 0, 1);
|
|
//~^ ip_constant
|
|
let _ = net::Ipv4Addr::new(255, 255, 255, 255);
|
|
//~^ ip_constant
|
|
let _ = net::Ipv4Addr::new(0, 0, 0, 0);
|
|
//~^ ip_constant
|
|
|
|
let _ = net::Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1);
|
|
//~^ ip_constant
|
|
let _ = net::Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0);
|
|
//~^ ip_constant
|
|
}
|
|
|
|
fn literal_test3() {
|
|
let _ = std::net::Ipv4Addr::new(127, 0, 0, 1);
|
|
//~^ ip_constant
|
|
let _ = std::net::Ipv4Addr::new(255, 255, 255, 255);
|
|
//~^ ip_constant
|
|
let _ = std::net::Ipv4Addr::new(0, 0, 0, 0);
|
|
//~^ ip_constant
|
|
|
|
let _ = std::net::Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1);
|
|
//~^ ip_constant
|
|
let _ = std::net::Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0);
|
|
//~^ ip_constant
|
|
}
|
|
|
|
fn wrapped_in_parens() {
|
|
let _ = (std::net::Ipv4Addr::new(127, 0, 0, 1));
|
|
//~^ ip_constant
|
|
let _ = (std::net::Ipv4Addr::new(255, 255, 255, 255));
|
|
//~^ ip_constant
|
|
let _ = (std::net::Ipv4Addr::new(0, 0, 0, 0));
|
|
//~^ ip_constant
|
|
|
|
let _ = (std::net::Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1));
|
|
//~^ ip_constant
|
|
let _ = (std::net::Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0));
|
|
//~^ ip_constant
|
|
}
|
|
|
|
const CONST_U8_0: u8 = 0;
|
|
const CONST_U8_1: u8 = 1;
|
|
const CONST_U8_127: u8 = 127;
|
|
const CONST_U8_255: u8 = 255;
|
|
|
|
const CONST_U16_0: u16 = 0;
|
|
const CONST_U16_1: u16 = 1;
|
|
|
|
fn const_test1() {
|
|
use std::net::Ipv4Addr;
|
|
let _ = Ipv4Addr::new(CONST_U8_127, CONST_U8_0, CONST_U8_0, CONST_U8_1);
|
|
let _ = Ipv4Addr::new(CONST_U8_255, CONST_U8_255, CONST_U8_255, CONST_U8_255);
|
|
let _ = Ipv4Addr::new(CONST_U8_0, CONST_U8_0, CONST_U8_0, CONST_U8_0);
|
|
|
|
use std::net::Ipv6Addr;
|
|
let _ = Ipv6Addr::new(
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_1,
|
|
);
|
|
|
|
let _ = Ipv6Addr::new(
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
CONST_U16_0,
|
|
);
|
|
}
|
|
|
|
fn const_test2() {
|
|
use std::net::Ipv4Addr;
|
|
let _ = Ipv4Addr::new(126 + 1, 0, 0, 1);
|
|
//~^ ip_constant
|
|
let _ = Ipv4Addr::new(254 + CONST_U8_1, 255, { 255 - CONST_U8_0 }, CONST_U8_255);
|
|
let _ = Ipv4Addr::new(0, CONST_U8_255 - 255, 0, { 1 + 0 - 1 });
|
|
|
|
use std::net::Ipv6Addr;
|
|
let _ = Ipv6Addr::new(0 + CONST_U16_0, 0, 0, 0, 0, 0, 0, 1);
|
|
let _ = Ipv6Addr::new(0 + 0, 0, 0, 0, 0, { 2 - 1 - CONST_U16_1 }, 0, 1);
|
|
}
|
|
|
|
macro_rules! ipv4_new {
|
|
($a:expr, $b:expr, $c:expr, $d:expr) => {
|
|
std::net::Ipv4Addr::new($a, $b, $c, $d)
|
|
};
|
|
}
|
|
|
|
fn macro_test() {
|
|
let _ = ipv4_new!(127, 0, 0, 1);
|
|
// no lint
|
|
let _ = ipv4_new!(255, 255, 255, 255);
|
|
// no lint
|
|
let _ = ipv4_new!(0, 0, 0, 0);
|
|
// no lint
|
|
}
|
|
|
|
fn main() {
|
|
// UI Test
|
|
}
|