From 1ee1d078e2480ddd08d40915bc7a74a8352acff0 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Fri, 30 Jul 2021 18:04:08 +0200 Subject: Fatal errors - Makes errors fatal, so that a phase is only reached when all previous phases were error-free - Parsing still recovers and can produce multiple errors - Evaluation fails fast and can thus produce only a single error (except for parse errors due to an import) - The single error that could occur during execution is removed for now - Removes Value::Error variant --- src/syntax/node.rs | 4 +--- src/syntax/visit.rs | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'src/syntax') diff --git a/src/syntax/node.rs b/src/syntax/node.rs index 9294fecd..881752a6 100644 --- a/src/syntax/node.rs +++ b/src/syntax/node.rs @@ -1,5 +1,3 @@ -use std::rc::Rc; - use super::*; /// A syntax node, encompassing a single logical entity of parsed source code. @@ -52,7 +50,7 @@ pub struct HeadingNode { /// The section depth (numer of equals signs). pub level: usize, /// The contents of the heading. - pub body: Rc, + pub body: SyntaxTree, } /// An item in an unordered list: `- ...`. diff --git a/src/syntax/visit.rs b/src/syntax/visit.rs index b6ee657a..c38e87aa 100644 --- a/src/syntax/visit.rs +++ b/src/syntax/visit.rs @@ -102,7 +102,7 @@ impl_visitors! { } visit_heading(v, heading: HeadingNode) { - v.visit_tree(r!(rc: heading.body)); + v.visit_tree(r!(heading.body)); } visit_list(v, item: ListItem) { -- cgit v1.2.3