Clarify comment on changing to warn future breakage items

https://github.com/rust-lang/rust/pull/120924/files#r1653512240
This commit is contained in:
Urgau 2024-06-26 17:00:46 +02:00 committed by GitHub
parent 1d667a0937
commit 7666534381
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -135,11 +135,11 @@ impl Emitter for JsonEmitter {
let data: Vec<FutureBreakageItem<'_>> = diags
.into_iter()
.map(|mut diag| {
// The `FutureBreakageItem` is collected and serialized.
// However, the `allow` and `expect` lint levels can't usually
// be serialized. The lint level is overwritten to allow the
// serialization again and force a lint emission.
// (This is an educated guess. I didn't originally add this)
// Allowed or expected lints don't normally (by definition) emit a lint
// but future incompat lints are special and are emitted anyway.
//
// So to avoid ICEs and confused users we "upgrade" the lint level for
// those `FutureBreakageItem` to warn.
if matches!(diag.level, crate::Level::Allow | crate::Level::Expect(..)) {
diag.level = crate::Level::Warning;
}