• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1---
2source: macro/src/lib.rs
3expression: "rustfmt_code(&gen_bridge(parse_quote! {\n                            mod ffi\n                            {\n                                struct Foo {} impl Foo\n                                {\n                                    pub fn make_uppercase(s : & mut str) { unimplemented! () }\n                                }\n                            }\n                        }).to_token_stream().to_string())"
4---
5mod ffi {
6    #[repr(C)]
7    struct Foo {}
8    impl Foo {
9        pub fn make_uppercase(s: &mut str) {
10            unimplemented!()
11        }
12    }
13    #[no_mangle]
14    extern "C" fn Foo_make_uppercase(s_diplomat_data: *mut u8, s_diplomat_len: usize) {
15        Foo::make_uppercase(unsafe {
16            core::str::from_utf8_mut(core::slice::from_raw_parts_mut(
17                s_diplomat_data,
18                s_diplomat_len,
19            ))
20            .unwrap()
21        })
22    }
23    #[no_mangle]
24    extern "C" fn Foo_destroy(this: Box<Foo>) {}
25}
26
27