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 }"##;