From 95e6b078fecddeaa3d6f2c920b617201b74bf01e Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sun, 19 Jan 2020 21:50:20 +0100 Subject: =?UTF-8?q?Move=20to=20non-fatal=20errors=20=F0=9F=AA=82=20[WIP]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Dynamic models instead of SyntaxTrees - No more ParseResult/LayoutResult - Errors and Decorations which are propagated to parent contexts - Models are finally clonable --- tests/src/spanless.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'tests/src/spanless.rs') diff --git a/tests/src/spanless.rs b/tests/src/spanless.rs index fde5a2ed..87d3f39d 100644 --- a/tests/src/spanless.rs +++ b/tests/src/spanless.rs @@ -13,15 +13,17 @@ impl SpanlessEq>>> for Vec>> { } } -impl SpanlessEq for SyntaxTree { - fn spanless_eq(&self, other: &SyntaxTree) -> bool { - fn downcast(func: &FuncCall) -> &DebugFn { - func.0.downcast::().expect("not a debug fn") +impl SpanlessEq for SyntaxModel { + fn spanless_eq(&self, other: &SyntaxModel) -> bool { + fn downcast(func: &dyn Model) -> &DebugFn { + func.downcast::().expect("not a debug fn") } self.nodes.len() == other.nodes.len() && self.nodes.iter().zip(&other.nodes).all(|(x, y)| match (&x.v, &y.v) { - (Node::Func(a), Node::Func(b)) => downcast(a).spanless_eq(downcast(b)), + (Node::Model(a), Node::Model(b)) => { + downcast(a.as_ref()).spanless_eq(downcast(b.as_ref())) + } (a, b) => a == b, }) } -- cgit v1.2.3