1- use anyhow:: bail;
1+ use anyhow:: { Result , bail} ;
22use heck:: { ToPascalCase , ToShoutySnakeCase , ToSnakeCase , ToUpperCamelCase } ;
33use indexmap:: { IndexMap , IndexSet } ;
44use std:: {
@@ -331,11 +331,11 @@ impl Cpp {
331331 name : Option < & ' a WorldKey > ,
332332 in_guest_import : bool ,
333333 wasm_import_module : Option < String > ,
334- ) -> CppInterfaceGenerator < ' a > {
334+ ) -> Result < CppInterfaceGenerator < ' a > > {
335335 let mut sizes = SizeAlign :: default ( ) ;
336- sizes. fill ( resolve) ;
336+ sizes. fill ( resolve) ? ;
337337
338- CppInterfaceGenerator {
338+ Ok ( CppInterfaceGenerator {
339339 _src : Source :: default ( ) ,
340340 r#gen : self ,
341341 resolve,
@@ -344,7 +344,7 @@ impl Cpp {
344344 sizes,
345345 in_guest_import,
346346 wasm_import_module,
347- }
347+ } )
348348 }
349349
350350 fn clang_format ( code : & mut String ) {
@@ -549,7 +549,7 @@ impl WorldGenerator for Cpp {
549549 let store = self . start_new_file ( None ) ;
550550 let wasm_import_module = resolve. name_world_key ( name) ;
551551 let binding = Some ( name) ;
552- let mut r#gen = self . interface ( resolve, binding, true , Some ( wasm_import_module) ) ;
552+ let mut r#gen = self . interface ( resolve, binding, true , Some ( wasm_import_module) ) ? ;
553553 r#gen. interface = Some ( id) ;
554554 let namespace = namespace ( resolve, & TypeOwner :: Interface ( id) , false , & * r#gen. r#gen ) ;
555555 let docs = resolve. interfaces [ id] . docs . contents . as_deref ( ) ;
@@ -605,7 +605,7 @@ impl WorldGenerator for Cpp {
605605 self . update_instance_name ( resolve, name, id) ;
606606 let wasm_import_module = resolve. name_world_key ( name) ;
607607 let binding = Some ( name) ;
608- let mut r#gen = self . interface ( resolve, binding, false , Some ( wasm_import_module) ) ;
608+ let mut r#gen = self . interface ( resolve, binding, false , Some ( wasm_import_module) ) ? ;
609609 r#gen. interface = Some ( id) ;
610610 let namespace = namespace ( resolve, & TypeOwner :: Interface ( id) , true , & * r#gen. r#gen ) ;
611611 let docs = resolve. interfaces [ id] . docs . contents . as_deref ( ) ;
@@ -632,11 +632,12 @@ impl WorldGenerator for Cpp {
632632 world : WorldId ,
633633 funcs : & [ ( & str , & Function ) ] ,
634634 _files : & mut Files ,
635- ) {
635+ ) -> Result < ( ) > {
636636 let name = WorldKey :: Name ( "$root" . to_string ( ) ) ; //WorldKey::Name(resolve.worlds[world].name.clone());
637637 let wasm_import_module = resolve. name_world_key ( & name) ;
638638 let binding = Some ( name) ;
639- let mut r#gen = self . interface ( resolve, binding. as_ref ( ) , true , Some ( wasm_import_module) ) ;
639+ let mut r#gen =
640+ self . interface ( resolve, binding. as_ref ( ) , true , Some ( wasm_import_module) ) ?;
640641 let namespace = namespace ( resolve, & TypeOwner :: World ( world) , false , & * r#gen. r#gen ) ;
641642
642643 for ( _name, func) in funcs. iter ( ) {
@@ -645,6 +646,7 @@ impl WorldGenerator for Cpp {
645646 r#gen. generate_function ( func, & TypeOwner :: World ( world) , AbiVariant :: GuestImport ) ;
646647 }
647648 }
649+ Ok ( ( ) )
648650 }
649651
650652 fn export_funcs (
@@ -656,7 +658,7 @@ impl WorldGenerator for Cpp {
656658 ) -> anyhow:: Result < ( ) > {
657659 let name = WorldKey :: Name ( resolve. worlds [ world] . name . clone ( ) ) ;
658660 let binding = Some ( name) ;
659- let mut r#gen = self . interface ( resolve, binding. as_ref ( ) , false , None ) ;
661+ let mut r#gen = self . interface ( resolve, binding. as_ref ( ) , false , None ) ? ;
660662 let namespace = namespace ( resolve, & TypeOwner :: World ( world) , true , & * r#gen. r#gen ) ;
661663
662664 for ( _name, func) in funcs. iter ( ) {
@@ -674,11 +676,12 @@ impl WorldGenerator for Cpp {
674676 _world : WorldId ,
675677 types : & [ ( & str , TypeId ) ] ,
676678 _files : & mut Files ,
677- ) {
678- let mut r#gen = self . interface ( resolve, None , true , Some ( "$root" . to_string ( ) ) ) ;
679+ ) -> Result < ( ) > {
680+ let mut r#gen = self . interface ( resolve, None , true , Some ( "$root" . to_string ( ) ) ) ? ;
679681 for ( name, id) in types. iter ( ) {
680682 r#gen. define_type ( name, * id) ;
681683 }
684+ Ok ( ( ) )
682685 }
683686
684687 fn finish (
0 commit comments