use std::os::raw::c_void; pub trait AsPtr { fn as_ptr(&self) -> *const T; } pub trait AsMutPtr { fn as_mut_ptr(&self) -> *mut T; } pub trait AsVoidPtr { fn as_void_ptr(&self) -> *const c_void; } pub trait AsMutVoidPtr { fn as_mut_void_ptr(&self) -> *mut c_void; }