diff --git a/src/database.rs b/src/database.rs index 1e70c36..a843a41 100644 --- a/src/database.rs +++ b/src/database.rs @@ -39,12 +39,12 @@ impl Database { pub fn iterate(&self, sql: &str, callback: F) -> Result<()> where F: FnMut(Vec<(String, String)>) -> bool { - use std::mem::transmute; + use std::ops::Deref; let callback = Box::new(callback); unsafe { success!(self, raw::sqlite3_exec(self.raw, str_to_c_str!(sql), Some(execute_callback::), - transmute::<_, *mut c_void>(callback), + callback.deref() as *const _ as *mut _ as *mut _, 0 as *mut _)); } Ok(())