diplomat 0.5.0

The diplomat FFI generation macro
Documentation
---
source: macro/src/lib.rs
expression: "rustfmt_code(&gen_bridge(parse_quote! {\n                            mod ffi\n                            {\n                                struct Foo {} impl Foo\n                                { pub fn from_str(s : & str) { unimplemented! () } }\n                            }\n                        }).to_token_stream().to_string())"
---
mod ffi {
    #[repr(C)]
    struct Foo {}
    impl Foo {
        pub fn from_str(s: &str) {
            unimplemented!()
        }
    }
    #[no_mangle]
    extern "C" fn Foo_from_str(s_diplomat_data: *const u8, s_diplomat_len: usize) {
        Foo::from_str(unsafe {
            core::str::from_utf8(core::slice::from_raw_parts(s_diplomat_data, s_diplomat_len))
                .unwrap()
        })
    }
    #[no_mangle]
    extern "C" fn Foo_destroy(this: Box<Foo>) {}
}