Skip to main content

Crate runi_core

Crate runi_core 

Source
Expand description

Runi core library.

runi-core hosts the foundation types shared across the Runi workspace (Error, Result, Config, str_util) and also acts as a feature-gated bundle that re-exports the other Runi sub-crates, so most callers only need a single dependency.

Each workspace sub-crate (apart from the dev-only runi-test) is re-exported as a module named after the crate’s suffix and gated by a feature of the same name — e.g. runi-logruni_core::log under the log feature. The default features enable every bundled sub-crate; see Cargo.toml and the book for the current list.

The plain runi name on crates.io is held by an unrelated project, so this crate ships as runi-core. Cargo’s package key lets each consumer rename the dependency at the call site, which gives you the clean runi:: namespace without waiting on a name transfer:

[dependencies]
runi = { package = "runi-core", version = "0.1" }                            # everything bundled
runi = { package = "runi-core", version = "0.1", default-features = false } # foundation only
use runi::{Error, Result};
use runi::log;

If you prefer, depend on runi-core directly and import as runi_core::….

The bundle role follows the pattern from wvlet/uni.

Re-exports§

pub use config::Config;
pub use error::Error;
pub use error::Result;
pub use runi_log as log;
pub use runi_cli as cli;

Modules§

config
error
str_util