use std::panic::Location;
#[derive(thiserror::Error, Debug)]
#[non_exhaustive]
pub enum ParseProblem {
#[error("invalid magic: {0}")]
InvalidMagic(&'static str, &'static Location<'static>),
#[error("invalid range: {0}")]
InvalidRange(&'static str, &'static Location<'static>),
#[error("invalid header: {0}")]
InvalidHeader(&'static str, &'static Location<'static>),
#[error("invalid data: {0}")]
InvalidData(&'static str, &'static Location<'static>),
#[error("unsupported version: {0} at {1}")]
UnsupportedVersion(usize, &'static Location<'static>),
}