cljrs-types
Core types shared across every cljrs crate: source spans, the unified error/diagnostic
type, and the CljxResult alias.
Phase: 1 (Project Infrastructure) — fully implemented.
Used by: all other crates in the workspace.
File layout
src/
lib.rs — module declarations: `pub mod error; pub mod span;`
error.rs — CljxError enum and CljxResult type alias
span.rs — Span struct (byte-range + location in a named source file)
Public API
span::Span
A half-open byte range [start, end) within a named source file.
Trait impls:
From<&Span> for miette::SourceSpanFrom<Span> for miette::SourceSpan
error::CljxError
Unified error type for all clojurust subsystems. Derives
miette::Diagnostic so errors render with source
snippets and labels in the terminal.
error::CljxResult<T>
pub type CljxResult<T> = ;
Dependencies
| Crate | Role |
|---|---|
miette (workspace) |
Diagnostic trait + NamedSource, SourceSpan |
thiserror (workspace) |
#[derive(Error)] codegen |