pub struct Diagnostic {
pub severity: Severity,
pub code: Option<Atom>,
pub message: String,
pub file: Option<Atom>,
pub path: Path,
pub on_key: bool,
pub line: Option<u32>,
pub col: Option<u32>,
pub end_line: Option<u32>,
pub end_col: Option<u32>,
pub tool: Option<Atom>,
}Expand description
One thing found.
Fields§
§severity: Severity§code: Option<Atom>What it is: one of yog_ids’ problem codes (YD0001, YB0002), or
the tool’s own (E0308, a lint’s name); none until it’s known.
message: String§file: Option<Atom>The file it’s in.
path: PathThe value it’s about, in its document (entries[2].icon).
on_key: boolAbout the key at path rather than its value (an unknown field).
line: Option<u32>1-based.
col: Option<u32>§end_line: Option<u32>§end_col: Option<u32>§tool: Option<Atom>Who found it, when not Yog itself (rustc, cargo).
Implementations§
Source§impl Diagnostic
impl Diagnostic
pub fn of(severity: Severity, code: &str, message: impl Display) -> Self
Sourcepub fn syntax(e: SyntaxError) -> Self
pub fn syntax(e: SyntaxError) -> Self
Text that doesn’t parse, where it stops.
Sourcepub fn or_code(self, code: &str) -> Self
pub fn or_code(self, code: &str) -> Self
Of kind code when its kind isn’t known yet (it was met as plain text).
Sourcepub fn map(self, wrap: impl FnOnce(String) -> String) -> Self
pub fn map(self, wrap: impl FnOnce(String) -> String) -> Self
Its message wrapped (<Slot> {e}), the rest kept.
pub fn is_error(&self) -> bool
Trait Implementations§
Source§impl Clone for Diagnostic
impl Clone for Diagnostic
Source§impl Debug for Diagnostic
impl Debug for Diagnostic
Source§impl Default for Diagnostic
impl Default for Diagnostic
Source§impl Display for Diagnostic
As text: file:line:col: path: message, each part when it’s known.
impl Display for Diagnostic
As text: file:line:col: path: message, each part when it’s known.
impl Eq for Diagnostic
Source§impl Error for Diagnostic
impl Error for Diagnostic
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<&str> for Diagnostic
impl From<&str> for Diagnostic
Source§impl From<Diagnostic> for String
As text, for what says errors as text.
impl From<Diagnostic> for String
As text, for what says errors as text.
Source§fn from(d: Diagnostic) -> Self
fn from(d: Diagnostic) -> Self
Converts to this type from the input type.
Source§impl From<String> for Diagnostic
An error met as plain text: its kind not known yet (Diagnostic::or_code).
impl From<String> for Diagnostic
An error met as plain text: its kind not known yet (Diagnostic::or_code).
Source§impl PartialEq for Diagnostic
impl PartialEq for Diagnostic
Source§impl Schema for Diagnostic
impl Schema for Diagnostic
Source§fn encode(&self, __yog_w: &mut Writer)
fn encode(&self, __yog_w: &mut Writer)
Writes itself in the binary form, straight —
Schema::write’s
value encoded, unless the type knows better (derived ones do).Source§fn decode(__yog_d: &mut Decoder<'_>) -> Option<Self>
fn decode(__yog_d: &mut Decoder<'_>) -> Option<Self>
Reads itself from the binary form, straight;
None when it isn’t
what Schema::encode writes — then read_bytes reads the slow
way, which says what’s wrong. Through a value unless the type knows
better (derived ones do).Source§fn pack(&self, __yog_p: &mut Packer)
fn pack(&self, __yog_p: &mut Packer)
Packs itself into a frame (
crate::frame): its binary form as
bytes, unless the type packs itself (derived ones and plain types do).Source§fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Self>
fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<Self>
Reads itself out of a frame;
None if the bytes aren’t what
Schema::pack writes.Source§fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Self>
fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<Self>
Reads
v. Problems go to cx at its current path; None when the
value couldn’t be read (the problem is in cx).Source§fn absent() -> Option<Self>
fn absent() -> Option<Self>
The value of a field that isn’t there —
None: the field is required.Source§fn pack_list(items: &[Self], p: &mut Packer)
fn pack_list(items: &[Self], p: &mut Packer)
A list of these packed: a count, then each one (floats raw).
Source§fn encode_list(items: &[Self], w: &mut Writer)
fn encode_list(items: &[Self], w: &mut Writer)
A list of these written straight (numbers pack theirs).
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