aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDirk Van Haerenborgh <vhdirk@gmail.com>2018-10-29 23:25:37 +0100
committerDirk Van Haerenborgh <vhdirk@gmail.com>2018-10-29 23:25:37 +0100
commit7d2c7b44508291b319d95e8689e9cabf8760bef4 (patch)
tree3112a992cf53c49b7188d24faa9be22607def230
parent29a30f26523bc50a792dc917938b71049de025aa (diff)
downloadmail-7d2c7b44508291b319d95e8689e9cabf8760bef4.tar.gz
bind type param to lifetime
-rw-r--r--src/filenames.rs10
-rw-r--r--src/message.rs16
-rw-r--r--src/messages.rs16
-rw-r--r--src/tags.rs12
-rw-r--r--src/thread.rs14
-rw-r--r--src/threads.rs12
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> {}