Use a simpler atomic operation than the compare_exchange hammer

This commit is contained in:
Oli Scherer 2023-03-15 16:25:28 +00:00
parent 300901b705
commit 54214c8d8d
2 changed files with 9 additions and 3 deletions

View file

@ -1541,11 +1541,9 @@ pub(crate) fn make_unclosed_delims_error(
}
pub fn emit_unclosed_delims(unclosed_delims: &mut Vec<UnmatchedDelim>, sess: &ParseSess) {
let _ = sess.reached_eof.compare_exchange(
false,
let _ = sess.reached_eof.fetch_or(
unclosed_delims.iter().any(|unmatched_delim| unmatched_delim.found_delim.is_none()),
Ordering::Relaxed,
Ordering::Relaxed,
);
for unmatched in unclosed_delims.drain(..) {
if let Some(mut e) = make_unclosed_delims_error(unmatched, sess) {