Struct PhantomInvariantLifetime

struct PhantomInvariantLifetime<'a>(_)

Zero-sized type used to mark a lifetime as invariant.

Invariant lifetimes must be live for the exact length declared, neither shorter nor longer. See the reference for more information.

Layout

For all 'a, the following are guaranteed:

Implementations

impl PhantomInvariantLifetime<'_>

const fn new() -> Self

Constructs a new instance of the variance marker.

impl Debug for PhantomInvariantLifetime<'_>

fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result

impl Variance for PhantomInvariantLifetime<'_>

impl<'a> Clone for PhantomInvariantLifetime<'a>

fn clone(self: &Self) -> PhantomInvariantLifetime<'a>

impl<'a> Copy for PhantomInvariantLifetime<'a>

impl<'a> Default for PhantomInvariantLifetime<'a>

fn default() -> PhantomInvariantLifetime<'a>

impl<'a> Eq for PhantomInvariantLifetime<'a>

impl<'a> Freeze for PhantomInvariantLifetime<'a>

impl<'a> Hash for PhantomInvariantLifetime<'a>

fn hash<__H: $crate::hash::Hasher>(self: &Self, state: &mut __H)

impl<'a> Ord for PhantomInvariantLifetime<'a>

fn cmp(self: &Self, other: &PhantomInvariantLifetime<'a>) -> Ordering

impl<'a> PartialEq for PhantomInvariantLifetime<'a>

fn eq(self: &Self, other: &PhantomInvariantLifetime<'a>) -> bool

impl<'a> PartialOrd for PhantomInvariantLifetime<'a>

fn partial_cmp(self: &Self, other: &PhantomInvariantLifetime<'a>) -> Option<Ordering>

impl<'a> RefUnwindSafe for PhantomInvariantLifetime<'a>

impl<'a> Send for PhantomInvariantLifetime<'a>

impl<'a> StructuralPartialEq for PhantomInvariantLifetime<'a>

impl<'a> Sync for PhantomInvariantLifetime<'a>

impl<'a> Unpin for PhantomInvariantLifetime<'a>

impl<'a> UnsafeUnpin for PhantomInvariantLifetime<'a>

impl<'a> UnwindSafe for PhantomInvariantLifetime<'a>

impl<T> Any for PhantomInvariantLifetime<'a>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for PhantomInvariantLifetime<'a>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for PhantomInvariantLifetime<'a>

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> CloneToUninit for PhantomInvariantLifetime<'a>

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for PhantomInvariantLifetime<'a>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into for PhantomInvariantLifetime<'a>

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for PhantomInvariantLifetime<'a>

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for PhantomInvariantLifetime<'a>

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>