use std::path::PathBuf; use super::Section; use crate::error::Error; pub trait Output<'data> { fn append_section(&mut self, section: Section<'data>) -> Result<(), Error>; // fn prepare_symbol(&mut self, symbol: impl Lazy) -> Result<&mut Self, Error>; fn finalize(self) -> Result; } pub struct DummyOutput; impl<'data> Output<'data> for DummyOutput { fn append_section(&mut self, section: Section<'data>) -> Result<(), Error> { eprintln!("Appending section: {}", section); Ok(()) } fn finalize(self) -> Result { todo!(); } }