[][src]Trait coercion::As

pub unsafe trait As<T: ?Sized>: Coerce<T> {
    fn as_(self) -> T
    where
        Self: Sized,
        T: Sized
, { ... } }

Types that can be reinterpreted as other types of the same size and alignment.

Provided methods

fn as_(self) -> T where
    Self: Sized,
    T: Sized

Performs the conversion on an owned, sized, value.

Examples

use coercion::As;

let n = true.as_();
assert_eq!(n, 1u8);
Loading content...

Implementations on Foreign Types

impl<T, U> As<[U]> for [T] where
    T: As<U>, 
[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl<T: ?Sized, U: ?Sized> As<Box<U>> for Box<T> where
    T: As<U>, 
[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<[u8]> for str[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl<'a, T: ?Sized, U: ?Sized> As<&'a T> for &'a U where
    T: As<U>, 
[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl<'a, T: ?Sized, U: ?Sized> As<&'a mut T> for &'a mut U where
    T: As<U>, 
[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl<'a, T: ?Sized, U: ?Sized> As<*const T> for *const U where
    T: As<U>, 
[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl<'a, T: ?Sized, U: ?Sized> As<*mut T> for *mut U where
    T: As<U>, 
[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl<T: ?Sized, U: ?Sized> As<ManuallyDrop<U>> for ManuallyDrop<T> where
    T: As<U>, 
[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i8> for u8[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u8> for i8[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicU8> for i8[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i8> for AtomicU8[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicI8> for AtomicU8[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicU8> for AtomicI8[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i16> for u16[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u16> for i16[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicU16> for i16[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i16> for AtomicU16[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicI16> for AtomicU16[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicU16> for AtomicI16[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i32> for u32[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u32> for i32[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicU32> for i32[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i32> for AtomicU32[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicI32> for AtomicU32[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicU32> for AtomicI32[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i64> for u64[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u64> for i64[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicU64> for i64[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i64> for AtomicU64[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicI64> for AtomicU64[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicU64> for AtomicI64[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i128> for u128[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u128> for i128[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<isize> for usize[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<usize> for isize[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicUsize> for isize[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<isize> for AtomicUsize[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicIsize> for AtomicUsize[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<AtomicUsize> for AtomicIsize[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u8> for bool[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u8> for NonZeroU8[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u16> for NonZeroU16[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u32> for NonZeroU32[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u64> for NonZeroU64[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<u128> for NonZeroU128[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<usize> for NonZeroUsize[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i8> for NonZeroI8[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i16> for NonZeroI16[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i32> for NonZeroI32[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i64> for NonZeroI64[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<i128> for NonZeroI128[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

impl As<isize> for NonZeroIsize[src]

fn as_(self) -> T where
    Self: Sized,
    T: Sized
[src]

Loading content...

Implementors

Loading content...