W3cubDocs

/Rust

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[src]1.16.0

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> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

© 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