diff options
Diffstat (limited to 'src/doc/rustc-dev-guide/examples/rustc-driver-getting-diagnostics.rs')
| -rw-r--r-- | src/doc/rustc-dev-guide/examples/rustc-driver-getting-diagnostics.rs | 27 |
1 files changed, 7 insertions, 20 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 0195224de17..6708b4985e8 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 @@ -10,27 +10,12 @@ extern crate rustc_session; extern crate rustc_span; use rustc_errors::registry; -use rustc_session::config::{self, CheckCfg}; -use rustc_span::source_map; -use std::io; +use rustc_session::config; use std::path; use std::process; use std::str; use std::sync; -// Buffer diagnostics in a Vec<u8>. -#[derive(Clone)] -pub struct DiagnosticSink(sync::Arc<sync::Mutex<Vec<u8>>>); - -impl io::Write for DiagnosticSink { - fn write(&mut self, buf: &[u8]) -> io::Result<usize> { - self.0.lock().unwrap().write(buf) - } - fn flush(&mut self) -> io::Result<()> { - self.0.lock().unwrap().flush() - } -} - fn main() { let out = process::Command::new("rustc") .arg("--print=sysroot") @@ -53,7 +38,7 @@ fn main() { }, // This program contains a type error. input: config::Input::Str { - name: source_map::FileName::Custom("main.rs".into()), + name: rustc_span::FileName::Custom("main.rs".into()), input: " fn main() { let x: &str = 1; @@ -61,8 +46,8 @@ fn main() { " .into(), }, - crate_cfg: rustc_hash::FxHashSet::default(), - crate_check_cfg: CheckCfg::default(), + crate_cfg: Vec::new(), + crate_check_cfg: Vec::new(), output_dir: None, output_file: None, file_loader: None, @@ -71,10 +56,12 @@ fn main() { parse_sess_created: None, register_lints: None, override_queries: None, - registry: registry::Registry::new(&rustc_error_codes::DIAGNOSTICS), + registry: registry::Registry::new(rustc_error_codes::DIAGNOSTICS), make_codegen_backend: None, expanded_args: Vec::new(), ice_file: None, + hash_untracked_state: None, + using_internal_features: sync::Arc::default(), }; rustc_interface::run_compiler(config, |compiler| { compiler.enter(|queries| { |
