From 7b1d2e3d913ac2b31428b1a1d8754bf6de722cd3 Mon Sep 17 00:00:00 2001 From: Selimaj Dev Date: Mon, 4 May 2026 17:14:17 +0200 Subject: [PATCH] Removed unnecessary option return type --- parser/src/ast.rs | 2 +- parser/src/lib.rs | 2 +- src/codegen.rs | 13 +++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/parser/src/ast.rs b/parser/src/ast.rs index 0fb43d7..deec78a 100644 --- a/parser/src/ast.rs +++ b/parser/src/ast.rs @@ -47,7 +47,7 @@ pub enum TopLevel { export: bool, name: String, params: ParamList, - return_type: Option, + return_type: TypeExpr, body: Block, }, } diff --git a/parser/src/lib.rs b/parser/src/lib.rs index d7431da..8666c30 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -100,7 +100,7 @@ impl TryFrom> for TopLevel { false }; - let return_type = Some(TypeExpr::from(inner.next().unwrap())); + let return_type = TypeExpr::from(inner.next().unwrap()); let name = inner.next().unwrap().as_str().to_string(); let params = if inner.peek().unwrap().as_rule() == Rule::param_list { diff --git a/src/codegen.rs b/src/codegen.rs index dca4fb5..b16ffda 100644 --- a/src/codegen.rs +++ b/src/codegen.rs @@ -217,12 +217,13 @@ impl ToRust for TopLevel { .collect::>() .join(", "); - let ret = return_type - .as_ref() - .map(|t| format!(" -> {}", t.get_rust())) - .unwrap_or_default(); - - cg.addln(&format!("{}fn {}({}){} {{", vis, name, params_str, ret)); + cg.addln(&format!( + "{}fn {}({}) -> {} {{", + vis, + name, + params_str, + return_type.get_rust() + )); cg.indent += 1; body.to_rust(cg); cg.indent -= 1;