Enum c_void

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 compiler down to 1.1.0. After Rust 1.30.0, it was re-exported by this definition. For more information, please read RFC 2521.

Implementations

impl Debug for c_void

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

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 UnwindSafe for c_void

impl<T> Any for c_void

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for c_void

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

impl<T> BorrowMut for c_void

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

impl<T> From for c_void

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into for c_void

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 c_void

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

impl<T, U> TryInto for c_void

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