Use dynamic dispatch for queries
This commit is contained in:
parent
d3edfd18c7
commit
2fe28ae0a4
12 changed files with 384 additions and 253 deletions
|
@ -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,
|
||||
),
|
||||
)
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue