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.
|
||
|---|---|---|
| .. | ||
| mbe | ||
| mut_visit | ||
| parse | ||
| tokenstream | ||
| base.rs | ||
| build.rs | ||
| config.rs | ||
| expand.rs | ||
| lib.rs | ||
| mbe.rs | ||
| module.rs | ||
| placeholders.rs | ||
| proc_macro.rs | ||
| proc_macro_server.rs | ||
| tests.rs | ||