diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:11:38 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:12:43 +0000 |
commit | cf94bdc0742c13e2a0cac864c478b8626b266e1b (patch) | |
tree | 044670aa50cc5e2b4229aa0b6b3df6676730c0a6 /compiler/rustc_query_system/src/error.rs | |
parent | Adding debian version 1.65.0+dfsg1-2. (diff) | |
download | rustc-cf94bdc0742c13e2a0cac864c478b8626b266e1b.tar.xz rustc-cf94bdc0742c13e2a0cac864c478b8626b266e1b.zip |
Merging upstream version 1.66.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'compiler/rustc_query_system/src/error.rs')
-rw-r--r-- | compiler/rustc_query_system/src/error.rs | 73 |
1 files changed, 43 insertions, 30 deletions
diff --git a/compiler/rustc_query_system/src/error.rs b/compiler/rustc_query_system/src/error.rs index 3fb06cbed..7a20eaceb 100644 --- a/compiler/rustc_query_system/src/error.rs +++ b/compiler/rustc_query_system/src/error.rs @@ -1,17 +1,15 @@ -use rustc_errors::AddSubdiagnostic; -use rustc_span::Span; +use rustc_macros::{Diagnostic, Subdiagnostic}; +use rustc_session::Limit; +use rustc_span::{Span, Symbol}; +#[derive(Subdiagnostic)] +#[note(query_system_cycle_stack_middle)] pub struct CycleStack { + #[primary_span] pub span: Span, pub desc: String, } -impl AddSubdiagnostic for CycleStack { - fn add_to_diagnostic(self, diag: &mut rustc_errors::Diagnostic) { - diag.span_note(self.span, &format!("...which requires {}...", self.desc)); - } -} - #[derive(Copy, Clone)] pub enum HandleCycleError { Error, @@ -19,39 +17,39 @@ pub enum HandleCycleError { DelayBug, } -#[derive(SessionSubdiagnostic)] +#[derive(Subdiagnostic)] pub enum StackCount { - #[note(query_system::cycle_stack_single)] + #[note(query_system_cycle_stack_single)] Single, - #[note(query_system::cycle_stack_multiple)] + #[note(query_system_cycle_stack_multiple)] Multiple, } -#[derive(SessionSubdiagnostic)] +#[derive(Subdiagnostic)] pub enum Alias { - #[note(query_system::cycle_recursive_ty_alias)] - #[help(query_system::cycle_recursive_ty_alias_help1)] - #[help(query_system::cycle_recursive_ty_alias_help2)] + #[note(query_system_cycle_recursive_ty_alias)] + #[help(query_system_cycle_recursive_ty_alias_help1)] + #[help(query_system_cycle_recursive_ty_alias_help2)] Ty, - #[note(query_system::cycle_recursive_trait_alias)] + #[note(query_system_cycle_recursive_trait_alias)] Trait, } -#[derive(SessionSubdiagnostic)] -#[note(query_system::cycle_usage)] +#[derive(Subdiagnostic)] +#[note(query_system_cycle_usage)] pub struct CycleUsage { #[primary_span] pub span: Span, pub usage: String, } -#[derive(SessionDiagnostic)] -#[diag(query_system::cycle, code = "E0391")] +#[derive(Diagnostic)] +#[diag(query_system_cycle, code = "E0391")] pub struct Cycle { #[primary_span] pub span: Span, pub stack_bottom: String, - #[subdiagnostic] + #[subdiagnostic(eager)] pub cycle_stack: Vec<CycleStack>, #[subdiagnostic] pub stack_count: StackCount, @@ -61,20 +59,35 @@ pub struct Cycle { pub cycle_usage: Option<CycleUsage>, } -#[derive(SessionDiagnostic)] -#[diag(query_system::reentrant)] +#[derive(Diagnostic)] +#[diag(query_system_reentrant)] pub struct Reentrant; -#[derive(SessionDiagnostic)] -#[diag(query_system::increment_compilation)] +#[derive(Diagnostic)] +#[diag(query_system_increment_compilation)] #[help] -#[note(query_system::increment_compilation_note1)] -#[note(query_system::increment_compilation_note2)] +#[note(query_system_increment_compilation_note1)] +#[note(query_system_increment_compilation_note2)] pub struct IncrementCompilation { pub run_cmd: String, pub dep_node: String, } -#[derive(SessionDiagnostic)] -#[diag(query_system::query_overflow)] -pub struct QueryOverflow; +#[derive(Diagnostic)] +#[help] +#[diag(query_system_query_overflow)] +pub struct QueryOverflow { + #[primary_span] + pub span: Option<Span>, + #[subdiagnostic] + pub layout_of_depth: Option<LayoutOfDepth>, + pub suggested_limit: Limit, + pub crate_name: Symbol, +} + +#[derive(Subdiagnostic)] +#[note(query_system_layout_of_depth)] +pub struct LayoutOfDepth { + pub desc: String, + pub depth: usize, +} |