Make HandleCycleError an enum instead of a macro-generated closure

- Add a `HandleCycleError` enum to rustc_query_system, along with a `handle_cycle_error` function
- Move `Value` to rustc_query_system, so `handle_cycle_error` can use it
- Move the `Value` impls from rustc_query_impl to rustc_middle. This is necessary due to orphan rules.
This commit is contained in:
Joshua Nelson
2022-09-01 20:43:12 -05:00
parent 4e09a13bb8
commit 4856affd90
9 changed files with 86 additions and 43 deletions

View File

@@ -12,6 +12,13 @@ impl AddSubdiagnostic for CycleStack {
}
}
#[derive(Copy, Clone)]
pub enum HandleCycleError {
Error,
Fatal,
DelayBug,
}
#[derive(SessionSubdiagnostic)]
pub enum StackCount {
#[note(query_system::cycle_stack_single)]