pub struct DiagnosticsOutput(/* private fields */);Expand description
A stable, de-duplicated list of diagnostics, wrapped in Arc.
Equality is by pointer identity so Salsa can avoid re-evaluating downstream queries when the diagnostic list is unchanged.
Implementations§
Source§impl DiagnosticsOutput
impl DiagnosticsOutput
Sourcepub fn diagnostics(&self) -> &[Diagnostic]
pub fn diagnostics(&self) -> &[Diagnostic]
Access the inner diagnostics slice.
Sourcepub fn arc_clone(&self) -> Arc<Vec<Diagnostic>>
pub fn arc_clone(&self) -> Arc<Vec<Diagnostic>>
Clone the inner Arc cheaply.
Trait Implementations§
Source§impl Clone for DiagnosticsOutput
impl Clone for DiagnosticsOutput
Source§fn clone(&self) -> DiagnosticsOutput
fn clone(&self) -> DiagnosticsOutput
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 DiagnosticsOutput
impl Debug for DiagnosticsOutput
Source§impl PartialEq for DiagnosticsOutput
impl PartialEq for DiagnosticsOutput
impl Eq for DiagnosticsOutput
Auto Trait Implementations§
impl Freeze for DiagnosticsOutput
impl RefUnwindSafe for DiagnosticsOutput
impl Send for DiagnosticsOutput
impl Sync for DiagnosticsOutput
impl Unpin for DiagnosticsOutput
impl UnsafeUnpin for DiagnosticsOutput
impl UnwindSafe for DiagnosticsOutput
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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