From b3940437e9541ca7d3345d54051a3d3d9908cbb3 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 24 Apr 2024 23:43:54 +0200 Subject: rebel-parse: ast: derive Eq for all types --- crates/rebel-parse/src/ast.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/crates/rebel-parse/src/ast.rs b/crates/rebel-parse/src/ast.rs index 9eed70a..c7ddb7a 100644 --- a/crates/rebel-parse/src/ast.rs +++ b/crates/rebel-parse/src/ast.rs @@ -1,6 +1,6 @@ pub type Recipe<'a> = Vec>; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub enum RecipeStmt<'a> { BodyStmt(BodyStmt<'a>), Fetch { @@ -16,7 +16,7 @@ pub enum RecipeStmt<'a> { pub type Body<'a> = Vec>; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub enum BodyStmt<'a> { Assign { left: Box>, @@ -35,7 +35,7 @@ impl<'a> BodyStmt<'a> { } } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub enum Expr<'a> { Binary { left: Box>, @@ -118,19 +118,19 @@ impl<'a> Expr<'a> { } } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct TypedExpr<'a> { pub expr: Expr<'a>, pub typ: Option>, } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct FuncParam<'a> { pub name: Ident<'a>, pub typ: Expr<'a>, } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub enum Literal<'a> { Unit, Boolean(bool), @@ -158,19 +158,19 @@ impl<'a> Literal<'a> { } } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct MapEntry<'a> { pub key: &'a str, pub value: Expr<'a>, } -#[derive(Debug, Clone, Copy)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum OpUnary { Not, Neg, } -#[derive(Debug, Clone, Copy)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum OpBinary { Add, Sub, @@ -187,12 +187,12 @@ pub enum OpBinary { Gt, } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct Path<'a> { pub components: Vec>, } -#[derive(Debug, Clone, Copy)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub struct Ident<'a> { pub name: &'a str, } -- cgit v1.2.3