Enum std::ffi::c_void
#[repr(u8)] pub enum c_void { // some variants omitted }
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.
Trait Implementations
impl Debug for c_void
Auto Trait Implementations
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
Blanket Implementations
impl<T> From<T> for T
pub fn from(t: T) -> T
Performs the conversion.
pub fn into(self) -> U
Performs the conversion.
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ffi/enum.c_void.html