chipi_core/backend/
rust.rs1use crate::codegen;
7use crate::config::GenTarget;
8use crate::tree;
9use crate::types::ValidatedDef;
10
11use super::{CodegenBackend, CodegenError};
12
13pub struct RustBackend;
15
16impl CodegenBackend for RustBackend {
17 fn lang(&self) -> &str {
18 "rust"
19 }
20
21 fn generate(&self, ir: &ValidatedDef, config: &GenTarget) -> Result<String, CodegenError> {
22 let tree = tree::build_tree(ir);
23 let code = codegen::generate_code(ir, &tree, &config.type_map, &config.dispatch_overrides);
24 Ok(code)
25 }
26
27 fn formatter_command(&self) -> Option<&[&str]> {
28 Some(&["rustfmt"])
29 }
30}