pub enum AssocItemId {
Type(AssocTypeId),
Method(TraitMethodId),
Const(AssocConstId),
}Variants§
Implementations§
Source§impl AssocItemId
impl AssocItemId
Source§impl AssocItemId
impl AssocItemId
pub fn as_type(&self) -> Option<&AssocTypeId>
pub fn as_method(&self) -> Option<&TraitMethodId>
pub fn as_const(&self) -> Option<&AssocConstId>
Source§impl AssocItemId
impl AssocItemId
pub fn as_type_mut(&mut self) -> Option<&mut AssocTypeId>
pub fn as_method_mut(&mut self) -> Option<&mut TraitMethodId>
pub fn as_const_mut(&mut self) -> Option<&mut AssocConstId>
Source§impl AssocItemId
impl AssocItemId
pub fn variant_name(&self) -> &'static str
Source§impl AssocItemId
impl AssocItemId
pub fn variant_index_arity(&self) -> (u32, usize)
Trait Implementations§
Source§impl AstVisitable for AssocItemId
impl AstVisitable for AssocItemId
Source§fn drive<V: VisitAst>(&self, v: &mut V) -> ControlFlow<V::Break>
fn drive<V: VisitAst>(&self, v: &mut V) -> ControlFlow<V::Break>
Recursively visit this type with the provided visitor. This calls the visitor’s
visit_$any
method if it exists, otherwise visit_inner.Source§fn drive_mut<V: VisitAstMut>(&mut self, v: &mut V) -> ControlFlow<V::Break>
fn drive_mut<V: VisitAstMut>(&mut self, v: &mut V) -> ControlFlow<V::Break>
Recursively visit this type with the provided visitor. This calls the visitor’s
visit_$any
method if it exists, otherwise visit_inner.Source§fn dyn_visit<T: AstVisitable>(&self, f: impl FnMut(&T))
fn dyn_visit<T: AstVisitable>(&self, f: impl FnMut(&T))
Visit all occurrences of that type inside
self, in pre-order traversal.Source§fn dyn_visit_mut<T: AstVisitable>(&mut self, f: impl FnMut(&mut T))
fn dyn_visit_mut<T: AstVisitable>(&mut self, f: impl FnMut(&mut T))
Visit all occurrences of that type inside
self, in pre-order traversal.Source§impl Clone for AssocItemId
impl Clone for AssocItemId
Source§fn clone(&self) -> AssocItemId
fn clone(&self) -> AssocItemId
Returns a duplicate of the value. Read more
1.0.0 · 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 AssocItemId
impl Debug for AssocItemId
Source§impl<'de> Deserialize<'de> for AssocItemId
impl<'de> Deserialize<'de> for AssocItemId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'de, __State: ?Sized> DeserializeState<'de, __State> for AssocItemIdwhere
AssocTypeId: Deserialize<'de>,
TraitMethodId: Deserialize<'de>,
AssocConstId: Deserialize<'de>,
impl<'de, __State: ?Sized> DeserializeState<'de, __State> for AssocItemIdwhere
AssocTypeId: Deserialize<'de>,
TraitMethodId: Deserialize<'de>,
AssocConstId: Deserialize<'de>,
fn deserialize_state<__D>(
__state: &__State,
__deserializer: __D,
) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'s, V> Drive<'s, V> for AssocItemId
impl<'s, V> Drive<'s, V> for AssocItemId
Source§fn drive_inner(&'s self, visitor: &mut V) -> ControlFlow<V::Break>
fn drive_inner(&'s self, visitor: &mut V) -> ControlFlow<V::Break>
Call
v.visit() on the immediate contents of self.Source§impl<'s, V> DriveMut<'s, V> for AssocItemIdwhere
V: Visitor + VisitMut<'s, AssocTypeId> + VisitMut<'s, TraitMethodId> + VisitMut<'s, AssocConstId>,
impl<'s, V> DriveMut<'s, V> for AssocItemIdwhere
V: Visitor + VisitMut<'s, AssocTypeId> + VisitMut<'s, TraitMethodId> + VisitMut<'s, AssocConstId>,
Source§fn drive_inner_mut(&'s mut self, visitor: &mut V) -> ControlFlow<V::Break>
fn drive_inner_mut(&'s mut self, visitor: &mut V) -> ControlFlow<V::Break>
Call
v.visit() on the immediate contents of self.Source§impl From<AssocConstId> for AssocItemId
impl From<AssocConstId> for AssocItemId
Source§fn from(x: AssocConstId) -> Self
fn from(x: AssocConstId) -> Self
Converts to this type from the input type.
Source§impl From<AssocTypeId> for AssocItemId
impl From<AssocTypeId> for AssocItemId
Source§fn from(x: AssocTypeId) -> Self
fn from(x: AssocTypeId) -> Self
Converts to this type from the input type.
Source§impl From<TraitMethodId> for AssocItemId
impl From<TraitMethodId> for AssocItemId
Source§fn from(x: TraitMethodId) -> Self
fn from(x: TraitMethodId) -> Self
Converts to this type from the input type.
Source§impl Hash for AssocItemId
impl Hash for AssocItemId
Source§impl Ord for AssocItemId
impl Ord for AssocItemId
Source§fn cmp(&self, other: &AssocItemId) -> Ordering
fn cmp(&self, other: &AssocItemId) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for AssocItemId
impl PartialEq for AssocItemId
Source§impl PartialOrd for AssocItemId
impl PartialOrd for AssocItemId
Source§impl Serialize for AssocItemId
impl Serialize for AssocItemId
Source§impl<__State: ?Sized> SerializeState<__State> for AssocItemId
impl<__State: ?Sized> SerializeState<__State> for AssocItemId
fn serialize_state<__S>(
&self,
__state: &__State,
__serializer: __S,
) -> Result<__S::Ok, __S::Error>where
__S: Serializer,
Source§impl TryFrom<AssocItemId> for AssocConstId
impl TryFrom<AssocItemId> for AssocConstId
Source§impl TryFrom<AssocItemId> for AssocTypeId
impl TryFrom<AssocItemId> for AssocTypeId
Source§impl TryFrom<AssocItemId> for TraitMethodId
impl TryFrom<AssocItemId> for TraitMethodId
impl Copy for AssocItemId
impl Eq for AssocItemId
impl StructuralPartialEq for AssocItemId
Auto Trait Implementations§
impl Freeze for AssocItemId
impl RefUnwindSafe for AssocItemId
impl Send for AssocItemId
impl Sync for AssocItemId
impl Unpin for AssocItemId
impl UnwindSafe for AssocItemId
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§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
Source§impl<T> TyVisitable for Twhere
T: AstVisitable,
impl<T> TyVisitable for Twhere
T: AstVisitable,
Source§fn visit_vars(&mut self, v: &mut impl VarsVisitor)
fn visit_vars(&mut self, v: &mut impl VarsVisitor)
Visit the variables contained in
self, as seen from the outside of self. This means
that any variable bound inside self will be skipped, and all the seen De Bruijn indices
will count from the outside of self.Source§fn substitute(self, generics: &GenericArgs) -> Self
fn substitute(self, generics: &GenericArgs) -> Self
Substitute the generic variables inside
self by replacing them with the provided values.
Note: if self is an item that comes from a TraitDecl, you must use
substitute_with_self or substitute_inner_binder, otherwise you’ll get panics.Source§fn substitute_inner_binder(self, generics: &GenericArgs) -> Self
fn substitute_inner_binder(self, generics: &GenericArgs) -> Self
Substitute the generic variables inside
self by replacing them with the provided values.
This is appropriate when substituting an inner binder.Source§fn substitute_explicits(self, generics: &GenericArgs) -> Self
fn substitute_explicits(self, generics: &GenericArgs) -> Self
Substitute only the type, region and const generic args.
Source§fn substitute_with_self(
self,
generics: &GenericArgs,
self_ref: &TraitRefKind,
) -> Self
fn substitute_with_self( self, generics: &GenericArgs, self_ref: &TraitRefKind, ) -> Self
Substitute the generic variables as well as the
TraitRefKind::SelfId trait ref.Source§fn substitute_with_tref(self, tref: &TraitRef) -> Self
fn substitute_with_tref(self, tref: &TraitRef) -> Self
Substitute the generic variables as well as the
TraitRefKind::SelfId trait ref.fn try_substitute( self, generics: &GenericArgs, ) -> Result<Self, GenericsMismatch>
fn try_substitute_with_self( self, generics: &GenericArgs, self_ref: &TraitRefKind, ) -> Result<Self, GenericsMismatch>
Source§fn move_under_binder(self) -> Self
fn move_under_binder(self) -> Self
Move under one binder.
Source§fn move_under_binders(self, depth: DeBruijnId) -> Self
fn move_under_binders(self, depth: DeBruijnId) -> Self
Move under
depth binders.Source§fn move_from_under_binder(self) -> Option<Self>
fn move_from_under_binder(self) -> Option<Self>
Move from under one binder.
Source§fn move_from_under_binders(self, depth: DeBruijnId) -> Option<Self>
fn move_from_under_binders(self, depth: DeBruijnId) -> Option<Self>
Move the value out of
depth binders. Returns None if it contains a variable bound in
one of these depth binders.Source§fn visit_db_id<B>(
&mut self,
f: impl FnMut(&mut DeBruijnId) -> ControlFlow<B>,
) -> ControlFlow<B>
fn visit_db_id<B>( &mut self, f: impl FnMut(&mut DeBruijnId) -> ControlFlow<B>, ) -> ControlFlow<B>
Visit the de Bruijn ids contained in
self, as seen from the outside of self. This means
that any variable bound inside self will be skipped, and all the seen indices will count
from the outside of self.Source§fn replace_erased_regions(self, f: impl FnMut() -> Region) -> Self
fn replace_erased_regions(self, f: impl FnMut() -> Region) -> Self
Replace all the erased regions by the output of the provided function. Binders levels are
handled automatically.