Rollup merge of #96029 - IsakNyberg:error-messages-fix, r=Dylan-DPC

Refactor loop into iterator; simplify negation logic.

is_dummy should return when a non-dummy is found, but instead is iterated until completion. With some inspiration from line 323 this was refactored to a single line that returns once a single counterexample is found.
This commit is contained in:
Dylan DPC 2022-04-19 22:57:41 +02:00 committed by GitHub
commit 113f079a97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -338,18 +338,12 @@ impl MultiSpan {
/// Returns `true` if any of the primary spans are displayable.
pub fn has_primary_spans(&self) -> bool {
self.primary_spans.iter().any(|sp| !sp.is_dummy())
!self.is_dummy()
}
/// Returns `true` if this contains only a dummy primary span with any hygienic context.
pub fn is_dummy(&self) -> bool {
let mut is_dummy = true;
for span in &self.primary_spans {
if !span.is_dummy() {
is_dummy = false;
}
}
is_dummy
self.primary_spans.iter().all(|sp| sp.is_dummy())
}
/// Replaces all occurrences of one Span with another. Used to move `Span`s in areas that don't