2023-04-16 10:03:39 +00:00
|
|
|
pub mod bug;
|
|
|
|
pub mod call_kind;
|
|
|
|
pub mod common;
|
|
|
|
pub mod find_self_call;
|
|
|
|
|
|
|
|
pub use call_kind::{call_kind, CallDesugaringKind, CallKind};
|
|
|
|
pub use find_self_call::find_self_call;
|
2023-09-22 16:26:20 +00:00
|
|
|
|
|
|
|
#[derive(Default, Copy, Clone)]
|
|
|
|
pub struct Providers {
|
|
|
|
pub queries: rustc_middle::query::Providers,
|
2023-09-22 16:38:31 +00:00
|
|
|
pub extern_queries: rustc_middle::query::ExternProviders,
|
2023-09-22 16:26:20 +00:00
|
|
|
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
|
|
|
|
}
|
|
|
|
}
|