diff options
| author | Dirk Van Haerenborgh <vhdirk@gmail.com> | 2018-04-13 18:51:55 +0200 |
|---|---|---|
| committer | Dirk Van Haerenborgh <vhdirk@gmail.com> | 2018-04-13 18:51:55 +0200 |
| commit | 3f02ab97bea870111aa23c32291de129b824de89 (patch) | |
| tree | 598fb2aab59a34976278b06725b9384040edf15b | |
| parent | 52050a5e1dcd613915135e217439bc6293bea257 (diff) | |
| download | mail-3f02ab97bea870111aa23c32291de129b824de89.tar.gz | |
add missing lifetime parameters
| -rw-r--r-- | src/database.rs | 24 | ||||
| -rw-r--r-- | src/directory.rs | 7 | ||||
| -rw-r--r-- | src/filenames.rs | 7 | ||||
| -rw-r--r-- | src/message.rs | 12 | ||||
| -rw-r--r-- | src/messages.rs | 7 | ||||
| -rw-r--r-- | src/query.rs | 9 | ||||
| -rw-r--r-- | src/tags.rs | 3 | ||||
| -rw-r--r-- | src/thread.rs | 6 | ||||
| -rw-r--r-- | src/threads.rs | 5 |
9 files changed, 45 insertions, 35 deletions
diff --git a/src/database.rs b/src/database.rs index 314c354..6dcbd0d 100644 --- a/src/database.rs +++ b/src/database.rs @@ -171,7 +171,7 @@ impl Database { Ok(()) } - pub fn directory<'d, P: AsRef<path::Path>>(&self, path: &P) -> Result<Option<Directory<'d>>> { + pub fn directory<'d, P: AsRef<path::Path>>(&'d self, path: &P) -> Result<Option<Directory<'d>>> { let path_str = CString::new(path.as_ref().to_str().unwrap()).unwrap(); let mut dir = ptr::null_mut(); @@ -187,23 +187,22 @@ impl Database { } } - pub fn create_query<'d>(&self, query_string: &String) -> Result<Query<'d>> { + pub fn create_query<'d>(&'d self, query_string: &String) -> Result<Query<'d>> { let query_str = CString::new(query_string.as_str()).unwrap(); println!("query {:?}", query_str); - let mut query = ptr::null_mut(); - unsafe { - query = ffi::notmuch_query_create(self.0, query_str.as_ptr()); - } + + let mut query = unsafe { + ffi::notmuch_query_create(self.0, query_str.as_ptr()) + }; Ok(Query::new(query)) } - pub fn all_tags<'d>(&self) -> Result<Tags<'d>> { + pub fn all_tags<'d>(&'d self) -> Result<Tags<'d>> { - let mut tags = ptr::null_mut(); - unsafe { - tags = ffi::notmuch_database_get_all_tags(self.0); - } + let mut tags = unsafe { + ffi::notmuch_database_get_all_tags(self.0) + }; Ok(Tags::new(tags)) } @@ -221,4 +220,5 @@ impl ops::Drop for Database { } } -unsafe impl Send for Database{} +unsafe impl Send for Database {} +// unsafe impl Sync for Database {} diff --git a/src/directory.rs b/src/directory.rs index 7237100..d01f21e 100644 --- a/src/directory.rs +++ b/src/directory.rs @@ -15,11 +15,11 @@ use ffi; #[derive(Debug)] pub struct Directory<'d>( *mut ffi::notmuch_directory_t, - marker::PhantomData<&'d mut Database>, + marker::PhantomData<&'d Database>, ); impl<'d> Directory<'d>{ - pub fn child_directories(self: &Self) -> Filenames<'d>{ + pub fn child_directories(self: &'d Self) -> Filenames<'d>{ Filenames::new(unsafe { ffi::notmuch_directory_get_child_directories(self.0) }) @@ -33,7 +33,7 @@ impl<'d> NewFromPtr<*mut ffi::notmuch_directory_t> for Directory<'d> { } impl<'d> ops::Drop for Directory<'d> { - fn drop(&mut self) { + fn drop(self: &mut Self) { unsafe { ffi::notmuch_directory_destroy(self.0) }; @@ -41,3 +41,4 @@ impl<'d> ops::Drop for Directory<'d> { } unsafe impl<'d> Send for Directory<'d>{} +//unsafe impl<'d> Sync for Directory<'d>{} diff --git a/src/filenames.rs b/src/filenames.rs index 0d32bd6..30367a9 100644 --- a/src/filenames.rs +++ b/src/filenames.rs @@ -22,7 +22,7 @@ use ffi; #[derive(Debug)] pub struct Filenames<'d>( *mut ffi::notmuch_filenames_t, - marker::PhantomData<&'d mut database::Database>, + marker::PhantomData<&'d database::Database>, ); impl<'d> NewFromPtr<*mut ffi::notmuch_filenames_t> for Filenames<'d> { @@ -32,7 +32,7 @@ impl<'d> NewFromPtr<*mut ffi::notmuch_filenames_t> for Filenames<'d> { } impl<'d> ops::Drop for Filenames<'d> { - fn drop(&mut self) { + fn drop(self: &mut Self) { unsafe { ffi::notmuch_filenames_destroy(self.0) }; @@ -42,7 +42,7 @@ impl<'d> ops::Drop for Filenames<'d> { impl<'d> iter::Iterator for Filenames<'d> { type Item = PathBuf; - fn next(&mut self) -> Option<Self::Item> { + fn next(self: &mut Self) -> Option<Self::Item> { let valid = unsafe { ffi::notmuch_filenames_valid(self.0) @@ -64,3 +64,4 @@ impl<'d> iter::Iterator for Filenames<'d> { unsafe impl<'d> Send for Filenames<'d>{} +// unsafe impl<'d> Sync for Filenames<'d>{} diff --git a/src/message.rs b/src/message.rs index a1f7816..409c101 100644 --- a/src/message.rs +++ b/src/message.rs @@ -22,7 +22,7 @@ use Filenames; #[derive(Debug)] pub struct Message<'q, 'd:'q>( pub(crate) *mut ffi::notmuch_message_t, - marker::PhantomData<&'q mut Query<'d>>, + marker::PhantomData<&'q Query<'d>>, ); impl<'q, 'd> NewFromPtr<*mut ffi::notmuch_message_t> for Message<'q, 'd> { @@ -47,12 +47,13 @@ impl<'q, 'd> Message<'q, 'd>{ tid.to_str().unwrap().to_string() } - pub fn replies(self: &Self) -> Messages<'q, 'd>{ + pub fn replies(self: &'q Self) -> Messages<'q, 'd>{ Messages::new(unsafe { ffi::notmuch_message_get_replies(self.0) }) } -#[cfg(feature = "0.26")] + + #[cfg(feature = "0.26")] pub fn count_files(self: &Self) -> i32 { unsafe { @@ -60,7 +61,7 @@ impl<'q, 'd> Message<'q, 'd>{ } } - pub fn filenames(self: &Self) -> Filenames<'d>{ + pub fn filenames(self: &'d Self) -> Filenames<'d>{ Filenames::new(unsafe { ffi::notmuch_message_get_filenames(self.0) }) @@ -75,7 +76,7 @@ impl<'q, 'd> Message<'q, 'd>{ impl<'q, 'd> ops::Drop for Message<'q, 'd> { - fn drop(&mut self) { + fn drop(self: &mut Self) { unsafe { ffi::notmuch_message_destroy(self.0) }; @@ -83,3 +84,4 @@ impl<'q, 'd> ops::Drop for Message<'q, 'd> { } unsafe impl<'q, 'd> Send for Message<'q, 'd>{} +// unsafe impl<'q, 'd> Sync for Message<'q, 'd>{} diff --git a/src/messages.rs b/src/messages.rs index 94b823c..925b027 100644 --- a/src/messages.rs +++ b/src/messages.rs @@ -19,7 +19,7 @@ pub struct Messages<'q, 'd:'q>( // TODO: is this lifetime specifier correct? // query may outlive messages. pub(crate) *mut ffi::notmuch_messages_t, - marker::PhantomData<&'q mut Query<'d>>, + marker::PhantomData<&'q Query<'d>>, ); impl<'q, 'd> NewFromPtr<*mut ffi::notmuch_messages_t> for Messages<'q, 'd> { @@ -30,7 +30,7 @@ impl<'q, 'd> NewFromPtr<*mut ffi::notmuch_messages_t> for Messages<'q, 'd> { impl<'q, 'd> Messages<'q, 'd>{ - pub fn collect_tags(self: &Self) -> Tags{ + pub fn collect_tags(self: &'d Self) -> Tags<'d>{ Tags::new(unsafe { ffi::notmuch_messages_collect_tags(self.0) }) @@ -39,7 +39,7 @@ impl<'q, 'd> Messages<'q, 'd>{ } impl<'q, 'd> ops::Drop for Messages<'q, 'd> { - fn drop(&mut self) { + fn drop(self: &mut Self) { unsafe { ffi::notmuch_messages_destroy(self.0) }; @@ -70,3 +70,4 @@ impl<'q, 'd> iter::Iterator for Messages<'q, 'd> { } unsafe impl<'q, 'd> Send for Messages<'q, 'd>{} +// unsafe impl<'q, 'd> Sync for Messages<'q, 'd>{} diff --git a/src/query.rs b/src/query.rs index aa5d9f5..660c86c 100644 --- a/src/query.rs +++ b/src/query.rs @@ -19,7 +19,7 @@ use ffi::Sort; #[derive(Debug)] pub struct Query<'d>( pub(crate) *mut ffi::notmuch_query_t, - marker::PhantomData<&'d mut Database>, + marker::PhantomData<&'d Database>, ); @@ -51,7 +51,7 @@ impl<'d> Query<'d> { /// Filter messages according to the query and return - pub fn search_messages<'q>(self: &Self) -> Result<Messages<'q, 'd>> + pub fn search_messages<'q>(self: &'d Self) -> Result<Messages<'q, 'd>> { let mut msgs = ptr::null_mut(); try!(unsafe { @@ -75,7 +75,7 @@ impl<'d> Query<'d> { return Ok(cnt); } - pub fn search_threads<'q>(self: &Self) -> Result<Threads<'q, 'd>> + pub fn search_threads<'q>(self: &'d Self) -> Result<Threads<'q, 'd>> { let mut thrds = ptr::null_mut(); try!(unsafe { @@ -115,4 +115,5 @@ impl<'d> ops::Drop for Query<'d> { } } -unsafe impl<'d> Send for Query<'d>{} +unsafe impl<'d> Send for Query<'d> {} +// unsafe impl<'d> Sync for Query<'d> {} diff --git a/src/tags.rs b/src/tags.rs index c58f670..37cc33d 100644 --- a/src/tags.rs +++ b/src/tags.rs @@ -19,7 +19,7 @@ use ffi; #[derive(Debug)] pub struct Tags<'d>( *mut ffi::notmuch_tags_t, - marker::PhantomData<&'d mut database::Database>, + marker::PhantomData<&'d database::Database>, ); impl<'d> NewFromPtr<*mut ffi::notmuch_tags_t> for Tags<'d> { @@ -61,3 +61,4 @@ impl<'d> iter::Iterator for Tags<'d> { } unsafe impl<'d> Send for Tags<'d>{} +// unsafe impl<'d> Sync for Tags<'d>{} diff --git a/src/thread.rs b/src/thread.rs index 97b005a..ef6023d 100644 --- a/src/thread.rs +++ b/src/thread.rs @@ -5,6 +5,7 @@ use std::{ str, result }; +use std::sync::atomic::AtomicPtr; use std::ffi::{CString, CStr}; @@ -22,7 +23,7 @@ use Tags; #[derive(Debug)] pub struct Thread<'q, 'd:'q>( pub(crate) *mut ffi::notmuch_thread_t, - marker::PhantomData<&'q mut Query<'d>>, + marker::PhantomData<&'q Query<'d>>, ); impl<'q, 'd> NewFromPtr<*mut ffi::notmuch_thread_t> for Thread<'q, 'd> { @@ -115,4 +116,5 @@ impl<'q, 'd> ops::Drop for Thread<'q, 'd> { } } -unsafe impl<'q, 'd> Send for Thread<'q, 'd>{} +unsafe impl<'q, 'd> Send for Thread<'q, 'd> {} +// unsafe impl<'q, 'd> Sync for Thread<'q, 'd> {} diff --git a/src/threads.rs b/src/threads.rs index 2d6d7c4..596874a 100644 --- a/src/threads.rs +++ b/src/threads.rs @@ -15,7 +15,7 @@ use ffi; #[derive(Debug)] pub struct Threads<'q, 'd:'q>( *mut ffi::notmuch_threads_t, - marker::PhantomData<&'q mut Query<'d>>, + marker::PhantomData<&'q Query<'d>>, ); impl<'q, 'd> NewFromPtr<*mut ffi::notmuch_threads_t> for Threads<'q, 'd> { @@ -55,4 +55,5 @@ impl<'q, 'd> iter::Iterator for Threads<'q, 'd> { } } -unsafe impl<'q, 'd> Send for Threads<'q, 'd>{} +unsafe impl<'q, 'd> Send for Threads<'q, 'd> {} +// unsafe impl<'q, 'd> Sync for Threads<'q, 'd> {} |
