diff options
| author | bors <bors@rust-lang.org> | 2022-11-01 21:09:45 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-11-01 21:09:45 +0000 |
| commit | 11ebe6512b4c77633c59f8dcdd421df3b79d1a9f (patch) | |
| tree | 1a36082800b7ea78becadcc3442c3241108ec70d /compiler/rustc_driver | |
| parent | ab5a2bc7316012ee9b2a4a4f3821673f2677f3d5 (diff) | |
| parent | cbeb244b0588f8d442514a2b7ab95a6021f9863f (diff) | |
| download | rust-11ebe6512b4c77633c59f8dcdd421df3b79d1a9f.tar.gz rust-11ebe6512b4c77633c59f8dcdd421df3b79d1a9f.zip | |
Auto merge of #103217 - mejrs:track, r=eholk
Track where diagnostics were created.
This implements the `-Ztrack-diagnostics` flag, which uses `#[track_caller]` to track where diagnostics are created. It is meant as a debugging tool much like `-Ztreat-err-as-bug`.
For example, the following code...
```rust
struct A;
struct B;
fn main(){
let _: A = B;
}
```
...now emits the following error message:
```
error[E0308]: mismatched types
--> src\main.rs:5:16
|
5 | let _: A = B;
| - ^ expected struct `A`, found struct `B`
| |
| expected due to this
-Ztrack-diagnostics: created at compiler\rustc_infer\src\infer\error_reporting\mod.rs:2275:31
```
Diffstat (limited to 'compiler/rustc_driver')
| -rw-r--r-- | compiler/rustc_driver/src/lib.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/rustc_driver/src/lib.rs b/compiler/rustc_driver/src/lib.rs index cfa734c7df3..cf4bcc7c158 100644 --- a/compiler/rustc_driver/src/lib.rs +++ b/compiler/rustc_driver/src/lib.rs @@ -1200,6 +1200,7 @@ pub fn report_ice(info: &panic::PanicInfo<'_>, bug_report_url: &str) { false, None, false, + false, )); let handler = rustc_errors::Handler::with_emitter(true, None, emitter); |
