Add Display impl for OutOfBounds
This commit is contained in:
parent
852155959d
commit
cf9b6e9e07
@ -57,7 +57,6 @@ pub enum UtilError {
|
||||
BadSize,
|
||||
}
|
||||
|
||||
|
||||
#[derive(Debug, PartialEq, Eq)]
|
||||
/// Error indicating an expected value was not found.
|
||||
pub struct Mismatch<T: fmt::Debug> {
|
||||
@ -78,6 +77,27 @@ pub struct OutOfBounds<T: fmt::Debug> {
|
||||
pub found: T,
|
||||
}
|
||||
|
||||
impl<T: fmt::Debug + fmt::Display> fmt::Display for OutOfBounds<T> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let msg = match (self.min.as_ref(), self.max.as_ref()) {
|
||||
(Some(min), Some(max)) => {
|
||||
format!("Min={}, Max={}", min, max)
|
||||
}
|
||||
(Some(min), _) => {
|
||||
format!("Min={}", min)
|
||||
}
|
||||
(_, Some(max)) => {
|
||||
format!("Max={}", max)
|
||||
}
|
||||
(None, None) => {
|
||||
"".into()
|
||||
}
|
||||
};
|
||||
|
||||
f.write_fmt(format_args!("Value {} out of bounds. {}", self.found, msg))
|
||||
}
|
||||
}
|
||||
|
||||
impl From<FromHexError> for UtilError {
|
||||
fn from(err: FromHexError) -> UtilError {
|
||||
UtilError::FromHex(err)
|
||||
|
Loading…
Reference in New Issue
Block a user