xref: /linux/rust/zerocopy/benches/transmute_ref_dynamic_size.rs (revision b079329b8691768962aa514b8f8c9077ca352459)
1*c3739801SMiguel Ojeda use zerocopy_derive::*;
2*c3739801SMiguel Ojeda 
3*c3739801SMiguel Ojeda #[path = "formats/coco_dynamic_size.rs"]
4*c3739801SMiguel Ojeda mod format;
5*c3739801SMiguel Ojeda 
6*c3739801SMiguel Ojeda #[derive(IntoBytes, KnownLayout, Immutable)]
7*c3739801SMiguel Ojeda #[repr(C, align(2))]
8*c3739801SMiguel Ojeda struct MinimalViableSource {
9*c3739801SMiguel Ojeda     header: [u8; 6],
10*c3739801SMiguel Ojeda     trailer: [[u8; 2]],
11*c3739801SMiguel Ojeda }
12*c3739801SMiguel Ojeda 
13*c3739801SMiguel Ojeda #[unsafe(no_mangle)]
14*c3739801SMiguel Ojeda fn bench_transmute_ref_dynamic_size(source: &MinimalViableSource) -> &format::LocoPacket {
15*c3739801SMiguel Ojeda     zerocopy::transmute_ref!(source)
16*c3739801SMiguel Ojeda }
17