Remove DelayDm
With the removal of `LintDiagnostic::msg` / the `msg` param from lint diag APIs, primary messages for lint diags are always constructed lazily inside decorator fns rendering this wrapper type unused / useless.
This commit is contained in:
parent
06bc4fc671
commit
9f67c50128
@ -367,17 +367,6 @@ fn from(s: Cow<'static, str>) -> Self {
|
||||
}
|
||||
}
|
||||
|
||||
/// A workaround for must_produce_diag ICEs when formatting types in disabled lints.
|
||||
///
|
||||
/// Delays formatting until `.into(): DiagMessage` is used.
|
||||
pub struct DelayDm<F>(pub F);
|
||||
|
||||
impl<F: FnOnce() -> String> From<DelayDm<F>> for DiagMessage {
|
||||
fn from(DelayDm(f): DelayDm<F>) -> Self {
|
||||
DiagMessage::from(f())
|
||||
}
|
||||
}
|
||||
|
||||
/// Translating *into* a subdiagnostic message from a diagnostic message is a little strange - but
|
||||
/// the subdiagnostic functions (e.g. `span_label`) take a `SubdiagMessage` and the
|
||||
/// subdiagnostic derive refers to typed identifiers that are `DiagMessage`s, so need to be
|
||||
|
@ -39,7 +39,7 @@
|
||||
};
|
||||
pub use emitter::ColorConfig;
|
||||
pub use rustc_error_messages::{
|
||||
fallback_fluent_bundle, fluent_bundle, DelayDm, DiagMessage, FluentBundle, LanguageIdentifier,
|
||||
fallback_fluent_bundle, fluent_bundle, DiagMessage, FluentBundle, LanguageIdentifier,
|
||||
LazyFallbackBundle, MultiSpan, SpanLabel, SubdiagMessage,
|
||||
};
|
||||
pub use rustc_lint_defs::{pluralize, Applicability};
|
||||
@ -572,7 +572,7 @@ fn drop(&mut self) {
|
||||
if let Some(backtrace) = &self.must_produce_diag {
|
||||
panic!(
|
||||
"must_produce_diag: `trimmed_def_paths` called but no diagnostics emitted; \
|
||||
use `DelayDm` for lints or `with_no_trimmed_paths` for debugging. \
|
||||
`with_no_trimmed_paths` for debugging. \
|
||||
called at: {backtrace}"
|
||||
);
|
||||
}
|
||||
|
@ -3327,7 +3327,7 @@ fn for_each_def(tcx: TyCtxt<'_>, mut collect_fn: impl for<'b> FnMut(&'b Ident, N
|
||||
///
|
||||
/// The implementation uses similar import discovery logic to that of 'use' suggestions.
|
||||
///
|
||||
/// See also [`DelayDm`](rustc_error_messages::DelayDm) and [`with_no_trimmed_paths!`].
|
||||
/// See also [`with_no_trimmed_paths!`].
|
||||
// this is pub to be able to intra-doc-link it
|
||||
pub fn trimmed_def_paths(tcx: TyCtxt<'_>, (): ()) -> DefIdMap<Symbol> {
|
||||
// Trimming paths is expensive and not optimized, since we expect it to only be used for error
|
||||
|
Loading…
Reference in New Issue
Block a user