Skip to content

Commit 4e46d2f

Browse files
committed
Auto merge of #134052 - matthiaskrgr:rollup-puxwqrk, r=matthiaskrgr
Rollup of 7 pull requests Successful merges: - #133567 (A bunch of cleanups) - #133789 (Add doc alias 'then_with' for `then` method on `bool`) - #133880 (Expand home_dir docs) - #134036 (crash tests: use individual mir opts instead of mir-opt-level where easily possible) - #134045 (Fix some triagebot mentions paths) - #134046 (Remove ignored tests for hangs w/ new solver) - #134050 (Miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
2 parents 8073aab + 7be9019 commit 4e46d2f

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

src/parse/session.rs

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use std::sync::atomic::{AtomicBool, Ordering};
33

44
use rustc_data_structures::sync::{IntoDynSyncSend, Lrc};
55
use rustc_errors::emitter::{DynEmitter, Emitter, HumanEmitter, SilentEmitter, stderr_destination};
6+
use rustc_errors::registry::Registry;
67
use rustc_errors::translation::Translate;
78
use rustc_errors::{ColorConfig, Diag, DiagCtxt, DiagInner, Level as DiagnosticLevel};
89
use rustc_session::parse::ParseSess as RawParseSess;
@@ -38,10 +39,10 @@ struct SilentOnIgnoredFilesEmitter {
3839
}
3940

4041
impl SilentOnIgnoredFilesEmitter {
41-
fn handle_non_ignoreable_error(&mut self, diag: DiagInner) {
42+
fn handle_non_ignoreable_error(&mut self, diag: DiagInner, registry: &Registry) {
4243
self.has_non_ignorable_parser_errors = true;
4344
self.can_reset.store(false, Ordering::Release);
44-
self.emitter.emit_diagnostic(diag);
45+
self.emitter.emit_diagnostic(diag, registry);
4546
}
4647
}
4748

@@ -60,9 +61,9 @@ impl Emitter for SilentOnIgnoredFilesEmitter {
6061
None
6162
}
6263

63-
fn emit_diagnostic(&mut self, diag: DiagInner) {
64+
fn emit_diagnostic(&mut self, diag: DiagInner, registry: &Registry) {
6465
if diag.level() == DiagnosticLevel::Fatal {
65-
return self.handle_non_ignoreable_error(diag);
66+
return self.handle_non_ignoreable_error(diag, registry);
6667
}
6768
if let Some(primary_span) = &diag.span.primary_span() {
6869
let file_name = self.source_map.span_to_filename(*primary_span);
@@ -80,7 +81,7 @@ impl Emitter for SilentOnIgnoredFilesEmitter {
8081
}
8182
};
8283
}
83-
self.handle_non_ignoreable_error(diag);
84+
self.handle_non_ignoreable_error(diag, registry);
8485
}
8586
}
8687

@@ -358,7 +359,7 @@ mod tests {
358359
None
359360
}
360361

361-
fn emit_diagnostic(&mut self, _diag: DiagInner) {
362+
fn emit_diagnostic(&mut self, _diag: DiagInner, _registry: &Registry) {
362363
self.num_emitted_errors.fetch_add(1, Ordering::Release);
363364
}
364365
}
@@ -412,6 +413,7 @@ mod tests {
412413
SourceMapFileName::Real(RealFileName::LocalPath(PathBuf::from("foo.rs"))),
413414
source,
414415
);
416+
let registry = Registry::new(&[]);
415417
let mut emitter = build_emitter(
416418
Lrc::clone(&num_emitted_errors),
417419
Lrc::clone(&can_reset_errors),
@@ -420,7 +422,7 @@ mod tests {
420422
);
421423
let span = MultiSpan::from_span(mk_sp(BytePos(0), BytePos(1)));
422424
let fatal_diagnostic = build_diagnostic(DiagnosticLevel::Fatal, Some(span));
423-
emitter.emit_diagnostic(fatal_diagnostic);
425+
emitter.emit_diagnostic(fatal_diagnostic, &registry);
424426
assert_eq!(num_emitted_errors.load(Ordering::Acquire), 1);
425427
assert_eq!(can_reset_errors.load(Ordering::Acquire), false);
426428
}
@@ -437,6 +439,7 @@ mod tests {
437439
SourceMapFileName::Real(RealFileName::LocalPath(PathBuf::from("foo.rs"))),
438440
source,
439441
);
442+
let registry = Registry::new(&[]);
440443
let mut emitter = build_emitter(
441444
Lrc::clone(&num_emitted_errors),
442445
Lrc::clone(&can_reset_errors),
@@ -445,7 +448,7 @@ mod tests {
445448
);
446449
let span = MultiSpan::from_span(mk_sp(BytePos(0), BytePos(1)));
447450
let non_fatal_diagnostic = build_diagnostic(DiagnosticLevel::Warning, Some(span));
448-
emitter.emit_diagnostic(non_fatal_diagnostic);
451+
emitter.emit_diagnostic(non_fatal_diagnostic, &registry);
449452
assert_eq!(num_emitted_errors.load(Ordering::Acquire), 0);
450453
assert_eq!(can_reset_errors.load(Ordering::Acquire), true);
451454
}
@@ -461,6 +464,7 @@ mod tests {
461464
SourceMapFileName::Real(RealFileName::LocalPath(PathBuf::from("foo.rs"))),
462465
source,
463466
);
467+
let registry = Registry::new(&[]);
464468
let mut emitter = build_emitter(
465469
Lrc::clone(&num_emitted_errors),
466470
Lrc::clone(&can_reset_errors),
@@ -469,7 +473,7 @@ mod tests {
469473
);
470474
let span = MultiSpan::from_span(mk_sp(BytePos(0), BytePos(1)));
471475
let non_fatal_diagnostic = build_diagnostic(DiagnosticLevel::Warning, Some(span));
472-
emitter.emit_diagnostic(non_fatal_diagnostic);
476+
emitter.emit_diagnostic(non_fatal_diagnostic, &registry);
473477
assert_eq!(num_emitted_errors.load(Ordering::Acquire), 1);
474478
assert_eq!(can_reset_errors.load(Ordering::Acquire), false);
475479
}
@@ -497,6 +501,7 @@ mod tests {
497501
SourceMapFileName::Real(RealFileName::LocalPath(PathBuf::from("fatal.rs"))),
498502
fatal_source,
499503
);
504+
let registry = Registry::new(&[]);
500505
let mut emitter = build_emitter(
501506
Lrc::clone(&num_emitted_errors),
502507
Lrc::clone(&can_reset_errors),
@@ -508,9 +513,9 @@ mod tests {
508513
let bar_diagnostic = build_diagnostic(DiagnosticLevel::Warning, Some(bar_span));
509514
let foo_diagnostic = build_diagnostic(DiagnosticLevel::Warning, Some(foo_span));
510515
let fatal_diagnostic = build_diagnostic(DiagnosticLevel::Fatal, None);
511-
emitter.emit_diagnostic(bar_diagnostic);
512-
emitter.emit_diagnostic(foo_diagnostic);
513-
emitter.emit_diagnostic(fatal_diagnostic);
516+
emitter.emit_diagnostic(bar_diagnostic, &registry);
517+
emitter.emit_diagnostic(foo_diagnostic, &registry);
518+
emitter.emit_diagnostic(fatal_diagnostic, &registry);
514519
assert_eq!(num_emitted_errors.load(Ordering::Acquire), 2);
515520
assert_eq!(can_reset_errors.load(Ordering::Acquire), false);
516521
}

0 commit comments

Comments
 (0)