summaryrefslogtreecommitdiff
path: root/src/eval/control.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-03-15 11:30:13 +0100
committerLaurenz <laurmaedje@gmail.com>2022-03-15 11:30:13 +0100
commitae0a56cdffa515ed6bb7cb566c025cc66ff00f33 (patch)
tree586f4b12af74c7fc29e34960bab004b39425195c /src/eval/control.rs
parent6f5b721fe56fe6e3735d03b07e3716fc39572639 (diff)
Non-returning error macro
Diffstat (limited to 'src/eval/control.rs')
-rw-r--r--src/eval/control.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/eval/control.rs b/src/eval/control.rs
index b310bfb8..166676d4 100644
--- a/src/eval/control.rs
+++ b/src/eval/control.rs
@@ -1,5 +1,5 @@
use super::{ops, EvalResult, Value};
-use crate::diag::{At, Error, TypError};
+use crate::diag::{At, TypError};
use crate::syntax::Span;
/// A control flow event that occurred during evaluation.
@@ -25,12 +25,14 @@ impl From<TypError> for Control {
impl From<Control> for TypError {
fn from(control: Control) -> Self {
match control {
- Control::Break(_, span) => Error::boxed(span, "cannot break outside of loop"),
+ Control::Break(_, span) => {
+ error!(span, "cannot break outside of loop")
+ }
Control::Continue(_, span) => {
- Error::boxed(span, "cannot continue outside of loop")
+ error!(span, "cannot continue outside of loop")
}
Control::Return(_, _, span) => {
- Error::boxed(span, "cannot return outside of function")
+ error!(span, "cannot return outside of function")
}
Control::Err(e) => e,
}