diff options
| author | Ellis Hoag <ellis.sparky.hoag@gmail.com> | 2022-09-24 11:05:37 -0700 |
|---|---|---|
| committer | Ellis Hoag <ellis.sparky.hoag@gmail.com> | 2022-09-24 11:06:05 -0700 |
| commit | 5c7e629b6378a25d3575c56a803fa1de0b2641e5 (patch) | |
| tree | 914f5b4ab41631b5b839e79713ed3e89398043c0 /compiler/rustc_errors/src | |
| parent | 6e22c0a8e1799e0d14f4845060f6857d8921b283 (diff) | |
| download | rust-5c7e629b6378a25d3575c56a803fa1de0b2641e5.tar.gz rust-5c7e629b6378a25d3575c56a803fa1de0b2641e5.zip | |
rebase and update trait names
Diffstat (limited to 'compiler/rustc_errors/src')
| -rw-r--r-- | compiler/rustc_errors/src/diagnostic_builder.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/compiler/rustc_errors/src/diagnostic_builder.rs b/compiler/rustc_errors/src/diagnostic_builder.rs index b4ba65ca96d..092a77f944c 100644 --- a/compiler/rustc_errors/src/diagnostic_builder.rs +++ b/compiler/rustc_errors/src/diagnostic_builder.rs @@ -5,6 +5,7 @@ use crate::{ }; use crate::{Handler, Level, MultiSpan, StashKey}; use rustc_lint_defs::Applicability; +use rustc_span::source_map::Spanned; use rustc_span::Span; use std::borrow::Cow; @@ -23,6 +24,18 @@ pub trait IntoDiagnostic<'a, T: EmissionGuarantee = ErrorGuaranteed> { fn into_diagnostic(self, handler: &'a Handler) -> DiagnosticBuilder<'a, T>; } +impl<'a, T, E> IntoDiagnostic<'a, E> for Spanned<T> +where + T: IntoDiagnostic<'a, E>, + E: EmissionGuarantee, +{ + fn into_diagnostic(self, handler: &'a Handler) -> DiagnosticBuilder<'a, E> { + let mut diag = self.node.into_diagnostic(handler); + diag.set_span(self.span); + diag + } +} + /// Used for emitting structured error messages and other diagnostic information. /// /// If there is some state in a downstream crate you would like to |
