pub struct LifetimeMutabilityComputer {
lt_mutability: HashMap<DefId, CycleDetector<HashSet<u32>>>,
}Expand description
Struct to compute the “mutability” of each lifetime.
Fields§
§lt_mutability: HashMap<DefId, CycleDetector<HashSet<u32>>>Implementations§
Source§impl LifetimeMutabilityComputer
impl LifetimeMutabilityComputer
Sourcepub(crate) fn compute_lifetime_mutability<'tcx>(
&mut self,
s: &impl BaseState<'tcx>,
item: &DefId,
index: u32,
) -> LifetimeMutability
pub(crate) fn compute_lifetime_mutability<'tcx>( &mut self, s: &impl BaseState<'tcx>, item: &DefId, index: u32, ) -> LifetimeMutability
Compute the mutability of one lifetime.
Sourcefn compute_lifetime_mutabilities<'tcx>(
&mut self,
s: &impl BaseState<'tcx>,
item: &DefId,
) -> Option<&HashSet<u32>>
fn compute_lifetime_mutabilities<'tcx>( &mut self, s: &impl BaseState<'tcx>, item: &DefId, ) -> Option<&HashSet<u32>>
Compute the “mutability” of each lifetime, i.e. whether this lifetime is used in a &'a mut T type or not. Returns a set of the known-mutable lifetimes for this ADT.
Trait Implementations§
Source§impl Default for LifetimeMutabilityComputer
impl Default for LifetimeMutabilityComputer
Source§fn default() -> LifetimeMutabilityComputer
fn default() -> LifetimeMutabilityComputer
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for LifetimeMutabilityComputer
impl RefUnwindSafe for LifetimeMutabilityComputer
impl Send for LifetimeMutabilityComputer
impl Sync for LifetimeMutabilityComputer
impl Unpin for LifetimeMutabilityComputer
impl UnwindSafe for LifetimeMutabilityComputer
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
§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more