diff options
| author | bors <bors@rust-lang.org> | 2022-09-30 10:39:09 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-09-30 10:39:09 +0000 |
| commit | f914b82a754c6d85c0a909ab152f5b611defef73 (patch) | |
| tree | 4aadd6df5dcdf3bea8a2cbd16bf91fb0e2753c92 /compiler/rustc_errors/src | |
| parent | 4a0ee3cdc66573c8b46471462db7088a89d25183 (diff) | |
| parent | 588a25a6f8bfeec3a6bb8d8f498b0ed0794f7096 (diff) | |
| download | rust-f914b82a754c6d85c0a909ab152f5b611defef73.tar.gz rust-f914b82a754c6d85c0a909ab152f5b611defef73.zip | |
Auto merge of #102509 - matthiaskrgr:rollup-gtenet8, r=matthiaskrgr
Rollup of 5 pull requests
Successful merges:
- #101075 (Migrate rustc_codegen_gcc to SessionDiagnostics )
- #102350 (Improve errors for incomplete functions in struct definitions)
- #102481 (rustdoc: remove unneeded CSS `.rust-example-rendered { position }`)
- #102491 (rustdoc: remove no-op source sidebar `opacity`)
- #102499 (Adjust the s390x data layout for LLVM 16)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
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 |
