Skip to content

Commit 68549c9

Browse files
committed
fix interaction between dedupe and take
1 parent 425c513 commit 68549c9

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

tools/agenda-generator/src/generator.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -350,9 +350,8 @@ impl Generator {
350350
Ok(())
351351
}
352352

353-
fn dedup(&mut self, mut issues: Vec<Issue>) -> Vec<Issue> {
354-
issues.retain(|issue| self.seen.insert(issue.html_url.clone()));
355-
issues
353+
fn dedup(&mut self, issues: Vec<Issue>) -> impl Iterator<Item = Issue> + '_ {
354+
issues.into_iter().filter(move |issue| self.seen.insert(issue.html_url.clone()))
356355
}
357356
}
358357

@@ -400,6 +399,7 @@ struct GithubQuery {
400399
state: State,
401400
}
402401

402+
#[allow(dead_code)]
403403
enum State {
404404
Open,
405405
Closed,
@@ -478,13 +478,13 @@ impl GithubQuery {
478478
endpoint += sort.api_str();
479479
}
480480

481-
let mut issues = github_api(&endpoint)?;
482-
483-
if let Some(count) = self.count {
484-
issues.truncate(count);
485-
}
486-
481+
let issues = github_api(&endpoint)?;
487482
let issues = generator.dedup(issues);
483+
let issues: Vec<_> = if let Some(count) = self.count {
484+
issues.take(count).collect()
485+
} else {
486+
issues.collect()
487+
};
488488

489489
if issues.is_empty() {
490490
continue;

0 commit comments

Comments
 (0)