pub unsafe fn find_function(&self, name: &str) -> Option<NonNull<c_void>> {
    let name_null: Vec<u8> = name.bytes().chain(Some(0)).collect();
    let name_ptr: *const c_char = name_null.as_ptr() as *const c_char;
    NonNull::new(SDL_LoadFunction(self.nn.as_ptr(), name_ptr))
  }
/// Attempts to look up a function by name, getting its pointer.
///
/// Once this function returns, you will have to
/// [transmute](core::mem::transmute) the optional NonNull value you get into
/// an optional `fn` value of some sort.
///
/// You _probably_ want to transmute it into `Option<unsafe extern "C"
/// fn(INPUTS) -> OUTPUTS>`, but it's possible that you might need to use some
/// other ABI for example. This whole thing is obviously not at all safe. You
/// absolutely must get the `fn` type correct when doing this `transmute`.
///
/// # Safety
///
/// * The returned value _does not_ have a lifetime linking it back to this
///   shared library. Making sure that the function pointer is not used after
///   this library unloads is up to you.
Attempts to look up a function by name, getting its pointer.
Once this function returns, you will have to
[transmute](core::mem::transmute) the optional NonNull value you get into
an optional `fn` value of some sort.

You _probably_ want to transmute it into `Option OUTPUTS>`, but it's possible that you might need to use some
other ABI for example. This whole thing is obviously not at all safe. You
absolutely must get the `fn` type correct when doing this `transmute`.
Attempts to look up a function by name getting its pointer . Once this function returns you will have to [ transmute ] ( core :: mem :: transmute ) the optional NonNull value you get into an optional ` fn ` value of some sort . You _probably_ want to transmute it into ` Option OUTPUTS > ` but it ' s possible that you might need to use some other ABI for example . This whole thing is obviously not at all safe . You absolutely must get the ` fn ` type correct when doing this ` transmute ` .
pub unsafe fn find_function(&self, name: &str) -> Option<NonNull<c_void>> {
    let name_null: Vec<u8> = name.bytes().chain(Some(0)).collect();
    let name_ptr: *const c_char = name_null.as_ptr() as *const c_char;
    NonNull::new(SDL_LoadFunction(self.nn.as_ptr(), name_ptr))
  }
pub unsafe fn find_function ( & self , name : & str ) -> Option < NonNull < c_void > > { let name_null : Vec < u8 > = name . bytes ( ) . chain ( Some ( 0 ) ) . collect ( ) ; let name_ptr : * const c_char = name_null . as_ptr ( ) as * const c_char ; NonNull :: new ( SDL_LoadFunction ( self . nn . as_ptr ( ) , name_ptr ) ) }
Attempts to look up a function by name, getting its pointer.
Attempts to look up a function by name getting its pointer .
&self
name
&str
&self
name
&str
safety
The returned value _does not_ have a lifetime linking it back to this
shared library. Making sure that the function pointer is not used after
this library unloads is up to you.
The returned value _does not_ have a lifetime linking it back to this shared library . Making sure that the function pointer is not used after this library unloads is up to you .