pub struct MacroDiagnostic {
pub level: String,
pub message: String,
pub start: Option<u32>,
pub end: Option<u32>,
}Expand description
A diagnostic message produced during macro expansion.
Diagnostics can represent errors, warnings, or informational messages that occurred during the macro expansion process.
§Fields
level- Severity level: “error”, “warning”, or “info”message- Human-readable description of the issuestart- Optional byte offset where the issue starts in the sourceend- Optional byte offset where the issue ends in the source
§Example
use macroforge_ts::MacroDiagnostic;
let _diag = MacroDiagnostic {
level: "error".to_string(),
message: "Unknown macro 'Foo'".to_string(),
start: Some(42),
end: Some(45),
};Fields§
§level: StringSeverity level of the diagnostic. One of: “error”, “warning”, “info”.
message: StringHuman-readable message describing the diagnostic.
start: Option<u32>Byte offset in the original source where the issue starts.
None if the diagnostic is not associated with a specific location.
end: Option<u32>Byte offset in the original source where the issue ends.
None if the diagnostic is not associated with a specific location.
Trait Implementations§
Source§impl Clone for MacroDiagnostic
impl Clone for MacroDiagnostic
Source§fn clone(&self) -> MacroDiagnostic
fn clone(&self) -> MacroDiagnostic
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl FromNapiValue for MacroDiagnostic
impl FromNapiValue for MacroDiagnostic
Source§unsafe fn from_napi_value(
env: napi_env,
napi_val: napi_value,
) -> Result<MacroDiagnostic>
unsafe fn from_napi_value( env: napi_env, napi_val: napi_value, ) -> Result<MacroDiagnostic>
Safety Read more
fn from_unknown(value: Unknown<'_>) -> Result<Self, Error>
Source§impl ToNapiValue for MacroDiagnostic
impl ToNapiValue for MacroDiagnostic
Source§unsafe fn to_napi_value(
env: napi_env,
val: MacroDiagnostic,
) -> Result<napi_value>
unsafe fn to_napi_value( env: napi_env, val: MacroDiagnostic, ) -> Result<napi_value>
Safety Read more
fn into_unknown(self, env: &Env) -> Result<Unknown<'_>, Error>
Source§impl TypeName for MacroDiagnostic
impl TypeName for MacroDiagnostic
Source§impl ValidateNapiValue for MacroDiagnostic
impl ValidateNapiValue for MacroDiagnostic
Source§unsafe fn validate(
env: *mut napi_env__,
napi_val: *mut napi_value__,
) -> Result<*mut napi_value__, Error>
unsafe fn validate( env: *mut napi_env__, napi_val: *mut napi_value__, ) -> Result<*mut napi_value__, Error>
Safety Read more
Auto Trait Implementations§
impl Freeze for MacroDiagnostic
impl RefUnwindSafe for MacroDiagnostic
impl Send for MacroDiagnostic
impl Sync for MacroDiagnostic
impl Unpin for MacroDiagnostic
impl UnwindSafe for MacroDiagnostic
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> ImplicitClone for Twhere
T: Clone,
impl<T> ImplicitClone for Twhere
T: Clone,
fn clone_quote_var(&self) -> Self
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more