use std::error::Error;
use std::fmt;
#[must_use]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct JcsWorkingMemoryError {
limit: usize,
requested: usize,
}
impl JcsWorkingMemoryError {
#[inline]
pub(crate) const fn new(limit: usize, requested: usize) -> Self {
Self { limit, requested }
}
#[must_use]
#[inline]
pub const fn limit(&self) -> usize {
self.limit
}
#[must_use]
#[inline]
pub const fn requested(&self) -> usize {
self.requested
}
}
impl fmt::Display for JcsWorkingMemoryError {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
formatter,
"JCS working memory limit exceeded (limit: {}, requested: {})",
self.limit, self.requested
)
}
}
impl Error for JcsWorkingMemoryError {}