mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-22 04:27:33 +00:00

All hooks receive a `TyCtxtAt` argument. Currently hooks can be called through `TyCtxtAt` or `TyCtxt`. In the latter case, a `TyCtxtAt` is constructed with a dummy span and passed to the hook. However, in practice hooks are never called through `TyCtxtAt`, and always receive a dummy span. (I confirmed this via code inspection, and double-checked it by temporarily making the `TyCtxtAt` code path panic and running all the tests.) This commit removes all the `TyCtxtAt` machinery for hooks. All hooks now receive `TyCtxt` instead of `TyCtxtAt`. There are two existing hooks that use `TyCtxtAt::span`: `const_caller_location_provider` and `try_destructure_mir_constant_for_user_output`. For both hooks the span is always a dummy span, probably unintentionally. This dummy span use is now explicit. If a non-dummy span is needed for these two hooks it would be easy to add it as an extra argument because hooks are less constrained than queries.
31 lines
907 B
Rust
31 lines
907 B
Rust
//! Support for serializing the dep-graph and reloading it.
|
|
|
|
// tidy-alphabetical-start
|
|
#![allow(internal_features)]
|
|
#![deny(missing_docs)]
|
|
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
|
|
#![doc(rust_logo)]
|
|
#![feature(file_buffered)]
|
|
#![feature(rustdoc_internals)]
|
|
#![warn(unreachable_pub)]
|
|
// tidy-alphabetical-end
|
|
|
|
mod assert_dep_graph;
|
|
mod errors;
|
|
mod persist;
|
|
|
|
pub use persist::{
|
|
LoadResult, copy_cgu_workproduct_to_incr_comp_cache_dir, finalize_session_directory,
|
|
in_incr_comp_dir, in_incr_comp_dir_sess, load_query_result_cache, save_work_product_index,
|
|
setup_dep_graph,
|
|
};
|
|
use rustc_middle::util::Providers;
|
|
|
|
#[allow(missing_docs)]
|
|
pub fn provide(providers: &mut Providers) {
|
|
providers.hooks.save_dep_graph =
|
|
|tcx| tcx.sess.time("serialize_dep_graph", || persist::save_dep_graph(tcx));
|
|
}
|
|
|
|
rustc_fluent_macro::fluent_messages! { "../messages.ftl" }
|