From 88413cd2dc6521fcc3ab66724a492f6141bb0bbf Mon Sep 17 00:00:00 2001 From: Per Lindgren <per.lindgren@ltu.se> Date: Thu, 17 Sep 2020 00:28:37 +0200 Subject: [PATCH] ast printing --- examples/call.rs | 4 ++-- examples/ref2.rs | 2 +- src/ast.rs | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/examples/call.rs b/examples/call.rs index 40e42fc..3609097 100644 --- a/examples/call.rs +++ b/examples/call.rs @@ -2,6 +2,6 @@ fn f(x: i32, y: i32) -> i32 { 3 + 5 + x + y } -fn main() -> i32 { - f(1, 2) +fn main() { + f(1, 2); } diff --git a/examples/ref2.rs b/examples/ref2.rs index 36b9fde..4c59dfe 100644 --- a/examples/ref2.rs +++ b/examples/ref2.rs @@ -1,5 +1,5 @@ fn main() { let mut a = 1; let b = &mut a; - let c = b; + let c: &mut i32 = b; } diff --git a/src/ast.rs b/src/ast.rs index c54d740..0b8b2d3 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -233,10 +233,12 @@ impl Stmt { match self { // Id mut? (: Type)? (= Expr)? Stmt::Let(id, m, ot, oe) => { - write!(fmt, "let {}", id)?; + write!(fmt, "let ")?; if *m { - write!(fmt, " mut")?; + write!(fmt, "mut ")?; } + write!(fmt, "{}", id)?; + if let Some(t) = ot { write!(fmt, ": {}", t)?; } -- GitLab