Struct Discriminant
pub struct Discriminant<T>(pub(in ::mem) <T as DiscriminantKind>::Discriminant);
Opaque type representing the discriminant of an enum.
See the discriminant function in this module for more information.
Fields
0: <T as DiscriminantKind>::Discriminant
Trait Implementations
impl<T> Clone for Discriminant<T>
fn clone(&self) -> Self
impl<T> Copy for Discriminant<T>
impl<T> Debug for Discriminant<T>
fn fmt(&self, fmt: &mut Formatter<'_>) -> Result
impl<T> Eq for Discriminant<T>
impl<T> Hash for Discriminant<T>
fn hash<H: Hasher>(&self, state: &mut H)
impl<T> PartialEq for Discriminant<T>
fn eq(&self, rhs: &Self) -> bool
impl<T> TrivialClone for Discriminant<T>
Auto Trait Implementations
impl<T> Freeze for Discriminant<T>
where
<T as DiscriminantKind>::Discriminant: Freeze,
impl<T> RefUnwindSafe for Discriminant<T>
where
<T as DiscriminantKind>::Discriminant: RefUnwindSafe,
impl<T> Send for Discriminant<T>
where
<T as DiscriminantKind>::Discriminant: Send,
impl<T> Sync for Discriminant<T>
where
<T as DiscriminantKind>::Discriminant: Sync,
impl<T> Unpin for Discriminant<T>
where
<T as DiscriminantKind>::Discriminant: Unpin,
impl<T> UnsafeUnpin for Discriminant<T>
where
<T as DiscriminantKind>::Discriminant: UnsafeUnpin,
impl<T> UnwindSafe for Discriminant<T>
where
<T as DiscriminantKind>::Discriminant: UnwindSafe,
Blanket Implementations
impl<T> Any for Discriminant<T>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Discriminant<T>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Discriminant<T>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Discriminant<T>
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for Discriminant<T>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Printable for Discriminant<T>
where
T: Copy + Debug,
impl<T> SizeHint for Discriminant<T>
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for Discriminant<T>
impl<T, U> Into<U> for Discriminant<T>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Discriminant<T>
where
U: Into<T>,
type Error = Infallible;fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Discriminant<T>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>