diff --git a/src/errors.rs b/src/errors.rs index 5df5c49..db6d7bd 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -149,6 +149,12 @@ pub enum InstructionErrorKind { /// The string contains invalid UTF-8 encoding. String(string::FromUtf8Error), + + /// A negative value isn't allowed (like a negative pointer value). + NegativeValue { + /// The variable name that triggered the error. + subject: &'static str, + }, } impl Error for InstructionErrorKind {} @@ -227,6 +233,12 @@ impl Display for InstructionErrorKind { "{}", error ), + + Self::NegativeValue { subject } => write!( + formatter, + "read the value of `{}` which must be positive", + subject + ), } } }