X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=compiler%2Frustc_lint%2Fsrc%2Fexpect.rs;h=e9eb14ea18800f0fe187d0a40d33ed6c425f6d15;hb=c9270272df5bd7254b6ce1c7b69d41c75e443406;hp=c0e62a8d9fc0998a81e320c66c43342ffcd9967d;hpb=3c1a1f3643efb57b9bba515fc753d84ce39819e0;p=rust.git diff --git a/compiler/rustc_lint/src/expect.rs b/compiler/rustc_lint/src/expect.rs index c0e62a8d9fc..e9eb14ea188 100644 --- a/compiler/rustc_lint/src/expect.rs +++ b/compiler/rustc_lint/src/expect.rs @@ -1,6 +1,4 @@ -#![deny(rustc::untranslatable_diagnostic)] -#![deny(rustc::diagnostic_outside_of_impl)] -use crate::lints::Expectation; +use crate::lints::{Expectation, ExpectationNote}; use rustc_middle::ty::query::Providers; use rustc_middle::ty::TyCtxt; use rustc_session::lint::builtin::UNFULFILLED_LINT_EXPECTATIONS; @@ -13,7 +11,7 @@ pub(crate) fn provide(providers: &mut Providers) { } fn check_expectations(tcx: TyCtxt<'_>, tool_filter: Option) { - if !tcx.sess.features_untracked().enabled(sym::lint_reasons) { + if !tcx.features().enabled(sym::lint_reasons) { return; } @@ -29,11 +27,13 @@ fn check_expectations(tcx: TyCtxt<'_>, tool_filter: Option) { if !fulfilled_expectations.contains(&id) && tool_filter.map_or(true, |filter| expectation.lint_tool == Some(filter)) { + let rationale = expectation.reason.map(|rationale| ExpectationNote { rationale }); + let note = expectation.is_unfulfilled_lint_expectations.then_some(()); tcx.emit_spanned_lint( UNFULFILLED_LINT_EXPECTATIONS, *hir_id, expectation.emission_span, - Expectation { expectation }, + Expectation { rationale, note }, ); } } else {