//! The crate's error type.
//!
//! Almost nothing here can fail. Reading a CMap program, resolving a
//! predefined name and decoding a string are all total: damage is recorded
//! through [`Diagnostics`](pdfrum_common::Diagnostics) and a best-effort value
//! comes back. The one genuinely fallible operation is looking a name up
//! against the built-in tables and finding nothing — and even that has a
//! total counterpart in [`from_encoding_name`](crate::from_encoding_name),
//! which is what callers normally want.
/// Something a CMap operation could not do.