rustc_middle/util/mod.rs
1pub mod bug;
2
3#[derive(Default, Copy, Clone)]
4pub struct Providers {
5 pub queries: crate::query::Providers,
6 pub extern_queries: crate::query::ExternProviders,
7 pub hooks: crate::hooks::Providers,
8}
9
10/// Backwards compatibility hack to keep the diff small. This
11/// gives direct access to the `queries` field's fields, which
12/// are what almost everything wants access to.
13impl std::ops::DerefMut for Providers {
14 fn deref_mut(&mut self) -> &mut Self::Target {
15 &mut self.queries
16 }
17}
18
19impl std::ops::Deref for Providers {
20 type Target = crate::query::Providers;
21
22 fn deref(&self) -> &Self::Target {
23 &self.queries
24 }
25}