rustc_errors: handle force_warn
only through DiagnosticId::Lint
.
This commit is contained in:
parent
02ff9e0aef
commit
d4fc5ae25c
3 changed files with 8 additions and 42 deletions
|
@ -632,27 +632,15 @@ impl Handler {
|
||||||
|
|
||||||
/// Construct a builder at the `Warning` level at the given `span` and with the `msg`.
|
/// Construct a builder at the `Warning` level at the given `span` and with the `msg`.
|
||||||
///
|
///
|
||||||
/// The builder will be canceled if warnings cannot be emitted.
|
/// Attempting to `.emit()` the builder will only emit if either:
|
||||||
|
/// * `can_emit_warnings` is `true`
|
||||||
|
/// * `is_force_warn` was set in `DiagnosticId::Lint`
|
||||||
pub fn struct_span_warn(&self, span: impl Into<MultiSpan>, msg: &str) -> DiagnosticBuilder<'_> {
|
pub fn struct_span_warn(&self, span: impl Into<MultiSpan>, msg: &str) -> DiagnosticBuilder<'_> {
|
||||||
let mut result = self.struct_warn(msg);
|
let mut result = self.struct_warn(msg);
|
||||||
result.set_span(span);
|
result.set_span(span);
|
||||||
result
|
result
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Construct a builder at the `Warning` level at the given `span` and with the `msg`.
|
|
||||||
///
|
|
||||||
/// This will "force" the warning meaning it will not be canceled even
|
|
||||||
/// if warnings cannot be emitted.
|
|
||||||
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`.
|
/// Construct a builder at the `Allow` level at the given `span` and with the `msg`.
|
||||||
pub fn struct_span_allow(
|
pub fn struct_span_allow(
|
||||||
&self,
|
&self,
|
||||||
|
@ -679,20 +667,10 @@ impl Handler {
|
||||||
|
|
||||||
/// Construct a builder at the `Warning` level with the `msg`.
|
/// Construct a builder at the `Warning` level with the `msg`.
|
||||||
///
|
///
|
||||||
/// The builder will be canceled if warnings cannot be emitted.
|
/// Attempting to `.emit()` the builder will only emit if either:
|
||||||
|
/// * `can_emit_warnings` is `true`
|
||||||
|
/// * `is_force_warn` was set in `DiagnosticId::Lint`
|
||||||
pub fn struct_warn(&self, msg: &str) -> DiagnosticBuilder<'_> {
|
pub fn struct_warn(&self, msg: &str) -> DiagnosticBuilder<'_> {
|
||||||
let mut result = DiagnosticBuilder::new(self, Level::Warning, msg);
|
|
||||||
if !self.flags.can_emit_warnings {
|
|
||||||
result.cancel();
|
|
||||||
}
|
|
||||||
result
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Construct a builder at the `Warning` level with the `msg`.
|
|
||||||
///
|
|
||||||
/// This will "force" a warning meaning it will not be canceled even
|
|
||||||
/// if warnings cannot be emitted.
|
|
||||||
pub fn struct_force_warn(&self, msg: &str) -> DiagnosticBuilder<'_> {
|
|
||||||
DiagnosticBuilder::new(self, Level::Warning, msg)
|
DiagnosticBuilder::new(self, Level::Warning, msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -314,10 +314,8 @@ pub fn struct_lint_level<'s, 'd>(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
(Level::Warn, Some(span)) => sess.struct_span_warn(span, ""),
|
(Level::Warn | Level::ForceWarn, Some(span)) => sess.struct_span_warn(span, ""),
|
||||||
(Level::Warn, None) => sess.struct_warn(""),
|
(Level::Warn | Level::ForceWarn, None) => sess.struct_warn(""),
|
||||||
(Level::ForceWarn, Some(span)) => sess.struct_span_force_warn(span, ""),
|
|
||||||
(Level::ForceWarn, None) => sess.struct_force_warn(""),
|
|
||||||
(Level::Deny | Level::Forbid, Some(span)) => {
|
(Level::Deny | Level::Forbid, Some(span)) => {
|
||||||
let mut builder = sess.diagnostic().struct_err_lint("");
|
let mut builder = sess.diagnostic().struct_err_lint("");
|
||||||
builder.set_span(span);
|
builder.set_span(span);
|
||||||
|
|
|
@ -306,13 +306,6 @@ impl Session {
|
||||||
pub fn struct_span_warn<S: Into<MultiSpan>>(&self, sp: S, msg: &str) -> DiagnosticBuilder<'_> {
|
pub fn struct_span_warn<S: Into<MultiSpan>>(&self, sp: S, msg: &str) -> DiagnosticBuilder<'_> {
|
||||||
self.diagnostic().struct_span_warn(sp, msg)
|
self.diagnostic().struct_span_warn(sp, msg)
|
||||||
}
|
}
|
||||||
pub fn struct_span_force_warn<S: Into<MultiSpan>>(
|
|
||||||
&self,
|
|
||||||
sp: S,
|
|
||||||
msg: &str,
|
|
||||||
) -> DiagnosticBuilder<'_> {
|
|
||||||
self.diagnostic().struct_span_force_warn(sp, msg)
|
|
||||||
}
|
|
||||||
pub fn struct_span_warn_with_code<S: Into<MultiSpan>>(
|
pub fn struct_span_warn_with_code<S: Into<MultiSpan>>(
|
||||||
&self,
|
&self,
|
||||||
sp: S,
|
sp: S,
|
||||||
|
@ -324,9 +317,6 @@ impl Session {
|
||||||
pub fn struct_warn(&self, msg: &str) -> DiagnosticBuilder<'_> {
|
pub fn struct_warn(&self, msg: &str) -> DiagnosticBuilder<'_> {
|
||||||
self.diagnostic().struct_warn(msg)
|
self.diagnostic().struct_warn(msg)
|
||||||
}
|
}
|
||||||
pub fn struct_force_warn(&self, msg: &str) -> DiagnosticBuilder<'_> {
|
|
||||||
self.diagnostic().struct_force_warn(msg)
|
|
||||||
}
|
|
||||||
pub fn struct_span_allow<S: Into<MultiSpan>>(&self, sp: S, msg: &str) -> DiagnosticBuilder<'_> {
|
pub fn struct_span_allow<S: Into<MultiSpan>>(&self, sp: S, msg: &str) -> DiagnosticBuilder<'_> {
|
||||||
self.diagnostic().struct_span_allow(sp, msg)
|
self.diagnostic().struct_span_allow(sp, msg)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue