fix: changed CodeGen sig is not reflected to callers

Note: TokenStream::extend accepts `Result`s, so be careful
This commit is contained in:
Wataru Otsubo 2025-02-01 19:54:34 +09:00
parent e147bc513d
commit a87e81ad5b

View file

@ -129,7 +129,8 @@ impl CodeGen for Module {
let child_mods = self
.elements_other
.into_iter()
.map(|e| e.generate_register_interface());
.map(|e| e.generate_register_interface())
.collect::<Result<Vec<_>, _>>()?;
for child in child_mods {
out.extend(child);
}
@ -172,15 +173,11 @@ impl CodeGen for Block {
out
};
let child_mods = {
let mut out = TokenStream::new();
for child_mod in self.elements.into_iter() {
let module = child_mod.generate_register_interface();
out.extend(module);
}
out
};
let code_children = self
.elements
.into_iter()
.map(|e| e.generate_register_interface())
.collect::<Result<Vec<_>, _>>()?;
Ok(quote! {
pub mod #snake_case_name {
@ -190,7 +187,7 @@ impl CodeGen for Block {
use super::RegisterInterface;
#child_mods
#(#code_children)*
const OFFSET: usize = #addr;
//pub(crate) const SIZE: usize = 0x4000;