From 3444f93546984ca71b3c36cce50f2c32472ab7c7 Mon Sep 17 00:00:00 2001 From: Selimaj Dev Date: Thu, 28 May 2026 11:36:28 +0200 Subject: [PATCH] Updated codegen --- crates/codegen/src/lib.rs | 12 +++++++----- crates/codegen/src/statement.rs | 5 +---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/crates/codegen/src/lib.rs b/crates/codegen/src/lib.rs index ff34768..bbdf66c 100644 --- a/crates/codegen/src/lib.rs +++ b/crates/codegen/src/lib.rs @@ -4,10 +4,6 @@ pub mod top_level; use mist_parser::ast::*; -pub fn get_mutable(mutable: bool) -> String { - if mutable { "mut " } else { "" }.to_string() -} - pub struct Context { pub expr_ensure_semicolon: bool, } @@ -239,7 +235,13 @@ impl GenRust for Pattern { fn gen_rust(&self, ctx: &mut Context, cg: &mut RustCodegen) { match self { Self::Id(id) => cg.add(&id.get_rust()), - Self::Path(path) => cg.add(&path.get_rust()), + Self::Path(mutable, path) => { + if *mutable { + cg.add("mut "); + }; + + cg.add(&path.get_rust()) + } Self::Literal(lit) => lit.gen_rust(ctx, cg), Self::Struct(path, ids) => { diff --git a/crates/codegen/src/statement.rs b/crates/codegen/src/statement.rs index e55bf4c..13b1a59 100644 --- a/crates/codegen/src/statement.rs +++ b/crates/codegen/src/statement.rs @@ -1,6 +1,6 @@ use mist_parser::ast::*; -use crate::{Context, get_mutable}; +use crate::Context; use crate::{GenRust, GetRust, RustCodegen}; @@ -164,7 +164,6 @@ impl GenRust for Statement { body, } => { cg.add("for "); - cg.add(&get_mutable(*mutable)); pattern.gen_rust(ctx, cg); cg.add(" in "); iterator.gen_rust(ctx, cg); @@ -186,8 +185,6 @@ impl GenRust for Statement { impl GenRust for VarDecl { fn gen_rust(&self, ctx: &mut Context, cg: &mut RustCodegen) { - cg.add(&get_mutable(self.mutable)); - self.name.gen_rust(ctx, cg); cg.add(