use crate::primitives::PrimitiveError;
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum TaggedFieldError {
#[error(transparent)]
Primitive(#[from] PrimitiveError),
#[error("tagged fields out of order: tag {tag} after tag {prev_tag}")]
OutOfOrder {
tag: u32,
prev_tag: u32,
},
#[error("tagged field {tag} size {size} exceeds remaining {remaining}")]
SizeOverflow {
tag: u32,
size: usize,
remaining: usize,
},
#[error("tagged field count {count} exceeds maximum {max}")]
CountOverflow {
count: u32,
max: usize,
},
#[error("tagged field {tag} size {size} exceeds maximum {max}")]
FieldTooLarge {
tag: u32,
size: usize,
max: usize,
},
}