Use dynamic dispatch for queries
This commit is contained in:
@@ -318,7 +318,7 @@ pub fn try_print_query_stack(handler: &Handler, num_frames: Option<usize>) {
|
||||
// state if it was responsible for triggering the panic.
|
||||
let i = ty::tls::with_context_opt(|icx| {
|
||||
if let Some(icx) = icx {
|
||||
print_query_stack(QueryCtxt { tcx: icx.tcx }, icx.query, handler, num_frames)
|
||||
print_query_stack(QueryCtxt::new(icx.tcx), icx.query, handler, num_frames)
|
||||
} else {
|
||||
0
|
||||
}
|
||||
|
||||
@@ -700,9 +700,12 @@ pub fn create_global_ctxt<'tcx>(
|
||||
hir_arena,
|
||||
untracked,
|
||||
dep_graph,
|
||||
query_result_on_disk_cache,
|
||||
rustc_query_impl::query_callbacks(arena),
|
||||
rustc_query_impl::query_system_fns(local_providers, extern_providers),
|
||||
rustc_query_impl::query_system(
|
||||
local_providers,
|
||||
extern_providers,
|
||||
query_result_on_disk_cache,
|
||||
),
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user