Add a codegen error type to avoid unwraps
diff --git a/codegen/src/visit.rs b/codegen/src/visit.rs
index 988045d..122d57e 100644
--- a/codegen/src/visit.rs
+++ b/codegen/src/visit.rs
@@ -1,3 +1,4 @@
+use crate::error::Result;
 use crate::operand::{Borrowed, Operand, Owned};
 use crate::{file, full, gen};
 use proc_macro2::{Ident, Span, TokenStream};
@@ -195,7 +196,7 @@
     });
 }
 
-pub fn generate(defs: &Definitions) {
+pub fn generate(defs: &Definitions) -> Result<()> {
     let (traits, impls) = gen::traverse(defs, node);
     let full_macro = full::get_macro();
     file::write(
@@ -230,5 +231,6 @@
 
             #impls
         },
-    );
+    )?;
+    Ok(())
 }