lint: port expectation diagnostics
Signed-off-by: David Wood <david.wood@huawei.com>
This commit is contained in:
parent
2a69640eb2
commit
a0624eb6c9
2 changed files with 6 additions and 2 deletions
|
@ -12,3 +12,6 @@ lint-enum-intrinsics-mem-discriminant =
|
||||||
lint-enum-intrinsics-mem-variant =
|
lint-enum-intrinsics-mem-variant =
|
||||||
the return value of `mem::variant_count` is unspecified when called with a non-enum type
|
the return value of `mem::variant_count` is unspecified when called with a non-enum type
|
||||||
.note = the type parameter of `variant_count` should be an enum, but it was instantiated with the type `{$ty_param}`, which is not an enum.
|
.note = the type parameter of `variant_count` should be an enum, but it was instantiated with the type `{$ty_param}`, which is not an enum.
|
||||||
|
|
||||||
|
lint-expectation = this lint expectation is unfulfilled
|
||||||
|
.note = the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
use crate::builtin;
|
use crate::builtin;
|
||||||
|
use rustc_errors::fluent;
|
||||||
use rustc_hir::HirId;
|
use rustc_hir::HirId;
|
||||||
use rustc_middle::ty::query::Providers;
|
use rustc_middle::ty::query::Providers;
|
||||||
use rustc_middle::{lint::LintExpectation, ty::TyCtxt};
|
use rustc_middle::{lint::LintExpectation, ty::TyCtxt};
|
||||||
|
@ -43,13 +44,13 @@ fn emit_unfulfilled_expectation_lint(
|
||||||
hir_id,
|
hir_id,
|
||||||
expectation.emission_span,
|
expectation.emission_span,
|
||||||
|diag| {
|
|diag| {
|
||||||
let mut diag = diag.build("this lint expectation is unfulfilled");
|
let mut diag = diag.build(fluent::lint::expectation);
|
||||||
if let Some(rationale) = expectation.reason {
|
if let Some(rationale) = expectation.reason {
|
||||||
diag.note(rationale.as_str());
|
diag.note(rationale.as_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
if expectation.is_unfulfilled_lint_expectations {
|
if expectation.is_unfulfilled_lint_expectations {
|
||||||
diag.note("the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message");
|
diag.note(fluent::lint::note);
|
||||||
}
|
}
|
||||||
|
|
||||||
diag.emit();
|
diag.emit();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue