Skip to main content

deed_diagnostics/
lib.rs

1//! Source management and structured diagnostics for the Deed compiler.
2//!
3//! Nothing here knows anything about the Deed language. It exists so that no
4//! part of the compiler ever has a reason to return an error as a string.
5//!
6//! [`hashing`] is the odd one out and it is here because [`Span`] is: every
7//! pass keys a map by one, and the hash they are looked up with is a property
8//! of the key rather than of the pass.
9//!
10//! See `design/01-principles.md`, P7.
11
12pub mod diagnostic;
13pub mod hashing;
14pub mod render;
15pub mod source;
16pub mod span;
17
18pub use diagnostic::{Applicability, Diagnostic, Fix, Label, Severity, SuggestedEdit};
19pub use hashing::ByNumber;
20pub use render::{json_string, render_human, render_json};
21pub use source::{FileId, Location, SourceFile, SourceMap};
22pub use span::Span;