[−][src]Trait rfc::core::convert::transmute::stability::PromiseTransmutableFrom
Promise that a type may be stably transmuted from other types.
To promise that all transmutations of any PromiseTransmutableInto
type into your type that are currently safe will remain so in the future, simply annotate your type with #[derive(PromiseTransmutableFrom)]
.
For instance, this:
#[derive(PromiseTransmutableFrom)] #[repr(C)] pub struct Foo(pub Bar, pub Baz);
Associated Types
type Archetype: TransmuteInto<Self, NeglectStability>
A type which exemplifies the greatest extent to which Self
might change in non-breaking crate releases, insofar that those changes might affect instantiating Self
via transmutation.
Implementations on Foreign Types
impl PromiseTransmutableFrom for !
[src]
type Archetype = Self
impl PromiseTransmutableFrom for ()
[src]
type Archetype = Self
impl PromiseTransmutableFrom for f32
[src]
type Archetype = Self
impl PromiseTransmutableFrom for f64
[src]
type Archetype = Self
impl PromiseTransmutableFrom for i8
[src]
type Archetype = Self
impl PromiseTransmutableFrom for i16
[src]
type Archetype = Self
impl PromiseTransmutableFrom for i32
[src]
type Archetype = Self
impl PromiseTransmutableFrom for i64
[src]
type Archetype = Self
impl PromiseTransmutableFrom for i128
[src]
type Archetype = Self
impl PromiseTransmutableFrom for isize
[src]
type Archetype = Self
impl PromiseTransmutableFrom for u8
[src]
type Archetype = Self
impl PromiseTransmutableFrom for u16
[src]
type Archetype = Self
impl PromiseTransmutableFrom for u32
[src]
type Archetype = Self
impl PromiseTransmutableFrom for u64
[src]
type Archetype = Self
impl PromiseTransmutableFrom for u128
[src]
type Archetype = Self
impl PromiseTransmutableFrom for usize
[src]
type Archetype = Self
impl<T: ?Sized> PromiseTransmutableFrom for PhantomData<T>
[src]
type Archetype = Self
impl<T, const N: usize> PromiseTransmutableFrom for [T; N] where
T: PromiseTransmutableFrom,
[T::Archetype; N]: TransmuteInto<Self, NeglectStability> + PromiseTransmutableFrom,
[src]
T: PromiseTransmutableFrom,
[T::Archetype; N]: TransmuteInto<Self, NeglectStability> + PromiseTransmutableFrom,
impl<T: ?Sized> PromiseTransmutableFrom for *const T where
T: PromiseTransmutableFrom,
*const T::Archetype: TransmuteInto<Self, NeglectStability> + PromiseTransmutableFrom,
[src]
T: PromiseTransmutableFrom,
*const T::Archetype: TransmuteInto<Self, NeglectStability> + PromiseTransmutableFrom,
impl<T: ?Sized> PromiseTransmutableFrom for *mut T where
T: PromiseTransmutableFrom,
*mut T::Archetype: TransmuteInto<Self, NeglectStability> + PromiseTransmutableFrom,
[src]
T: PromiseTransmutableFrom,
*mut T::Archetype: TransmuteInto<Self, NeglectStability> + PromiseTransmutableFrom,
impl<'a, T: ?Sized> PromiseTransmutableFrom for &'a T where
T: PromiseTransmutableFrom,
&'a T::Archetype: TransmuteInto<&'a T, NeglectStability> + PromiseTransmutableFrom,
[src]
T: PromiseTransmutableFrom,
&'a T::Archetype: TransmuteInto<&'a T, NeglectStability> + PromiseTransmutableFrom,
impl<'a, T: ?Sized> PromiseTransmutableFrom for &'a mut T where
T: PromiseTransmutableFrom,
&'a mut T::Archetype: TransmuteInto<&'a mut T, NeglectStability> + PromiseTransmutableFrom,
[src]
Loading content...
T: PromiseTransmutableFrom,
&'a mut T::Archetype: TransmuteInto<&'a mut T, NeglectStability> + PromiseTransmutableFrom,