flapigen 0.11.0

Tool for connecting libraries written in Rust with other languages
Documentation
r##"# [ unsafe ( no_mangle ) ] pub extern "C" fn Boo_boo_init ( ) -> * const :: std :: os :: raw :: c_void {
 let this : Rc < RefCell < Boo > > = boo_init ( ) ;
 let this : * const RefCell < Boo > = Rc :: into_raw ( this ) ;
 this as * const :: std :: os :: raw :: c_void
 }"##;

r##"# [ unsafe ( no_mangle ) ] pub extern "C" fn Boo_f1 ( this : * mut RefCell < Boo >, ) -> ( ) {
 let this : & RefCell < Boo > = unsafe { this . as_mut ( ) . unwrap ( ) } ;
 let mut this : Ref < Boo > = this.borrow();
 let mut this : & Boo = & this;
 let mut ret : ( ) = Boo :: f1 ( this , ) ;
 ret }"##;

r##"# [ unsafe ( no_mangle ) ] pub extern "C" fn Boo_delete ( this : * mut RefCell < Boo > ) {
 let this : Rc < RefCell < Boo > > = unsafe { Rc :: from_raw ( this ) } ;
 drop ( this ) ;
 }"##;

r##"# [ unsafe ( no_mangle ) ] pub extern "C" fn Foo_f1 ( a0 : * const :: std :: os :: raw :: c_void , ) -> ( ) {
 assert ! ( ! a0 . is_null ( ) ) ;
 let a0 : & RefCell < Boo > = unsafe { &* ( a0 as * const RefCell < Boo > ) } ;
 let mut a0 : Ref < Boo > = a0.borrow();
 let mut a0 : & Boo = & a0;
 let mut ret : ( ) = f1 ( a0 ) ;
 ret }"##;

r##"# [ unsafe ( no_mangle ) ] pub extern "C" fn Foo_f2 ( a0 : * mut :: std :: os :: raw :: c_void , ) -> ( ) {
 assert ! ( ! a0 . is_null ( ) ) ;
 let a0 : & mut RefCell < Boo > = unsafe { & mut * ( a0 as * mut RefCell < Boo > ) } ;
 let mut a0 : & RefCell < Boo > = a0 ;
 let mut a0 : RefMut < Boo > = a0.borrow_mut();
 let mut a0 : & mut Boo = &mut a0;
 let mut ret : ( ) = f2 ( a0 ) ;
 ret }"##;