pub(crate) enum ConstantKind {
TyConst {
expr: String,
},
Anonymous {
body: BodyId,
},
Extern {
def_id: DefId,
},
Local {
def_id: DefId,
body: BodyId,
},
}Variants
TyConst
Fields
expr: StringThis 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
Fields
body: BodyIdA 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
Fields
def_id: DefIdA constant from a different crate.
Local
const FOO: u32 = ...;
Implementations
sourceimpl ConstantKind
impl ConstantKind
Trait Implementations
sourceimpl Clone for ConstantKind
impl Clone for ConstantKind
sourcefn clone(&self) -> ConstantKind
fn clone(&self) -> ConstantKind
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for ConstantKind
impl Debug for ConstantKind
sourceimpl Hash for ConstantKind
impl Hash for ConstantKind
sourceimpl PartialEq<ConstantKind> for ConstantKind
impl PartialEq<ConstantKind> for ConstantKind
sourcefn eq(&self, other: &ConstantKind) -> bool
fn eq(&self, other: &ConstantKind) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
sourcefn ne(&self, other: &ConstantKind) -> bool
fn ne(&self, other: &ConstantKind) -> bool
This method tests for !=.
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn 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>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more
impl<'a, T> Captures<'a> for T where
T: ?Sized,
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: 32 bytes
Size for each variant:
TyConst: 28 bytesAnonymous: 8 bytesExtern: 8 bytesLocal: 16 bytes