diff --git a/crates/tinymist-lint/src/lib.rs b/crates/tinymist-lint/src/lib.rs index d0c19a95..f6490f4d 100644 --- a/crates/tinymist-lint/src/lib.rs +++ b/crates/tinymist-lint/src/lib.rs @@ -57,7 +57,7 @@ pub struct KnownIssues { impl KnownIssues { /// Collects known lint issues from the given compiler diagnostics. pub fn from_compiler_diagnostics<'a>( - diags: impl Iterator + Clone, + diags: impl Iterator, ) -> Self { let mut unknown_vars = Vec::default(); for diag in diags { diff --git a/crates/tinymist-project/src/compiler.rs b/crates/tinymist-project/src/compiler.rs index 7fe1bcd9..c0126d1c 100644 --- a/crates/tinymist-project/src/compiler.rs +++ b/crates/tinymist-project/src/compiler.rs @@ -114,7 +114,7 @@ impl CompiledArtifact { } /// Returns the diagnostics. - pub fn diagnostics(&self) -> impl Iterator + Clone { + pub fn diagnostics(&self) -> impl Iterator { self.diag.diagnostics() } diff --git a/crates/tinymist-query/src/check.rs b/crates/tinymist-query/src/check.rs index 12c7b26f..c4092c21 100644 --- a/crates/tinymist-query/src/check.rs +++ b/crates/tinymist-query/src/check.rs @@ -15,9 +15,9 @@ impl SemanticRequest for CheckRequest { fn request(self, ctx: &mut LocalContext) -> Option { let worker = DiagWorker::new(ctx); - let compiler_diags = self.snap.diagnostics(); + let compiler_diags = || self.snap.diagnostics(); - let known_issues = KnownIssues::from_compiler_diagnostics(compiler_diags.clone()); - Some(worker.check(&known_issues).convert_all(compiler_diags)) + let known_issues = KnownIssues::from_compiler_diagnostics(compiler_diags()); + Some(worker.check(&known_issues).convert_all(compiler_diags())) } } diff --git a/crates/tinymist-world/src/compute.rs b/crates/tinymist-world/src/compute.rs index 72689ed7..6b0643ee 100644 --- a/crates/tinymist-world/src/compute.rs +++ b/crates/tinymist-world/src/compute.rs @@ -412,7 +412,7 @@ impl DiagnosticsTask { } /// Gets the diagnostics. - pub fn diagnostics(&self) -> impl Iterator + Clone { + pub fn diagnostics(&self) -> impl Iterator { self.paged .errors .iter()