From 8171b30adbc4cddd2c51f043c3379d78428666b8 Mon Sep 17 00:00:00 2001 From: Akshay Date: Thu, 25 Mar 2021 13:08:25 +0530 Subject: use new error kinds; track Environment nesting with stack --- src/lisp/number.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/lisp/number.rs') diff --git a/src/lisp/number.rs b/src/lisp/number.rs index 18a41f7..23d7997 100644 --- a/src/lisp/number.rs +++ b/src/lisp/number.rs @@ -1,9 +1,9 @@ use std::{ fmt, - ops::{Add, Div, Mul, Sub}, + ops::{Add, Mul, Sub}, }; -use crate::lisp::error::LispError; +use crate::lisp::error::{EvalError, LispError}; #[derive(Debug, Copy, Clone)] pub enum LispNumber { @@ -15,7 +15,7 @@ impl LispNumber { pub fn div(self, rhs: Self) -> Result { use LispNumber::*; if rhs == Integer(0) || rhs == Float(0.) { - return Err(LispError::EvalError); + return Err(EvalError::DivByZero.into()); } else { return Ok(match (self, rhs) { (Integer(a), Integer(b)) => Float(a as f64 / b as f64), -- cgit v1.2.3