Skip to content

Commit 2f9a893

Browse files
committed
Replace Registry type with a lazily initialized static
And move try_find_description to rustc_errors::codes.
1 parent 7bf6355 commit 2f9a893

1 file changed

Lines changed: 12 additions & 17 deletions

File tree

src/parse/session.rs

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use std::sync::atomic::{AtomicBool, Ordering};
55
use rustc_data_structures::sync::IntoDynSyncSend;
66
use rustc_errors::annotate_snippet_emitter_writer::AnnotateSnippetEmitter;
77
use rustc_errors::emitter::{DynEmitter, Emitter, SilentEmitter, stderr_destination};
8-
use rustc_errors::registry::Registry;
98
use rustc_errors::translation::Translator;
109
use rustc_errors::{ColorConfig, Diag, DiagCtxt, DiagInner, Level as DiagnosticLevel};
1110
use rustc_session::parse::ParseSess as RawParseSess;
@@ -41,10 +40,10 @@ struct SilentOnIgnoredFilesEmitter {
4140
}
4241

4342
impl SilentOnIgnoredFilesEmitter {
44-
fn handle_non_ignoreable_error(&mut self, diag: DiagInner, registry: &Registry) {
43+
fn handle_non_ignoreable_error(&mut self, diag: DiagInner) {
4544
self.has_non_ignorable_parser_errors = true;
4645
self.can_reset.store(false, Ordering::Release);
47-
self.emitter.emit_diagnostic(diag, registry);
46+
self.emitter.emit_diagnostic(diag);
4847
}
4948
}
5049

@@ -53,9 +52,9 @@ impl Emitter for SilentOnIgnoredFilesEmitter {
5352
None
5453
}
5554

56-
fn emit_diagnostic(&mut self, diag: DiagInner, registry: &Registry) {
55+
fn emit_diagnostic(&mut self, diag: DiagInner) {
5756
if diag.level() == DiagnosticLevel::Fatal {
58-
return self.handle_non_ignoreable_error(diag, registry);
57+
return self.handle_non_ignoreable_error(diag);
5958
}
6059
if let Some(primary_span) = &diag.span.primary_span() {
6160
let file_name = self.source_map.span_to_filename(*primary_span);
@@ -73,7 +72,7 @@ impl Emitter for SilentOnIgnoredFilesEmitter {
7372
}
7473
}
7574
}
76-
self.handle_non_ignoreable_error(diag, registry);
75+
self.handle_non_ignoreable_error(diag);
7776
}
7877

7978
fn translator(&self) -> &Translator {
@@ -340,7 +339,7 @@ mod tests {
340339
None
341340
}
342341

343-
fn emit_diagnostic(&mut self, _diag: DiagInner, _registry: &Registry) {
342+
fn emit_diagnostic(&mut self, _diag: DiagInner) {
344343
self.num_emitted_errors.fetch_add(1, Ordering::Release);
345344
}
346345

@@ -401,7 +400,6 @@ mod tests {
401400
let source =
402401
String::from(r#"extern "system" fn jni_symbol!( funcName ) ( ... ) -> {} "#);
403402
source_map.new_source_file(filename(&source_map, "foo.rs"), source);
404-
let registry = Registry::new();
405403
let mut emitter = build_emitter(
406404
Arc::clone(&num_emitted_errors),
407405
Arc::clone(&can_reset_errors),
@@ -410,7 +408,7 @@ mod tests {
410408
);
411409
let span = MultiSpan::from_span(mk_sp(BytePos(0), BytePos(1)));
412410
let fatal_diagnostic = build_diagnostic(DiagnosticLevel::Fatal, Some(span));
413-
emitter.emit_diagnostic(fatal_diagnostic, &registry);
411+
emitter.emit_diagnostic(fatal_diagnostic);
414412
assert_eq!(num_emitted_errors.load(Ordering::Acquire), 1);
415413
assert_eq!(can_reset_errors.load(Ordering::Acquire), false);
416414
}
@@ -424,7 +422,6 @@ mod tests {
424422
let source_map = Arc::new(SourceMap::new(FilePathMapping::empty()));
425423
let source = String::from(r#"pub fn bar() { 1x; }"#);
426424
source_map.new_source_file(filename(&source_map, "foo.rs"), source);
427-
let registry = Registry::new();
428425
let mut emitter = build_emitter(
429426
Arc::clone(&num_emitted_errors),
430427
Arc::clone(&can_reset_errors),
@@ -433,7 +430,7 @@ mod tests {
433430
);
434431
let span = MultiSpan::from_span(mk_sp(BytePos(0), BytePos(1)));
435432
let non_fatal_diagnostic = build_diagnostic(DiagnosticLevel::Warning, Some(span));
436-
emitter.emit_diagnostic(non_fatal_diagnostic, &registry);
433+
emitter.emit_diagnostic(non_fatal_diagnostic);
437434
assert_eq!(num_emitted_errors.load(Ordering::Acquire), 0);
438435
assert_eq!(can_reset_errors.load(Ordering::Acquire), true);
439436
}
@@ -446,7 +443,6 @@ mod tests {
446443
let source_map = Arc::new(SourceMap::new(FilePathMapping::empty()));
447444
let source = String::from(r#"pub fn bar() { 1x; }"#);
448445
source_map.new_source_file(filename(&source_map, "foo.rs"), source);
449-
let registry = Registry::new();
450446
let mut emitter = build_emitter(
451447
Arc::clone(&num_emitted_errors),
452448
Arc::clone(&can_reset_errors),
@@ -455,7 +451,7 @@ mod tests {
455451
);
456452
let span = MultiSpan::from_span(mk_sp(BytePos(0), BytePos(1)));
457453
let non_fatal_diagnostic = build_diagnostic(DiagnosticLevel::Warning, Some(span));
458-
emitter.emit_diagnostic(non_fatal_diagnostic, &registry);
454+
emitter.emit_diagnostic(non_fatal_diagnostic);
459455
assert_eq!(num_emitted_errors.load(Ordering::Acquire), 1);
460456
assert_eq!(can_reset_errors.load(Ordering::Acquire), false);
461457
}
@@ -474,7 +470,6 @@ mod tests {
474470
source_map.new_source_file(filename(&source_map, "bar.rs"), bar_source);
475471
source_map.new_source_file(filename(&source_map, "foo.rs"), foo_source);
476472
source_map.new_source_file(filename(&source_map, "fatal.rs"), fatal_source);
477-
let registry = Registry::new();
478473
let mut emitter = build_emitter(
479474
Arc::clone(&num_emitted_errors),
480475
Arc::clone(&can_reset_errors),
@@ -486,9 +481,9 @@ mod tests {
486481
let bar_diagnostic = build_diagnostic(DiagnosticLevel::Warning, Some(bar_span));
487482
let foo_diagnostic = build_diagnostic(DiagnosticLevel::Warning, Some(foo_span));
488483
let fatal_diagnostic = build_diagnostic(DiagnosticLevel::Fatal, None);
489-
emitter.emit_diagnostic(bar_diagnostic, &registry);
490-
emitter.emit_diagnostic(foo_diagnostic, &registry);
491-
emitter.emit_diagnostic(fatal_diagnostic, &registry);
484+
emitter.emit_diagnostic(bar_diagnostic);
485+
emitter.emit_diagnostic(foo_diagnostic);
486+
emitter.emit_diagnostic(fatal_diagnostic);
492487
assert_eq!(num_emitted_errors.load(Ordering::Acquire), 2);
493488
assert_eq!(can_reset_errors.load(Ordering::Acquire), false);
494489
}

0 commit comments

Comments
 (0)