pub enum ShouldEmit {
EarlyFatal {
also_emit_lints: bool,
},
ErrorsAndLints {
recover: bool,
},
Nothing,
}Variants§
EarlyFatal
The operations will emit errors, and lints, and errors are fatal.
Only relevant when early parsing, in late parsing equivalent to ErrorsAndLints.
Late parsing is never fatal, and instead tries to emit as many diagnostics as possible.
ErrorsAndLints
The operation will emit errors and lints. This is usually what you need.
Fields
recover: boolWhether ArgParser will attempt to recover from errors.
If true, it will attempt to recover from bad input (like an invalid literal). Setting
this to false will instead return early, and not raise errors except at the top level
(in ArgParser::from_attr_args).
Nothing
The operation will not emit errors and lints.
The parser can still call delay_bug, so you must ensure that this operation will also be
called with ShouldEmit::ErrorsAndLints.
Implementations§
Source§impl ShouldEmit
impl ShouldEmit
pub(crate) fn emit_err(&self, diag: Diag<'_>) -> ErrorGuaranteed
Trait Implementations§
Source§impl Clone for ShouldEmit
impl Clone for ShouldEmit
Source§fn clone(&self) -> ShouldEmit
fn clone(&self) -> ShouldEmit
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ShouldEmit
impl Debug for ShouldEmit
impl Copy for ShouldEmit
Auto Trait Implementations§
impl DynSend for ShouldEmit
impl DynSync for ShouldEmit
impl Freeze for ShouldEmit
impl RefUnwindSafe for ShouldEmit
impl Send for ShouldEmit
impl Sync for ShouldEmit
impl Unpin for ShouldEmit
impl UnwindSafe for ShouldEmit
Blanket Implementations§
Source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 2 bytes
Size for each variant:
EarlyFatal: 1 byteErrorsAndLints: 1 byteNothing: 0 bytes