blob: 268b612e3ee79964277f2e86fd9fd910f9373f37 [file] [view] [edit]
# 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 [`TyCtxtEnsureOk::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
[`TyCtxtEnsureOk::typeck`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/query/struct.TyCtxtEnsureOk.html#method.typeck