Enum rustdoc::clean::types::ConstantKind
source · pub(crate) enum ConstantKind {
TyConst {
expr: Box<str>,
},
Anonymous {
body: BodyId,
},
Extern {
def_id: DefId,
},
Local {
def_id: DefId,
body: BodyId,
},
}
Variants§
TyConst
This is the wrapper around ty::Const
for a non-local constant. Because it doesn’t have a
BodyId
, we need to handle it on its own.
Note that ty::Const
includes generic parameters, and may not always be uniquely identified
by a DefId. So this field must be different from Extern
.
Anonymous
A constant (expression) that’s not an item or associated item. These are usually found nested inside types (e.g., array lengths) or expressions (e.g., repeat counts), and also used to define explicit discriminant values for enum variants.
Extern
A constant from a different crate.
Local
const FOO: u32 = ...;
Implementations§
Trait Implementations§
source§impl Clone for ConstantKind
impl Clone for ConstantKind
source§fn clone(&self) -> ConstantKind
fn clone(&self) -> ConstantKind
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ConstantKind
impl Debug for ConstantKind
source§impl Hash for ConstantKind
impl Hash for ConstantKind
source§impl PartialEq<ConstantKind> for ConstantKind
impl PartialEq<ConstantKind> for ConstantKind
source§fn eq(&self, other: &ConstantKind) -> bool
fn eq(&self, other: &ConstantKind) -> bool
self
and other
values to be equal, and is used
by ==
.impl Eq for ConstantKind
impl StructuralEq for ConstantKind
impl StructuralPartialEq for ConstantKind
Auto Trait Implementations§
impl RefUnwindSafe for ConstantKind
impl Send for ConstantKind
impl Sync for ConstantKind
impl Unpin for ConstantKind
impl UnwindSafe for ConstantKind
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
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> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes
Size for each variant:
TyConst
: 20 bytesAnonymous
: 8 bytesExtern
: 8 bytesLocal
: 16 bytes