diff options
| author | Yang Lin <yanglin@smail.nju.edu.cn> | 2025-03-16 23:43:17 +0800 |
|---|---|---|
| committer | Yang Lin <yanglin@smail.nju.edu.cn> | 2025-03-16 23:43:17 +0800 |
| commit | 9a2d1fdb141ec2db9be1802316c66722f7b678f8 (patch) | |
| tree | f2bdd039853725b64778858fdfbb2ce6bbfc765c /src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs | |
| parent | a4b76e31f8f906e31256b2c8f696e39b2ee36c41 (diff) | |
| download | rust-9a2d1fdb141ec2db9be1802316c66722f7b678f8.tar.gz rust-9a2d1fdb141ec2db9be1802316c66722f7b678f8.zip | |
Following commit 401dd84 in the Rust project
(https://github.com/rust-lang/rust), `ErrorGuaranteed` was replaced by fatal errors. As a result, `tcx.analysis()` now aborts directly instead of returning an error guard. To accommodate this change, this update replaces `tcx.analysis()` with `typeck()` to perform type checking in the example.
Diffstat (limited to 'src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs')
| -rw-r--r-- | src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs b/src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs index 39b236e1783..9bb93ab4958 100644 --- a/src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs +++ b/src/doc/rustc-dev-guide/examples/rustc-interface-getting-diagnostics.rs @@ -1,4 +1,4 @@ -// Tested with nightly-2025-02-13 +// Tested with nightly-2025-03-08 #![feature(rustc_private)] @@ -86,8 +86,10 @@ fn main() { rustc_interface::run_compiler(config, |compiler| { let krate = rustc_interface::passes::parse(&compiler.sess); rustc_interface::create_and_enter_global_ctxt(&compiler, krate, |tcx| { - // Run the analysis phase on the local crate to trigger the type error. - let _ = tcx.analysis(()); + // Iterate all the items defined and perform type checking. + tcx.par_hir_body_owners(|item_def_id| { + tcx.ensure_ok().typeck(item_def_id); + }); }); // 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 |
