Have a single struct for queries and hook

This commit is contained in:
Oli Scherer
2023-09-22 16:26:20 +00:00
parent 9defc971f1
commit 2ba911c832
8 changed files with 46 additions and 26 deletions

View File

@@ -5,3 +5,26 @@ pub mod find_self_call;
pub use call_kind::{call_kind, CallDesugaringKind, CallKind};
pub use find_self_call::find_self_call;
#[derive(Default, Copy, Clone)]
pub struct Providers {
pub queries: rustc_middle::query::Providers,
pub hooks: rustc_middle::hooks::Providers,
}
/// Backwards compatibility hack to keep the diff small. This
/// gives direct access to the `queries` field's fields, which
/// are what almost everything wants access to.
impl std::ops::DerefMut for Providers {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.queries
}
}
impl std::ops::Deref for Providers {
type Target = rustc_middle::query::Providers;
fn deref(&self) -> &Self::Target {
&self.queries
}
}