about summary refs log tree commit diff
path: root/compiler/rustc_lint/src/expect.rs
diff options
context:
space:
mode:
authorRejyr <jerrylwang123@gmail.com>2022-11-10 19:32:30 -0500
committerRejyr <jerrylwang123@gmail.com>2023-01-09 17:07:25 -0500
commit78fce795d8084e288278270438a49df6172dd36c (patch)
tree9907484be2d716443081759c39572c44c1bde096 /compiler/rustc_lint/src/expect.rs
parentca7df9a2a9c4b1f751e91040fe659f682c976919 (diff)
downloadrust-78fce795d8084e288278270438a49df6172dd36c.tar.gz
rust-78fce795d8084e288278270438a49df6172dd36c.zip
refactor: refactor to derive for some lints.
Diffstat (limited to 'compiler/rustc_lint/src/expect.rs')
-rw-r--r--compiler/rustc_lint/src/expect.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/rustc_lint/src/expect.rs b/compiler/rustc_lint/src/expect.rs
index c0e62a8d9fc..8985ccee0cd 100644
--- a/compiler/rustc_lint/src/expect.rs
+++ b/compiler/rustc_lint/src/expect.rs
@@ -1,6 +1,6 @@
 #![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;
@@ -29,11 +29,13 @@ fn check_expectations(tcx: TyCtxt<'_>, tool_filter: Option<Symbol>) {
             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 {