aboutsummaryrefslogtreecommitdiff
path: root/tests/ui/pin_project/unaligned_references.rs
blob: eaf185d2a32e269ba09b1c98bd6e261633e8f170 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#![forbid(unaligned_references)]

// Refs: https://github.com/rust-lang/rust/issues/82523

#[repr(packed)]
struct Packed {
    f: u32,
}

#[repr(packed(2))]
struct PackedN {
    f: u32,
}

fn main() {
    let a = Packed { f: 1 };
    let _ = &a.f; //~ ERROR reference to packed field is unaligned

    let b = PackedN { f: 1 };
    let _ = &b.f; //~ ERROR reference to packed field is unaligned
}