| # Example: Getting diagnostic through `rustc_interface` | 
 |  | 
 | The [`rustc_interface`] allows you to intercept diagnostics that would | 
 | otherwise be printed to stderr. | 
 |  | 
 | ## Getting diagnostics | 
 |  | 
 | To get diagnostics from the compiler, | 
 | configure [`rustc_interface::Config`] to output diagnostic to a buffer, | 
 | and run [`rustc_hir_typeck::typeck`] for each item. | 
 |  | 
 | ```rust | 
 | {{#include ../../examples/rustc-interface-getting-diagnostics.rs}} | 
 | ``` | 
 |  | 
 | [`rustc_interface`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/index.html | 
 | [`rustc_interface::Config`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/interface/struct.Config.html | 
 | [`TyCtxt.analysis`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_interface/passes/fn.analysis.html | 
 | [`rustc_hir_typeck::typeck`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir_typeck/fn.typeck.html |