mavinspect 0.1.0-alpha2

MAVInspect is a CLI tool and a library to parse and inspect MAVLink protocol XML definitions
Documentation
use std::num::{ParseFloatError, ParseIntError};

use thiserror::Error;

/// Message field parsing errors
#[derive(Debug, Clone, Error)]
pub enum MessageFieldParsingError {
    /// Invalid scalar type or bad literal.
    /// 
    /// See: [`crate::protocol::MessageFieldType`].
    #[error("invalid field type: {0}")]
    TypeError(String),
    /// Invalid list type.
    /// 
    /// See: [`crate::protocol::MessageFieldType`].
    #[error("field type has an invalid list specification: {0}")]
    ListTypeError(String),
    /// Invalid message field units.
    /// 
    /// See: [`crate::protocol::Units`].
    #[error("invalid units: {0}")]
    UnitsError(String),
    /// Incorrect input for invalid field value specification.
    /// 
    /// See: [`crate::protocol::MessageFieldInvalidValue`].
    #[error("incorrect message field invalid value specification: {0}")]
    InvalidValueSpecParseError(String),
    /// Incorrect data for invalid field integer value.
    /// 
    /// See: [`crate::protocol::MessageFieldInvalidValue`].
    #[error("message field invalid integer value specification parsing error: {0:?}")]
    InvalidValueSpecIntParseError(ParseIntError),
    /// Incorrect data for invalid field floating point value.
    /// 
    /// See: [`crate::protocol::MessageFieldInvalidValue`].
    #[error("message field invalid floating point value specification parsing error: {0:?}")]
    InvalidValueSpecFloatParseError(ParseFloatError),
}