diff options
| author | Dirk Van Haerenborgh <vhdirk@gmail.com> | 2018-10-29 23:25:37 +0100 |
|---|---|---|
| committer | Dirk Van Haerenborgh <vhdirk@gmail.com> | 2018-10-29 23:25:37 +0100 |
| commit | 7d2c7b44508291b319d95e8689e9cabf8760bef4 (patch) | |
| tree | 3112a992cf53c49b7188d24faa9be22607def230 | |
| parent | 29a30f26523bc50a792dc917938b71049de025aa (diff) | |
| download | mail-7d2c7b44508291b319d95e8689e9cabf8760bef4.tar.gz | |
bind type param to lifetime
| -rw-r--r-- | src/filenames.rs | 10 | ||||
| -rw-r--r-- | src/message.rs | 16 | ||||
| -rw-r--r-- | src/messages.rs | 16 | ||||
| -rw-r--r-- | src/tags.rs | 12 | ||||
| -rw-r--r-- | src/thread.rs | 14 | ||||
| -rw-r--r-- | src/threads.rs | 12 |
6 files changed, 40 insertions, 40 deletions
diff --git a/src/filenames.rs b/src/filenames.rs index 3c167df..5083742 100644 --- a/src/filenames.rs +++ b/src/filenames.rs @@ -30,12 +30,12 @@ impl Drop for FilenamesPtr { } #[derive(Debug)] -pub struct Filenames<'o, Owner: FilenamesOwner>{ +pub struct Filenames<'o, Owner: FilenamesOwner + 'o>{ pub(crate) handle: FilenamesPtr, pub(crate) phantom: PhantomData<&'o Owner> } -impl<'o, Owner: FilenamesOwner> FromPtr<*mut ffi::notmuch_filenames_t> for Filenames<'o, Owner> { +impl<'o, Owner: FilenamesOwner + 'o> FromPtr<*mut ffi::notmuch_filenames_t> for Filenames<'o, Owner> { fn from_ptr(ptr: *mut ffi::notmuch_filenames_t) -> Filenames<'o, Owner> { Filenames{ handle: FilenamesPtr{ptr}, @@ -44,7 +44,7 @@ impl<'o, Owner: FilenamesOwner> FromPtr<*mut ffi::notmuch_filenames_t> for Filen } } -impl<'o, Owner: FilenamesOwner> Iterator for Filenames<'o, Owner> { +impl<'o, Owner: FilenamesOwner + 'o> Iterator for Filenames<'o, Owner> { type Item = PathBuf; fn next(self: &mut Self) -> Option<Self::Item> { @@ -67,5 +67,5 @@ impl<'o, Owner: FilenamesOwner> Iterator for Filenames<'o, Owner> { } } -unsafe impl<'o, Owner: FilenamesOwner> Send for Filenames<'o, Owner>{} -unsafe impl<'o, Owner: FilenamesOwner> Sync for Filenames<'o, Owner>{} +unsafe impl<'o, Owner: FilenamesOwner + 'o> Send for Filenames<'o, Owner>{} +unsafe impl<'o, Owner: FilenamesOwner + 'o> Sync for Filenames<'o, Owner>{} diff --git a/src/message.rs b/src/message.rs index 2825c1a..af04cec 100644 --- a/src/message.rs +++ b/src/message.rs @@ -34,17 +34,17 @@ impl Drop for MessagePtr { } #[derive(Debug)] -pub struct Message<'o, Owner: MessageOwner>{ +pub struct Message<'o, Owner: MessageOwner + 'o>{ pub(crate) handle: MessagePtr, phantom: PhantomData<&'o Owner>, } -impl<'o, Owner: MessageOwner> MessagesOwner for Message<'o, Owner>{} -impl<'o, Owner: MessageOwner> FilenamesOwner for Message<'o, Owner>{} -impl<'o, Owner: MessageOwner> TagsOwner for Message<'o, Owner>{} +impl<'o, Owner: MessageOwner + 'o> MessagesOwner for Message<'o, Owner>{} +impl<'o, Owner: MessageOwner + 'o> FilenamesOwner for Message<'o, Owner>{} +impl<'o, Owner: MessageOwner + 'o> TagsOwner for Message<'o, Owner>{} -impl<'o, Owner: MessageOwner> FromPtr<*mut ffi::notmuch_message_t> for Message<'o, Owner> { +impl<'o, Owner: MessageOwner + 'o> FromPtr<*mut ffi::notmuch_message_t> for Message<'o, Owner> { fn from_ptr(ptr: *mut ffi::notmuch_message_t) -> Message<'o, Owner> { Message{ handle: MessagePtr{ptr}, @@ -53,7 +53,7 @@ impl<'o, Owner: MessageOwner> FromPtr<*mut ffi::notmuch_message_t> for Message<' } } -impl<'o, Owner: MessageOwner> Message<'o, Owner>{ +impl<'o, Owner: MessageOwner + 'o> Message<'o, Owner>{ pub fn id(self: &Self) -> String{ let mid = unsafe { @@ -113,5 +113,5 @@ impl<'o, Owner: MessageOwner> Message<'o, Owner>{ } } -unsafe impl<'o, Owner: MessageOwner> Send for Message<'o, Owner>{} -unsafe impl<'o, Owner: MessageOwner> Sync for Message<'o, Owner>{} +unsafe impl<'o, Owner: MessageOwner + 'o> Send for Message<'o, Owner>{} +unsafe impl<'o, Owner: MessageOwner + 'o> Sync for Message<'o, Owner>{} diff --git a/src/messages.rs b/src/messages.rs index ef196e5..b0fd47d 100644 --- a/src/messages.rs +++ b/src/messages.rs @@ -38,12 +38,12 @@ impl Drop for MessagesPtr { #[derive(Debug)] -pub struct Messages<'o, Owner: MessagesOwner>{ +pub struct Messages<'o, Owner: MessagesOwner + 'o>{ pub(crate) handle: MessagesPtr, phantom: PhantomData<&'o Owner>, } -impl<'o, Owner: MessagesOwner> FromPtr<*mut ffi::notmuch_messages_t> for Messages<'o, Owner> { +impl<'o, Owner: MessagesOwner + 'o> FromPtr<*mut ffi::notmuch_messages_t> for Messages<'o, Owner> { fn from_ptr(ptr: *mut ffi::notmuch_messages_t) -> Messages<'o, Owner> { Messages{ handle: MessagesPtr{ptr}, @@ -52,11 +52,11 @@ impl<'o, Owner: MessagesOwner> FromPtr<*mut ffi::notmuch_messages_t> for Message } } -impl<'o, Owner: MessagesOwner> MessageOwner for Messages<'o, Owner>{} -impl<'o, Owner: MessagesOwner> TagsOwner for Messages<'o, Owner>{} +impl<'o, Owner: MessagesOwner + 'o> MessageOwner for Messages<'o, Owner>{} +impl<'o, Owner: MessagesOwner + 'o> TagsOwner for Messages<'o, Owner>{} -impl<'o, Owner: MessagesOwner> Messages<'o, Owner>{ +impl<'o, Owner: MessagesOwner + 'o> Messages<'o, Owner>{ /** * Return a list of tags from all messages. @@ -80,7 +80,7 @@ impl<'o, Owner: MessagesOwner> Messages<'o, Owner>{ -impl<'o, Owner: MessagesOwner> Iterator for Messages<'o, Owner> { +impl<'o, Owner: MessagesOwner + 'o> Iterator for Messages<'o, Owner> { type Item = Message<'o, Self>; fn next(&mut self) -> Option<Self::Item> { @@ -103,5 +103,5 @@ impl<'o, Owner: MessagesOwner> Iterator for Messages<'o, Owner> { } } -unsafe impl<'o, Owner: MessagesOwner> Send for Messages<'o, Owner>{} -unsafe impl<'o, Owner: MessagesOwner> Sync for Messages<'o, Owner>{} +unsafe impl<'o, Owner: MessagesOwner + 'o> Send for Messages<'o, Owner>{} +unsafe impl<'o, Owner: MessagesOwner + 'o> Sync for Messages<'o, Owner>{} diff --git a/src/tags.rs b/src/tags.rs index 7df5e5d..fa21ff7 100644 --- a/src/tags.rs +++ b/src/tags.rs @@ -14,18 +14,18 @@ pub trait TagsOwner{} #[derive(Debug)] -pub struct Tags<'o, Owner: TagsOwner>( +pub struct Tags<'o, Owner: TagsOwner + 'o>( *mut ffi::notmuch_tags_t, PhantomData<&'o Owner>, ); -impl<'o, Owner: TagsOwner> FromPtr<*mut ffi::notmuch_tags_t> for Tags<'o, Owner> { +impl<'o, Owner: TagsOwner + 'o> FromPtr<*mut ffi::notmuch_tags_t> for Tags<'o, Owner> { fn from_ptr(ptr: *mut ffi::notmuch_tags_t) -> Tags<'o, Owner> { Tags(ptr, PhantomData) } } -impl<'o, Owner: TagsOwner> Drop for Tags<'o, Owner> { +impl<'o, Owner: TagsOwner + 'o> Drop for Tags<'o, Owner> { fn drop(&mut self) { unsafe { ffi::notmuch_tags_destroy(self.0) @@ -33,7 +33,7 @@ impl<'o, Owner: TagsOwner> Drop for Tags<'o, Owner> { } } -impl<'o, Owner: TagsOwner> Iterator for Tags<'o, Owner> { +impl<'o, Owner: TagsOwner + 'o> Iterator for Tags<'o, Owner> { type Item = String; fn next(&mut self) -> Option<Self::Item> { @@ -57,5 +57,5 @@ impl<'o, Owner: TagsOwner> Iterator for Tags<'o, Owner> { } } -unsafe impl<'o, Owner: TagsOwner> Send for Tags<'o, Owner>{} -unsafe impl<'o, Owner: TagsOwner> Sync for Tags<'o, Owner>{} +unsafe impl<'o, Owner: TagsOwner + 'o> Send for Tags<'o, Owner>{} +unsafe impl<'o, Owner: TagsOwner + 'o> Sync for Tags<'o, Owner>{} diff --git a/src/thread.rs b/src/thread.rs index 1ba865e..55ed982 100644 --- a/src/thread.rs +++ b/src/thread.rs @@ -29,16 +29,16 @@ impl Drop for ThreadPtr { #[derive(Debug)] -pub struct Thread<'o, Owner: ThreadOwner>{ +pub struct Thread<'o, Owner: ThreadOwner + 'o>{ pub(crate) handle: ThreadPtr, phantom: PhantomData<&'o Owner>, } -impl<'o, Owner: ThreadOwner> MessagesOwner for Thread<'o, Owner>{} -impl<'o, Owner: ThreadOwner> TagsOwner for Thread<'o, Owner>{} +impl<'o, Owner: ThreadOwner + 'o> MessagesOwner for Thread<'o, Owner>{} +impl<'o, Owner: ThreadOwner + 'o> TagsOwner for Thread<'o, Owner>{} -impl<'o, Owner: ThreadOwner> FromPtr<*mut ffi::notmuch_thread_t> for Thread<'o, Owner> { +impl<'o, Owner: ThreadOwner + 'o> FromPtr<*mut ffi::notmuch_thread_t> for Thread<'o, Owner> { fn from_ptr(ptr: *mut ffi::notmuch_thread_t) -> Thread<'o, Owner> { Thread{ handle: ThreadPtr{ptr}, @@ -47,7 +47,7 @@ impl<'o, Owner: ThreadOwner> FromPtr<*mut ffi::notmuch_thread_t> for Thread<'o, } } -impl<'o, Owner: ThreadOwner> Thread<'o, Owner>{ +impl<'o, Owner: ThreadOwner + 'o> Thread<'o, Owner>{ pub fn id(self: &Self) -> String{ let tid = unsafe { @@ -124,5 +124,5 @@ impl<'o, Owner: ThreadOwner> Thread<'o, Owner>{ } -unsafe impl<'o, Owner: ThreadOwner> Send for Thread<'o, Owner> {} -unsafe impl<'o, Owner: ThreadOwner> Sync for Thread<'o, Owner> {} +unsafe impl<'o, Owner: ThreadOwner + 'o> Send for Thread<'o, Owner> {} +unsafe impl<'o, Owner: ThreadOwner + 'o> Sync for Thread<'o, Owner> {} diff --git a/src/threads.rs b/src/threads.rs index 09f51bf..a2edef8 100644 --- a/src/threads.rs +++ b/src/threads.rs @@ -25,15 +25,15 @@ impl Drop for ThreadsPtr { } #[derive(Debug)] -pub struct Threads<'o, Owner: ThreadsOwner>{ +pub struct Threads<'o, Owner: ThreadsOwner + 'o>{ handle: ThreadsPtr, phantom: PhantomData<&'o Owner>, } -impl<'o, Owner: ThreadsOwner> ThreadOwner for Threads<'o, Owner>{} +impl<'o, Owner: ThreadsOwner + 'o> ThreadOwner for Threads<'o, Owner>{} -impl<'o, Owner: ThreadsOwner> FromPtr<*mut ffi::notmuch_threads_t> for Threads<'o, Owner> { +impl<'o, Owner: ThreadsOwner + 'o> FromPtr<*mut ffi::notmuch_threads_t> for Threads<'o, Owner> { fn from_ptr(ptr: *mut ffi::notmuch_threads_t) -> Threads<'o, Owner> { Threads{ handle: ThreadsPtr{ptr}, @@ -42,7 +42,7 @@ impl<'o, Owner: ThreadsOwner> FromPtr<*mut ffi::notmuch_threads_t> for Threads<' } } -impl<'o, Owner: ThreadsOwner> Iterator for Threads<'o, Owner> { +impl<'o, Owner: ThreadsOwner + 'o> Iterator for Threads<'o, Owner> { type Item = Thread<'o, Self>; fn next(self: &mut Self) -> Option<Self::Item> { @@ -65,5 +65,5 @@ impl<'o, Owner: ThreadsOwner> Iterator for Threads<'o, Owner> { } } -unsafe impl<'o, Owner: ThreadsOwner> Send for Threads<'o, Owner> {} -unsafe impl<'o, Owner: ThreadsOwner> Sync for Threads<'o, Owner> {} +unsafe impl<'o, Owner: ThreadsOwner + 'o> Send for Threads<'o, Owner> {} +unsafe impl<'o, Owner: ThreadsOwner + 'o> Sync for Threads<'o, Owner> {} |
