#[repr(C, u8)]pub enum ConstArgKind<'hir, Unambig = ()> {
Path(QPath<'hir>),
Anon(&'hir AnonConst),
Infer(Span, Unambig),
}
Expand description
See ConstArg
.
Variants§
Path(QPath<'hir>)
Note: Currently this is only used for bare const params
(N
where fn foo<const N: usize>(...)
),
not paths to any const (N
where const N: usize = ...
).
However, in the future, we’ll be using it for all of those.
Anon(&'hir AnonConst)
Infer(Span, Unambig)
This variant is not always used to represent inference consts, sometimes
GenericArg::Infer
is used instead.
Trait Implementations§
Source§impl<'hir, Unambig: Clone> Clone for ConstArgKind<'hir, Unambig>
impl<'hir, Unambig: Clone> Clone for ConstArgKind<'hir, Unambig>
Source§fn clone(&self) -> ConstArgKind<'hir, Unambig>
fn clone(&self) -> ConstArgKind<'hir, Unambig>
Returns a copy 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<'hir, Unambig: Debug> Debug for ConstArgKind<'hir, Unambig>
impl<'hir, Unambig: Debug> Debug for ConstArgKind<'hir, Unambig>
Source§impl<'hir, Unambig, __CTX> HashStable<__CTX> for ConstArgKind<'hir, Unambig>where
__CTX: HashStableContext,
Unambig: HashStable<__CTX>,
impl<'hir, Unambig, __CTX> HashStable<__CTX> for ConstArgKind<'hir, Unambig>where
__CTX: HashStableContext,
Unambig: HashStable<__CTX>,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
impl<'hir, Unambig: Copy> Copy for ConstArgKind<'hir, Unambig>
Auto Trait Implementations§
impl<'hir, Unambig> DynSend for ConstArgKind<'hir, Unambig>where
Unambig: DynSend,
impl<'hir, Unambig> DynSync for ConstArgKind<'hir, Unambig>where
Unambig: DynSync,
impl<'hir, Unambig> Freeze for ConstArgKind<'hir, Unambig>where
Unambig: Freeze,
impl<'hir, Unambig> RefUnwindSafe for ConstArgKind<'hir, Unambig>where
Unambig: RefUnwindSafe,
impl<'hir, Unambig> Send for ConstArgKind<'hir, Unambig>where
Unambig: Send,
impl<'hir, Unambig> Sync for ConstArgKind<'hir, Unambig>where
Unambig: Sync,
impl<'hir, Unambig> Unpin for ConstArgKind<'hir, Unambig>where
Unambig: Unpin,
impl<'hir, Unambig> UnwindSafe for ConstArgKind<'hir, Unambig>where
Unambig: UnwindSafe,
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
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<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 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<'a, T> Captures<'a> for Twhere
T: ?Sized,
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.