Enum c_void
#[repr(u8)]
pub enum c_void
Equivalent to C's void type when used as a [pointer].
In essence, *const c_void is equivalent to C's const void*
and *mut c_void is equivalent to C's void*. That said, this is
not the same as C's void return type, which is Rust's () type.
To model pointers to opaque types in FFI, until extern type is
stabilized, it is recommended to use a newtype wrapper around an empty
byte array. See the Nomicon for details.
One could use std::os::raw::c_void if they want to support old Rust
compilers down to 1.1.0. After Rust 1.30.0, it was re-exported by
this definition. For more information, please read RFC 2521.
Variants
-
__variant1 -
__variant2
Trait Implementations
impl Debug for c_void
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl Freeze for c_void
impl RefUnwindSafe for c_void
impl Send for c_void
impl Sync for c_void
impl Unpin for c_void
impl UnsafeUnpin for c_void
impl UnwindSafe for c_void
Blanket Implementations
impl<T> Any for c_void
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for c_void
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for c_void
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for c_void
fn from(t: T) -> TReturns the argument unchanged.
impl<T> SizeHint for c_void
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for c_void
impl<T, U> Into<U> for c_void
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 c_void
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for c_void
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>