From f5bb7bbd8824a20c991587d5a774644aa98241d9 Mon Sep 17 00:00:00 2001 From: Mel Date: Thu, 3 Mar 2022 02:30:46 +0100 Subject: Allow returns without value --- src/parse/ast/statement.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/parse/ast/statement.rs') diff --git a/src/parse/ast/statement.rs b/src/parse/ast/statement.rs index 7ed91dc..899190b 100644 --- a/src/parse/ast/statement.rs +++ b/src/parse/ast/statement.rs @@ -16,7 +16,7 @@ pub enum StatementKind { Print(Expression), Break(Option), Continue, - Return(Expression), + Return(Option), } impl Display for Statement { @@ -39,8 +39,12 @@ impl Statement { expression.nested_fmt(f, depth + 1)?; } StatementKind::Return(expression) => { - writeln!(f, "{}Return:", pad)?; - expression.nested_fmt(f, depth + 1)?; + if let Some(returned) = expression { + writeln!(f, "{}Return:", pad)?; + returned.nested_fmt(f, depth + 1)?; + } else { + writeln!(f, "{}Return", pad)?; + } } StatementKind::Break(expression) => { if let Some(returned_on_break) = expression { -- cgit 1.4.1