diff options
Diffstat (limited to 'src/messages.rs')
| -rw-r--r-- | src/messages.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/messages.rs b/src/messages.rs index 5144fb9..c21c701 100644 --- a/src/messages.rs +++ b/src/messages.rs @@ -13,20 +13,22 @@ use Database; use Query; #[derive(Debug)] -pub struct Messages<'q>( +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 Query<'q>> + marker::PhantomData<&'q Query<'d>> ); -impl<'q> NewFromPtr<*mut ffi::notmuch_messages_t> for Messages<'q> { - fn new(ptr: *mut ffi::notmuch_messages_t) -> Messages<'q> { +impl<'q, 'd:'q> NewFromPtr<*mut ffi::notmuch_messages_t> for Messages<'q, 'd> { + fn new(ptr: *mut ffi::notmuch_messages_t) -> Messages<'q, 'd> { Messages(ptr, marker::PhantomData) } } -impl<'q> ops::Drop for Messages<'q> { + +impl<'q, 'd:'q> ops::Drop for Messages<'q, 'd> { fn drop(&mut self) { unsafe { ffi::notmuch_messages_destroy(self.0) |
