Some more refactorings towards removing driver queries by bjorn3 · Pull Request #132410 · rust-lang/rust (original) (raw)

Follow up to #127184

Custom driver breaking change

The after_analysis callback is changed to accept TyCtxt instead of Queries. The only safe query in Queries to call at this point is global_ctxt() which allows you to enter the TyCtxt either way. To fix your custom driver, replace the queries: &'tcx Queries<'tcx> argument with tcx: TyCtxt<'tcx> and remove your queries.global_ctxt().unwrap().enter(|tcx| { ... }) call and only keep the contents of the closure.

Custom driver deprecation

The after_crate_root_parsing callback is now deprecated. Several custom drivers are incorrectly calling queries.global_ctxt() from inside of it, which causes some driver code to be skipped. As such I would like to either remove it in the future or if custom drivers still need it, change it to accept an &rustc_ast::Crate instead.