apsis-rs/crates/foundation/apsis-core/src/lib.rs

25 lines
860 B
Rust

//! Shared foundation types for the ApsisRS workspace: error handling,
//! result aliases, physical constants, and the unit marker trait.
//!
//! This crate sits at the bottom of the dependency graph. It has no
//! dependency on any other ApsisRS crate, so every other crate may use it.
//!
//! Three concerns live here:
//!
//! - [`Error`] and [`Result`] give the workspace a single error surface
//! without pulling in an external error handling crate.
//! - [`constant`] holds physical and astronomical constants expressed in
//! SI units.
//! - [`Quantity`] marks newtypes that carry a physical unit, so generic
//! code can accept any quantity and still recover its unit type.
#![forbid(unsafe_code)]
#![deny(missing_docs)]
pub mod constant;
mod error;
mod quantity;
pub use error::{Error, ErrorKind, Result};
pub use quantity::{Quantity, Unit};