aboutsummaryrefslogtreecommitdiffstats
path: root/src/messages.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/messages.rs')
-rw-r--r--src/messages.rs12
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)