[go: up one dir, main page]

ref-cast 1.0.25

Safely cast &T to &U where the struct U contains a single field of type T.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#[forbid(unsafe_code)]
mod forbid_unsafe {
    use ref_cast::{ref_cast_custom, RefCastCustom};

    #[derive(RefCastCustom)]
    #[repr(transparent)]
    pub struct Custom(#[allow(dead_code)] str);

    impl Custom {
        #[ref_cast_custom]
        pub fn new(s: &str) -> &Custom;
    }
}

#[test]
fn test_forbid_unsafe() {
    forbid_unsafe::Custom::new("...");
}