summaryrefslogtreecommitdiffstats
path: root/tests/ui/lint/auxiliary/unaligned_references_external_crate.rs
blob: fb486c6b59ae045dcf0609b39784603ccbe54ffe (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
#[macro_export]
macro_rules! mac {
    (
        $(#[$attrs:meta])*
        pub struct $ident:ident {
            $(
                $(#[$pin:ident])?
                $field_vis:vis $field:ident: $field_ty:ty
            ),+ $(,)?
        }
    ) => {
        $(#[$attrs])*
        pub struct $ident {
            $(
                $field_vis $field: $field_ty
            ),+
        }

        const _: () = {
            #[deny(unaligned_references)]
            fn __f(this: &$ident) {
                $(
                    let _ = &this.$field;
                )+
            }
        };
    };
}