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.
|
||
|---|---|---|
| .. | ||
| back | ||
| coverageinfo | ||
| debuginfo | ||
| mir | ||
| traits | ||
| base.rs | ||
| common.rs | ||
| glue.rs | ||
| lib.rs | ||
| meth.rs | ||
| mono_item.rs | ||
| target_features.rs | ||