summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/endian_bytes.rs
blob: 6bf014fc8095158f89eb4502145a002e3ab9f764 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#![allow(unused)]
#![allow(clippy::diverging_sub_expression)]
#![no_main]

macro_rules! fn_body {
    () => {
        2u8.to_ne_bytes();
        2i8.to_ne_bytes();
        2u16.to_ne_bytes();
        2i16.to_ne_bytes();
        2u32.to_ne_bytes();
        2i32.to_ne_bytes();
        2u64.to_ne_bytes();
        2i64.to_ne_bytes();
        2u128.to_ne_bytes();
        2i128.to_ne_bytes();
        2.0f32.to_ne_bytes();
        2.0f64.to_ne_bytes();
        2usize.to_ne_bytes();
        2isize.to_ne_bytes();
        u8::from_ne_bytes(todo!());
        i8::from_ne_bytes(todo!());
        u16::from_ne_bytes(todo!());
        i16::from_ne_bytes(todo!());
        u32::from_ne_bytes(todo!());
        i32::from_ne_bytes(todo!());
        u64::from_ne_bytes(todo!());
        i64::from_ne_bytes(todo!());
        u128::from_ne_bytes(todo!());
        i128::from_ne_bytes(todo!());
        usize::from_ne_bytes(todo!());
        isize::from_ne_bytes(todo!());
        f32::from_ne_bytes(todo!());
        f64::from_ne_bytes(todo!());

        2u8.to_le_bytes();
        2i8.to_le_bytes();
        2u16.to_le_bytes();
        2i16.to_le_bytes();
        2u32.to_le_bytes();
        2i32.to_le_bytes();
        2u64.to_le_bytes();
        2i64.to_le_bytes();
        2u128.to_le_bytes();
        2i128.to_le_bytes();
        2.0f32.to_le_bytes();
        2.0f64.to_le_bytes();
        2usize.to_le_bytes();
        2isize.to_le_bytes();
        u8::from_le_bytes(todo!());
        i8::from_le_bytes(todo!());
        u16::from_le_bytes(todo!());
        i16::from_le_bytes(todo!());
        u32::from_le_bytes(todo!());
        i32::from_le_bytes(todo!());
        u64::from_le_bytes(todo!());
        i64::from_le_bytes(todo!());
        u128::from_le_bytes(todo!());
        i128::from_le_bytes(todo!());
        usize::from_le_bytes(todo!());
        isize::from_le_bytes(todo!());
        f32::from_le_bytes(todo!());
        f64::from_le_bytes(todo!());
    };
}

// bless breaks if I use fn_body too much (oops)
macro_rules! fn_body_smol {
    () => {
        2u8.to_ne_bytes();
        u8::from_ne_bytes(todo!());

        2u8.to_le_bytes();
        u8::from_le_bytes(todo!());

        2u8.to_be_bytes();
        u8::from_be_bytes(todo!());
    };
}

#[rustfmt::skip]
#[warn(clippy::host_endian_bytes)]
fn host() { fn_body!(); }

#[rustfmt::skip]
#[warn(clippy::little_endian_bytes)]
fn little() { fn_body!(); }

#[rustfmt::skip]
#[warn(clippy::big_endian_bytes)]
fn big() { fn_body!(); }

#[rustfmt::skip]
#[warn(clippy::host_endian_bytes)]
#[warn(clippy::big_endian_bytes)]
fn host_encourage_little() { fn_body_smol!(); }

#[rustfmt::skip]
#[warn(clippy::host_endian_bytes)]
#[warn(clippy::little_endian_bytes)]
fn host_encourage_big() { fn_body_smol!(); }

#[rustfmt::skip]
#[warn(clippy::host_endian_bytes)]
#[warn(clippy::little_endian_bytes)]
#[warn(clippy::big_endian_bytes)]
fn no_help() { fn_body_smol!(); }

#[rustfmt::skip]
#[warn(clippy::little_endian_bytes)]
#[warn(clippy::big_endian_bytes)]
fn little_encourage_host() { fn_body_smol!(); }

#[rustfmt::skip]
#[warn(clippy::host_endian_bytes)]
#[warn(clippy::little_endian_bytes)]
fn little_encourage_big() { fn_body_smol!(); }

#[rustfmt::skip]
#[warn(clippy::big_endian_bytes)]
#[warn(clippy::little_endian_bytes)]
fn big_encourage_host() { fn_body_smol!(); }

#[rustfmt::skip]
#[warn(clippy::host_endian_bytes)]
#[warn(clippy::big_endian_bytes)]
fn big_encourage_little() { fn_body_smol!(); }