1 // Copyright 2024 The Fuchsia Authors 2 // 3 // Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0 4 // <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT 5 // license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option. 6 // This file may not be copied, modified, or distributed except according to 7 // those terms. 8 9 extern crate zerocopy; 10 11 use zerocopy::transmute_mut; 12 13 #[derive(zerocopy::IntoBytes)] 14 #[repr(C)] 15 struct Src; 16 17 #[derive(zerocopy::TryFromBytes)] 18 #[repr(C)] 19 struct Dst; 20 main()21fn main() { 22 // `try_transmute_mut` requires that the source type implements `FromBytes` 23 let src_not_from_bytes: &mut Dst = transmute_mut!(&mut Src); 24 } 25