Expand description
Error types with source location tracking.
All errors in logicaffeine carry a Span indicating where in the source
text the error occurred. This enables precise, contextual error messages.
§Example
use logicaffeine_base::{SpannedError, Span, Result};
fn parse_number(s: &str) -> Result<i32> {
s.parse().map_err(|_| SpannedError::new(
format!("invalid number: '{}'", s),
Span::new(0, s.len()),
))
}
let err = parse_number("abc").unwrap_err();
assert!(err.to_string().contains("invalid number"));Structs§
- Spanned
Error - An error annotated with its source location.
Type Aliases§
- Result
- Alias for
std::result::Result<T, SpannedError>.