diff options
| author | bors <bors@rust-lang.org> | 2022-03-26 00:54:54 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-03-26 00:54:54 +0000 |
| commit | c74925438c77e53ac715db6382ac4c196da8d403 (patch) | |
| tree | 63cd45b6322281c1a7974ff80d2e0a596a87e5af /compiler/rustc_parse | |
| parent | a2ebd5a1f12f4242edf66cbbd471c421bec62753 (diff) | |
| parent | f7d5b7afb774061be70b86c7e10a7434b1de7888 (diff) | |
| download | rust-c74925438c77e53ac715db6382ac4c196da8d403.tar.gz rust-c74925438c77e53ac715db6382ac4c196da8d403.zip | |
Auto merge of #95149 - cjgillot:once-diag, r=estebank
Remove `Session::one_time_diagnostic`
This is untracked mutable state, which modified the behaviour of queries.
It was used for 2 things: some full-blown errors, but mostly for lint declaration notes ("the lint level is defined here" notes).
It is replaced by the diagnostic deduplication infra which already exists in the diagnostic emitter.
A new diagnostic level `OnceNote` is introduced specifically for lint notes, to deduplicate subdiagnostics.
As a drive-by, diagnostic emission takes a `&mut` to allow dropping the `SubDiagnostic`s.
Diffstat (limited to 'compiler/rustc_parse')
| -rw-r--r-- | compiler/rustc_parse/src/lib.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/rustc_parse/src/lib.rs b/compiler/rustc_parse/src/lib.rs index a3e66464fbc..0ce86a764f4 100644 --- a/compiler/rustc_parse/src/lib.rs +++ b/compiler/rustc_parse/src/lib.rs @@ -49,8 +49,8 @@ macro_rules! panictry_buffer { match $e { Ok(e) => e, Err(errs) => { - for e in errs { - $handler.emit_diagnostic(&e); + for mut e in errs { + $handler.emit_diagnostic(&mut e); } FatalError.raise() } @@ -167,8 +167,8 @@ fn try_file_to_source_file( fn file_to_source_file(sess: &ParseSess, path: &Path, spanopt: Option<Span>) -> Lrc<SourceFile> { match try_file_to_source_file(sess, path, spanopt) { Ok(source_file) => source_file, - Err(d) => { - sess.span_diagnostic.emit_diagnostic(&d); + Err(mut d) => { + sess.span_diagnostic.emit_diagnostic(&mut d); FatalError.raise(); } } |
