pub struct Diagnostic {
pub code: DiagnosticCode,
pub stage: &'static str,
pub declaration: Option<String>,
pub line: Option<usize>,
pub message: String,
/* private fields */
}Expand description
One typed, located diagnostic of a result.
Fields§
§code: DiagnosticCode§stage: &'static strThe receipt stage it concerns.
declaration: Option<String>The Lean declaration (dotted name) it concerns.
line: Option<usize>The 1-based line of the input it concerns.
message: StringImplementations§
Source§impl Diagnostic
impl Diagnostic
Sourcepub fn new(
stage: &'static str,
code: DiagnosticCode,
message: impl Into<String>,
) -> Diagnostic
pub fn new( stage: &'static str, code: DiagnosticCode, message: impl Into<String>, ) -> Diagnostic
A diagnostic of a classified code. An unclassified or usage code is an unsupported feature.
Sourcepub fn of_refusal(stage: &'static str, verdict: &Verdict) -> Diagnostic
pub fn of_refusal(stage: &'static str, verdict: &Verdict) -> Diagnostic
The diagnostic a refusal carries, with its location.
pub fn with_declaration(self, declaration: impl Into<String>) -> Diagnostic
pub fn with_line(self, line: usize) -> Diagnostic
Sourcepub fn outcome(&self) -> Outcome
pub fn outcome(&self) -> Outcome
The outcome this diagnostic decides when its stage is the first that did not pass.
pub fn to_json(&self) -> Value
Trait Implementations§
Source§impl Clone for Diagnostic
impl Clone for Diagnostic
Source§fn clone(&self) -> Diagnostic
fn clone(&self) -> Diagnostic
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Diagnostic
impl Debug for Diagnostic
Source§impl PartialEq for Diagnostic
impl PartialEq for Diagnostic
impl Eq for Diagnostic
impl StructuralPartialEq for Diagnostic
Auto Trait Implementations§
impl Freeze for Diagnostic
impl RefUnwindSafe for Diagnostic
impl Send for Diagnostic
impl Sync for Diagnostic
impl Unpin for Diagnostic
impl UnsafeUnpin for Diagnostic
impl UnwindSafe for Diagnostic
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.