//! Errors returned by Jevil signature operations.
/// The error type returned by [`crate::verify`] and the byte parsers.
///
/// `Error` is intentionally coarse-grained. Verification failure produces a
/// single [`Error::VerificationFailed`] variant regardless of *which* check
/// failed — this is by design, so that a verifier cannot reveal partial
/// information about why a forged signature was rejected. Parser-only errors
/// (length mismatch, non-canonical field element) carry their own variants so
/// honest callers can distinguish bad I/O from cryptographic failure.