| use crate::ty::TyCtxt; |
| |
| /// A query to trigger a delayed bug. Clearly, if one has a `tcx` one can already trigger a |
| /// delayed bug, so what is the point of this? It exists to help us test the interaction of delayed |
| /// bugs with the query system and incremental. |
| pub fn trigger_delayed_bug(tcx: TyCtxt<'_>, key: rustc_hir::def_id::DefId) { |
| tcx.dcx().span_delayed_bug( |
| tcx.def_span(key), |
| "delayed bug triggered by #[rustc_delayed_bug_from_inside_query]", |
| ); |
| } |
| |
| pub fn provide(providers: &mut crate::query::Providers) { |
| *providers = crate::query::Providers { trigger_delayed_bug, ..*providers }; |
| } |