| use rustc_errors::E0799; |
| use rustc_macros::Diagnostic; |
| use rustc_span::{Span, Symbol}; |
| |
| #[derive(Diagnostic)] |
| #[diag(hir_analysis_param_not_captured)] |
| #[note] |
| pub(crate) struct ParamNotCaptured { |
| #[primary_span] |
| pub opaque_span: Span, |
| #[label] |
| pub param_span: Span, |
| pub kind: &'static str, |
| } |
| |
| #[derive(Diagnostic)] |
| #[diag(hir_analysis_self_ty_not_captured)] |
| #[note] |
| pub(crate) struct SelfTyNotCaptured { |
| #[primary_span] |
| pub opaque_span: Span, |
| #[label] |
| pub trait_span: Span, |
| } |
| |
| #[derive(Diagnostic)] |
| #[diag(hir_analysis_lifetime_not_captured)] |
| pub(crate) struct LifetimeNotCaptured { |
| #[primary_span] |
| pub use_span: Span, |
| #[label(hir_analysis_param_label)] |
| pub param_span: Span, |
| #[label] |
| pub opaque_span: Span, |
| } |
| |
| #[derive(Diagnostic)] |
| #[diag(hir_analysis_lifetime_implicitly_captured)] |
| pub(crate) struct LifetimeImplicitlyCaptured { |
| #[primary_span] |
| pub opaque_span: Span, |
| #[label(hir_analysis_param_label)] |
| pub param_span: Span, |
| } |
| |
| #[derive(Diagnostic)] |
| #[diag(hir_analysis_bad_precise_capture)] |
| pub(crate) struct BadPreciseCapture { |
| #[primary_span] |
| pub span: Span, |
| pub kind: &'static str, |
| pub found: String, |
| } |
| |
| #[derive(Diagnostic)] |
| #[diag(hir_analysis_precise_capture_self_alias, code = E0799)] |
| pub(crate) struct PreciseCaptureSelfAlias { |
| #[primary_span] |
| pub span: Span, |
| #[label] |
| pub self_span: Span, |
| pub what: &'static str, |
| } |
| |
| #[derive(Diagnostic)] |
| #[diag(hir_analysis_duplicate_precise_capture)] |
| pub(crate) struct DuplicatePreciseCapture { |
| #[primary_span] |
| pub first_span: Span, |
| pub name: Symbol, |
| #[label] |
| pub second_span: Span, |
| } |
| |
| #[derive(Diagnostic)] |
| #[diag(hir_analysis_lifetime_must_be_first)] |
| pub(crate) struct LifetimesMustBeFirst { |
| #[primary_span] |
| pub lifetime_span: Span, |
| pub name: Symbol, |
| #[label] |
| pub other_span: Span, |
| } |