]> git.lizzy.rs Git - rust.git/blobdiff - compiler/rustc_query_system/src/error.rs
UPDATE - rename DiagnosticHandler trait to IntoDiagnostic
[rust.git] / compiler / rustc_query_system / src / error.rs
index 3fb06cbedbd507f6f5d0d04f684d8fc418553518..97a74517f68030f47f339accd7f1c16c9cb47b85 100644 (file)
@@ -1,12 +1,13 @@
-use rustc_errors::AddSubdiagnostic;
-use rustc_span::Span;
+use rustc_errors::AddToDiagnostic;
+use rustc_session::Limit;
+use rustc_span::{Span, Symbol};
 
 pub struct CycleStack {
     pub span: Span,
     pub desc: String,
 }
 
-impl AddSubdiagnostic for CycleStack {
+impl AddToDiagnostic for CycleStack {
     fn add_to_diagnostic(self, diag: &mut rustc_errors::Diagnostic) {
         diag.span_note(self.span, &format!("...which requires {}...", self.desc));
     }
@@ -45,7 +46,7 @@ pub struct CycleUsage {
     pub usage: String,
 }
 
-#[derive(SessionDiagnostic)]
+#[derive(DiagnosticHandler)]
 #[diag(query_system::cycle, code = "E0391")]
 pub struct Cycle {
     #[primary_span]
@@ -61,11 +62,11 @@ pub struct Cycle {
     pub cycle_usage: Option<CycleUsage>,
 }
 
-#[derive(SessionDiagnostic)]
+#[derive(DiagnosticHandler)]
 #[diag(query_system::reentrant)]
 pub struct Reentrant;
 
-#[derive(SessionDiagnostic)]
+#[derive(DiagnosticHandler)]
 #[diag(query_system::increment_compilation)]
 #[help]
 #[note(query_system::increment_compilation_note1)]
@@ -75,6 +76,21 @@ pub struct IncrementCompilation {
     pub dep_node: String,
 }
 
-#[derive(SessionDiagnostic)]
+#[derive(Diagnostic)]
+#[help]
 #[diag(query_system::query_overflow)]
-pub struct QueryOverflow;
+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,
+}