pnc-engine 0.2.0

Core engine for PNC: arbitrary-precision RPN evaluation, units, and persistence
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum PncError {
    #[error("division by zero")]
    DivisionByZero,
    #[error("precision budget exceeded")]
    PrecisionBudgetExceeded,
    #[error("invalid unit conversion")]
    InvalidUnitConversion,
    #[error("parse error: {0}")]
    Parse(String),
    #[error("unknown command: {0}")]
    UnknownCommand(String),
    #[error("clipboard unavailable")]
    ClipboardUnavailable,
    #[error("stack underflow")]
    StackUnderflow,
    #[error("unsupported schema version")]
    UnsupportedSchemaVersion,
    #[error("io error: {0}")]
    Io(#[from] std::io::Error),
}