diff options
| author | Vetle Rasmussen <vetle.rasmussen@muybridge.com> | 2024-09-18 07:06:24 +0200 |
|---|---|---|
| committer | nora <48135649+Noratrieb@users.noreply.github.com> | 2024-09-24 19:53:51 +0200 |
| commit | 5e73e70eaa0721446a55a6633f764157e857bdeb (patch) | |
| tree | 2beb8aa0e3e4be3c54d12e419a78dd4ad742a6e7 /src/doc/rustc-dev-guide/examples | |
| parent | 9080dfe6ccaf358bb4ae0680cc4fdab0f67eeb9b (diff) | |
| download | rust-5e73e70eaa0721446a55a6633f764157e857bdeb.tar.gz rust-5e73e70eaa0721446a55a6633f764157e857bdeb.zip | |
Fix getting diagnostics example
Diffstat (limited to 'src/doc/rustc-dev-guide/examples')
| -rw-r--r-- | src/doc/rustc-dev-guide/examples/rustc-driver-getting-diagnostics.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/doc/rustc-dev-guide/examples/rustc-driver-getting-diagnostics.rs b/src/doc/rustc-dev-guide/examples/rustc-driver-getting-diagnostics.rs index f9fe7f5f3ff..7b624032310 100644 --- a/src/doc/rustc-dev-guide/examples/rustc-driver-getting-diagnostics.rs +++ b/src/doc/rustc-dev-guide/examples/rustc-driver-getting-diagnostics.rs @@ -77,10 +77,10 @@ fn main() { locale_resources: rustc_driver::DEFAULT_LOCALE_RESOURCES, lint_caps: rustc_hash::FxHashMap::default(), psess_created: Some(Box::new(|parse_sess| { - parse_sess.dcx = DiagCtxt::new(Box::new(DebugEmitter { + parse_sess.set_dcx(DiagCtxt::new(Box::new(DebugEmitter { source_map: parse_sess.clone_source_map(), diagnostics, - })) + }))); })), register_lints: None, override_queries: None, @@ -98,6 +98,9 @@ fn main() { let _ = tcx.analysis(()); }); }); + // If the compiler has encountered errors when this closure returns, it will abort (!) the program. + // We avoid this by resetting the error count before returning + compiler.sess.dcx().reset_err_count(); }); // Read buffered diagnostics. buffer.lock().unwrap().iter().for_each(|diagnostic| { |
