From 7a1b269f997c89ee1bbab17cacfab3c599210987 Mon Sep 17 00:00:00 2001 From: arvidn Date: Wed, 24 Jan 2024 16:41:49 +0000 Subject: [PATCH] use let-else to simplify code --- src/run_program.rs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/run_program.rs b/src/run_program.rs index 4ea88f63..4354c973 100644 --- a/src/run_program.rs +++ b/src/run_program.rs @@ -276,16 +276,11 @@ impl<'a, D: Dialect> RunProgramContext<'a, D> { }; // put a bunch of ops on op_stack - let (op_node, op_list) = match self.allocator.sexp(program) { + let SExp::Pair(op_node, op_list) = self.allocator.sexp(program) else { // the program is just a bitfield path through the env tree - SExp::Atom => { - let r: Reduction = - traverse_path(self.allocator, self.allocator.atom(program), env)?; - self.push(r.1)?; - return Ok(r.0); - } - // the program is an operator and a list of operands - SExp::Pair(operator_node, operand_list) => (operator_node, operand_list), + let r: Reduction = traverse_path(self.allocator, self.allocator.atom(program), env)?; + self.push(r.1)?; + return Ok(r.0); }; match self.allocator.sexp(op_node) {