#[repr(transparent)]pub struct TraitMethodId {
_raw: usize,
}Fields§
§_raw: usizeImplementations§
Source§impl TraitMethodId
impl TraitMethodId
Sourcepub const MAX_INDEX: usize
pub const MAX_INDEX: usize
If Self::CHECKS_MAX_INDEX is true, we’ll assert if trying to
produce a value larger than this in any of the ctors that don’t
have unchecked in their name.
Sourcepub const CHECKS_MAX_INDEX: bool
pub const CHECKS_MAX_INDEX: bool
Does this index type assert if asked to construct an index larger than MAX_INDEX?
const _ENSURE_RAW_IS_UNSIGNED: [(); 0]
Sourcepub fn from_foreign<F: Idx>(value: F) -> Self
pub fn from_foreign<F: Idx>(value: F) -> Self
Construct this index type from one in a different domain
Sourcepub const fn from_usize_unchecked(value: usize) -> Self
pub const fn from_usize_unchecked(value: usize) -> Self
Construct from a usize without any checks.
Sourcepub const fn from_raw_unchecked(raw: usize) -> Self
pub const fn from_raw_unchecked(raw: usize) -> Self
Construct from the underlying type without any checks.
Sourcepub fn from_usize(value: usize) -> Self
pub fn from_usize(value: usize) -> Self
Construct this index type from a usize.
Sourcepub fn check_index(v: usize)
pub fn check_index(v: usize)
Asserts v <= Self::MAX_INDEX unless Self::CHECKS_MAX_INDEX is false.
Trait Implementations§
Source§impl Add<TraitMethodId> for usize
impl Add<TraitMethodId> for usize
Source§type Output = TraitMethodId
type Output = TraitMethodId
The resulting type after applying the
+ operator.Source§fn add(self, other: TraitMethodId) -> TraitMethodId
fn add(self, other: TraitMethodId) -> TraitMethodId
Performs the
+ operation. Read moreSource§impl Add<usize> for TraitMethodId
impl Add<usize> for TraitMethodId
Source§impl Add for TraitMethodId
impl Add for TraitMethodId
Source§type Output = TraitMethodId
type Output = TraitMethodId
The resulting type after applying the
+ operator.Source§fn add(self, other: TraitMethodId) -> TraitMethodId
fn add(self, other: TraitMethodId) -> TraitMethodId
Performs the
+ operation. Read moreSource§impl AddAssign<usize> for TraitMethodId
impl AddAssign<usize> for TraitMethodId
Source§fn add_assign(&mut self, other: usize)
fn add_assign(&mut self, other: usize)
Performs the
+= operation. Read moreSource§impl AddAssign for TraitMethodId
impl AddAssign for TraitMethodId
Source§fn add_assign(&mut self, other: TraitMethodId)
fn add_assign(&mut self, other: TraitMethodId)
Performs the
+= operation. Read moreSource§impl AstVisitable for TraitMethodId
impl AstVisitable for TraitMethodId
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 TraitMethodId
impl Clone for TraitMethodId
Source§fn clone(&self) -> TraitMethodId
fn clone(&self) -> TraitMethodId
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 TraitMethodId
impl Debug for TraitMethodId
Source§impl Default for TraitMethodId
impl Default for TraitMethodId
Source§fn default() -> TraitMethodId
fn default() -> TraitMethodId
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for TraitMethodId
impl<'de> Deserialize<'de> for TraitMethodId
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'de, State: ?Sized> DeserializeState<'de, State> for TraitMethodId
impl<'de, State: ?Sized> DeserializeState<'de, State> for TraitMethodId
fn deserialize_state<D: Deserializer<'de>>( _state: &State, deserializer: D, ) -> Result<Self, D::Error>
Source§impl Display for TraitMethodId
impl Display for TraitMethodId
Source§impl<'s, V> Drive<'s, V> for TraitMethodIdwhere
V: Visitor,
impl<'s, V> Drive<'s, V> for TraitMethodIdwhere
V: Visitor,
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 TraitMethodIdwhere
V: Visitor,
impl<'s, V> DriveMut<'s, V> for TraitMethodIdwhere
V: Visitor,
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<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 From<TraitMethodId> for usize
impl From<TraitMethodId> for usize
Source§fn from(v: TraitMethodId) -> usize
fn from(v: TraitMethodId) -> usize
Converts to this type from the input type.
Source§impl From<usize> for TraitMethodId
impl From<usize> for TraitMethodId
Source§impl Hash for TraitMethodId
impl Hash for TraitMethodId
Source§impl Idx for TraitMethodId
impl Idx for TraitMethodId
Source§impl Ord for TraitMethodId
impl Ord for TraitMethodId
Source§fn cmp(&self, other: &TraitMethodId) -> Ordering
fn cmp(&self, other: &TraitMethodId) -> 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<TraitMethodId> for usize
impl PartialEq<TraitMethodId> for usize
Source§impl PartialEq<usize> for TraitMethodId
impl PartialEq<usize> for TraitMethodId
Source§impl PartialEq for TraitMethodId
impl PartialEq for TraitMethodId
Source§impl PartialOrd<TraitMethodId> for usize
impl PartialOrd<TraitMethodId> for usize
Source§impl PartialOrd<usize> for TraitMethodId
impl PartialOrd<usize> for TraitMethodId
Source§impl PartialOrd for TraitMethodId
impl PartialOrd for TraitMethodId
Source§impl Rem<usize> for TraitMethodId
impl Rem<usize> for TraitMethodId
Source§impl Serialize for TraitMethodId
impl Serialize for TraitMethodId
Source§impl<State: ?Sized> SerializeState<State> for TraitMethodId
impl<State: ?Sized> SerializeState<State> for TraitMethodId
fn serialize_state<S: Serializer>( &self, _state: &State, serializer: S, ) -> Result<S::Ok, S::Error>
Source§impl Sub<TraitMethodId> for usize
impl Sub<TraitMethodId> for usize
Source§type Output = TraitMethodId
type Output = TraitMethodId
The resulting type after applying the
- operator.Source§fn sub(self, other: TraitMethodId) -> TraitMethodId
fn sub(self, other: TraitMethodId) -> TraitMethodId
Performs the
- operation. Read moreSource§impl Sub<usize> for TraitMethodId
impl Sub<usize> for TraitMethodId
Source§impl Sub for TraitMethodId
impl Sub for TraitMethodId
Source§type Output = TraitMethodId
type Output = TraitMethodId
The resulting type after applying the
- operator.Source§fn sub(self, other: TraitMethodId) -> TraitMethodId
fn sub(self, other: TraitMethodId) -> TraitMethodId
Performs the
- operation. Read moreSource§impl SubAssign<usize> for TraitMethodId
impl SubAssign<usize> for TraitMethodId
Source§fn sub_assign(&mut self, other: usize)
fn sub_assign(&mut self, other: usize)
Performs the
-= operation. Read moreSource§impl SubAssign for TraitMethodId
impl SubAssign for TraitMethodId
Source§fn sub_assign(&mut self, other: TraitMethodId)
fn sub_assign(&mut self, other: TraitMethodId)
Performs the
-= operation. Read moreSource§impl TryFrom<AssocItemId> for TraitMethodId
impl TryFrom<AssocItemId> for TraitMethodId
impl Copy for TraitMethodId
impl Eq for TraitMethodId
impl StructuralPartialEq for TraitMethodId
Auto Trait Implementations§
impl Freeze for TraitMethodId
impl RefUnwindSafe for TraitMethodId
impl Send for TraitMethodId
impl Sync for TraitMethodId
impl Unpin for TraitMethodId
impl UnwindSafe for TraitMethodId
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<I, T> IdxSliceIndex<I, T> for Iwhere
I: Idx,
impl<I, T> IdxSliceIndex<I, T> for Iwhere
I: Idx,
type Output = T
fn get( self, slice: &IndexSlice<I, [T]>, ) -> Option<&<I as IdxSliceIndex<I, T>>::Output>
fn get_mut( self, slice: &mut IndexSlice<I, [T]>, ) -> Option<&mut <I as IdxSliceIndex<I, T>>::Output>
fn index( self, slice: &IndexSlice<I, [T]>, ) -> &<I as IdxSliceIndex<I, T>>::Output
fn index_mut( self, slice: &mut IndexSlice<I, [T]>, ) -> &mut <I as IdxSliceIndex<I, T>>::Output
§impl<T> Indentable for Twhere
T: Display,
impl<T> Indentable for Twhere
T: Display,
§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.