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.