1
Fork 0

New force_warn diagnostic builder and ensure cap-lints doesn't reduce force_warn level

This commit is contained in:
Ryan Levick 2021-07-01 12:29:20 +02:00
parent a3d6905053
commit 33cc7b1fe2
7 changed files with 67 additions and 15 deletions

View file

@ -521,12 +521,24 @@ impl Handler {
}
/// Construct a builder at the `Warning` level at the given `span` and with the `msg`.
/// Cancel the builder if warnings cannot be emitted
pub fn struct_span_warn(&self, span: impl Into<MultiSpan>, msg: &str) -> DiagnosticBuilder<'_> {
let mut result = self.struct_warn(msg);
result.set_span(span);
result
}
/// Construct a builder at the `Warning` level at the given `span` and with the `msg`.
pub fn struct_span_force_warn(
&self,
span: impl Into<MultiSpan>,
msg: &str,
) -> DiagnosticBuilder<'_> {
let mut result = self.struct_force_warn(msg);
result.set_span(span);
result
}
/// Construct a builder at the `Allow` level at the given `span` and with the `msg`.
pub fn struct_span_allow(
&self,
@ -552,6 +564,7 @@ impl Handler {
}
/// Construct a builder at the `Warning` level with the `msg`.
/// Cancel the builder if warnings cannot be emitted
pub fn struct_warn(&self, msg: &str) -> DiagnosticBuilder<'_> {
let mut result = DiagnosticBuilder::new(self, Level::Warning, msg);
if !self.flags.can_emit_warnings {
@ -560,6 +573,11 @@ impl Handler {
result
}
/// Construct a builder at the `Warning` level with the `msg`.
pub fn struct_force_warn(&self, msg: &str) -> DiagnosticBuilder<'_> {
DiagnosticBuilder::new(self, Level::Warning, msg)
}
/// Construct a builder at the `Allow` level with the `msg`.
pub fn struct_allow(&self, msg: &str) -> DiagnosticBuilder<'_> {
DiagnosticBuilder::new(self, Level::Allow, msg)