From dc3017955a67e5509f6bc33cb9b4833806da4c22 Mon Sep 17 00:00:00 2001 From: Leedehai <18319900+Leedehai@users.noreply.github.com> Date: Wed, 19 Apr 2023 07:26:55 -0400 Subject: Give more specific error messages (#881) --- src/eval/scope.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/eval/scope.rs') diff --git a/src/eval/scope.rs b/src/eval/scope.rs index e241cac5..f2207188 100644 --- a/src/eval/scope.rs +++ b/src/eval/scope.rs @@ -2,7 +2,7 @@ use std::collections::BTreeMap; use std::fmt::{self, Debug, Formatter}; use std::hash::Hash; -use ecow::EcoString; +use ecow::{eco_format, EcoString}; use super::{Library, Value}; use crate::diag::StrResult; @@ -42,7 +42,7 @@ impl<'a> Scopes<'a> { .chain(self.scopes.iter().rev()) .chain(self.base.map(|base| base.global.scope())) .find_map(|scope| scope.get(var)) - .ok_or("unknown variable")?) + .ok_or(eco_format!("unknown variable: {}", var))?) } /// Try to access a variable immutably in math. @@ -51,7 +51,7 @@ impl<'a> Scopes<'a> { .chain(self.scopes.iter().rev()) .chain(self.base.map(|base| base.math.scope())) .find_map(|scope| scope.get(var)) - .ok_or("unknown variable")?) + .ok_or(eco_format!("unknown variable: {}", var))?) } /// Try to access a variable mutably. @@ -61,8 +61,8 @@ impl<'a> Scopes<'a> { .find_map(|scope| scope.get_mut(var)) .ok_or_else(|| { match self.base.and_then(|base| base.global.scope().get(var)) { - Some(_) => "cannot mutate a constant", - _ => "unknown variable", + Some(_) => eco_format!("cannot mutate a constant: {}", var), + _ => eco_format!("unknown variable: {}", var), } })? } -- cgit v1.2.3