diff --git a/CHANGELOG.md b/CHANGELOG.md index dcc2ce50d..705a1453e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +Tantivy 0.11.2 +======================= +- The future returned by `IndexWriter::merge` does not borrow `self` mutably anymore (#732) + Tantivy 0.11.1 ===================== - Bug fix #729 diff --git a/Cargo.toml b/Cargo.toml index 4a4665ff6..f4ebac8d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tantivy" -version = "0.11.1" +version = "0.11.2" authors = ["Paul Masurel "] license = "MIT" categories = ["database-implementations", "data-structures"] diff --git a/src/indexer/index_writer.rs b/src/indexer/index_writer.rs index df6a47ca1..40c2b678b 100644 --- a/src/indexer/index_writer.rs +++ b/src/indexer/index_writer.rs @@ -514,9 +514,13 @@ impl IndexWriter { /// Merges a given list of segments /// /// `segment_ids` is required to be non-empty. - pub async fn merge(&mut self, segment_ids: &[SegmentId]) -> crate::Result { + pub fn merge( + &mut self, + segment_ids: &[SegmentId], + ) -> impl Future> { let merge_operation = self.segment_updater.make_merge_operation(segment_ids); - self.segment_updater.start_merge(merge_operation)?.await + let segment_updater = self.segment_updater.clone(); + async move { segment_updater.start_merge(merge_operation)?.await } } /// Closes the current document channel send.