fn serialize_and_write<T: Write>( sess: &Session, output_crate: Crate, writer: BufWriter<T>, path: &str, ) -> Result<(), Error>