query_system: finish migration
Using eager translation, migrate the remaining repeated cycle stack diagnostic. Signed-off-by: David Wood <david.wood@huawei.com>
This commit is contained in:
parent
291a4736d9
commit
113e94369c
3 changed files with 7 additions and 12 deletions
|
@ -12,6 +12,8 @@ query_system_cycle_usage = cycle used when {$usage}
|
||||||
|
|
||||||
query_system_cycle_stack_single = ...which immediately requires {$stack_bottom} again
|
query_system_cycle_stack_single = ...which immediately requires {$stack_bottom} again
|
||||||
|
|
||||||
|
query_system_cycle_stack_middle = ...which requires {$desc}...
|
||||||
|
|
||||||
query_system_cycle_stack_multiple = ...which again requires {$stack_bottom}, completing the cycle
|
query_system_cycle_stack_multiple = ...which again requires {$stack_bottom}, completing the cycle
|
||||||
|
|
||||||
query_system_cycle_recursive_ty_alias = type aliases cannot be recursive
|
query_system_cycle_recursive_ty_alias = type aliases cannot be recursive
|
||||||
|
|
|
@ -1,22 +1,15 @@
|
||||||
use rustc_errors::{AddToDiagnostic, Diagnostic, SubdiagnosticMessage};
|
|
||||||
use rustc_macros::{Diagnostic, Subdiagnostic};
|
use rustc_macros::{Diagnostic, Subdiagnostic};
|
||||||
use rustc_session::Limit;
|
use rustc_session::Limit;
|
||||||
use rustc_span::{Span, Symbol};
|
use rustc_span::{Span, Symbol};
|
||||||
|
|
||||||
|
#[derive(Subdiagnostic)]
|
||||||
|
#[note(query_system::cycle_stack_middle)]
|
||||||
pub struct CycleStack {
|
pub struct CycleStack {
|
||||||
|
#[primary_span]
|
||||||
pub span: Span,
|
pub span: Span,
|
||||||
pub desc: String,
|
pub desc: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AddToDiagnostic for CycleStack {
|
|
||||||
fn add_to_diagnostic_with<F>(self, diag: &mut Diagnostic, _: F)
|
|
||||||
where
|
|
||||||
F: Fn(&mut Diagnostic, SubdiagnosticMessage) -> SubdiagnosticMessage,
|
|
||||||
{
|
|
||||||
diag.span_note(self.span, &format!("...which requires {}...", self.desc));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
pub enum HandleCycleError {
|
pub enum HandleCycleError {
|
||||||
Error,
|
Error,
|
||||||
|
@ -56,7 +49,7 @@ pub struct Cycle {
|
||||||
#[primary_span]
|
#[primary_span]
|
||||||
pub span: Span,
|
pub span: Span,
|
||||||
pub stack_bottom: String,
|
pub stack_bottom: String,
|
||||||
#[subdiagnostic]
|
#[subdiagnostic(eager)]
|
||||||
pub cycle_stack: Vec<CycleStack>,
|
pub cycle_stack: Vec<CycleStack>,
|
||||||
#[subdiagnostic]
|
#[subdiagnostic]
|
||||||
pub stack_count: StackCount,
|
pub stack_count: StackCount,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#![feature(min_specialization)]
|
#![feature(min_specialization)]
|
||||||
#![feature(extern_types)]
|
#![feature(extern_types)]
|
||||||
#![allow(rustc::potential_query_instability)]
|
#![allow(rustc::potential_query_instability)]
|
||||||
// #![deny(rustc::untranslatable_diagnostic)]
|
#![deny(rustc::untranslatable_diagnostic)]
|
||||||
#![deny(rustc::diagnostic_outside_of_impl)]
|
#![deny(rustc::diagnostic_outside_of_impl)]
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue