summaryrefslogtreecommitdiff
path: root/rust/zerocopy/benches/try_transmute_ref_dynamic_size.rs
blob: c9236e13d23ce72407886e21dee3fff6cab34eec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use zerocopy_derive::*;

#[path = "formats/coco_dynamic_size.rs"]
mod format;

#[derive(IntoBytes, KnownLayout, Immutable)]
#[repr(C, align(2))]
struct MinimalViableSource {
    header: [u8; 6],
    trailer: [[u8; 2]],
}

#[unsafe(no_mangle)]
fn bench_try_transmute_ref_dynamic_size(
    source: &MinimalViableSource,
) -> Option<&format::CocoPacket> {
    zerocopy::try_transmute_ref!(source).ok()
}