summaryrefslogtreecommitdiff
path: root/src/syntax/test.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/syntax/test.rs')
-rw-r--r--src/syntax/test.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/syntax/test.rs b/src/syntax/test.rs
index 22ce45e5..ca47c0c5 100644
--- a/src/syntax/test.rs
+++ b/src/syntax/test.rs
@@ -1,7 +1,7 @@
use std::fmt::Debug;
use super::func::FuncHeader;
-use super::expr::{Expr, Tuple, Object};
+use super::expr::{Expr, Tuple, NamedTuple, Object};
use super::span::{Span, Spanned};
use super::tokens::Token;
use super::*;
@@ -127,6 +127,7 @@ impl SpanlessEq for DebugFn {
impl SpanlessEq for Expr {
fn spanless_eq(&self, other: &Expr) -> bool {
match (self, other) {
+ (Expr::NamedTuple(a), Expr::NamedTuple(b)) => a.spanless_eq(b),
(Expr::Tuple(a), Expr::Tuple(b)) => a.spanless_eq(b),
(Expr::Object(a), Expr::Object(b)) => a.spanless_eq(b),
(a, b) => a == b,
@@ -142,6 +143,13 @@ impl SpanlessEq for Tuple {
}
}
+impl SpanlessEq for NamedTuple {
+ fn spanless_eq(&self, other: &NamedTuple) -> bool {
+ self.name.v == other.name.v
+ && self.tuple.v.spanless_eq(&other.tuple.v)
+ }
+}
+
impl SpanlessEq for Object {
fn spanless_eq(&self, other: &Object) -> bool {
self.pairs.len() == other.pairs.len()