[−][src]Struct mun_runtime::gc::UnsafeTypeInfo
UnsafeTypeInfo
is a type that wraps a NonNull<TypeInfo>
and indicates unsafe interior
operations on the wrapped TypeInfo
. The unsafety originates from uncertainty about the
lifetime of the wrapped TypeInfo
.
Rust lifetime rules do not allow separate lifetimes for struct fields, but we can make unsafe
guarantees about their lifetimes. Thus the UnsafeTypeInfo
type is the only legal way to obtain
shared references to the wrapped TypeInfo
.
Implementations
impl UnsafeTypeInfo
[src]
pub fn new(type_info: NonNull<TypeInfo>) -> UnsafeTypeInfo
[src]
Constructs a new instance of UnsafeTypeInfo
, which will wrap the specified type_info
pointer.
All access to the inner value through methods is unsafe
.
pub fn into_inner(self) -> NonNull<TypeInfo>
[src]
Unwraps the value.
Trait Implementations
impl Clone for UnsafeTypeInfo
[src]
fn clone(&self) -> UnsafeTypeInfo
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for UnsafeTypeInfo
[src]
impl Debug for UnsafeTypeInfo
[src]
impl Eq for UnsafeTypeInfo
[src]
impl Hash for UnsafeTypeInfo
[src]
fn hash<H>(&self, state: &mut H) where
H: Hasher,
[src]
H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<UnsafeTypeInfo> for UnsafeTypeInfo
[src]
fn eq(&self, other: &UnsafeTypeInfo) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl Send for UnsafeTypeInfo
[src]
impl Sync for UnsafeTypeInfo
[src]
impl TypeDesc for UnsafeTypeInfo
[src]
impl TypeFields<UnsafeTypeInfo> for UnsafeTypeInfo
[src]
impl TypeMemory for UnsafeTypeInfo
[src]
impl TypeTrace for UnsafeTypeInfo
[src]
Auto Trait Implementations
impl RefUnwindSafe for UnsafeTypeInfo
impl Unpin for UnsafeTypeInfo
impl UnwindSafe for UnsafeTypeInfo
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Marshal<T> for T
[src]
fn marshal_value(self, _runtime: Rc<RefCell<Runtime>>) -> T
[src]
fn marshal_from_ptr(
ptr: NonNull<T>,
_runtime: Rc<RefCell<Runtime>>,
_type_info: Option<&TypeInfo>
) -> T
[src]
ptr: NonNull<T>,
_runtime: Rc<RefCell<Runtime>>,
_type_info: Option<&TypeInfo>
) -> T
fn marshal_to_ptr(value: T, ptr: NonNull<T>, _type_info: Option<&TypeInfo>)
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,