Crate rustc_incremental [] [src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Support for serializing the dep-graph and reloading it.

Modules

assert_module_sources [
Experimental
]

This pass is only used for UNIT TESTS related to incremental compilation. It tests whether a particular .o file will be re-used from a previous compilation or whether it must be regenerated.

Enums

LoadResult [
Experimental
]

Functions

assert_dep_graph [
Experimental
]
delete_workproduct_files [
Experimental
]
dep_graph_tcx_init [
Experimental
]
finalize_session_directory [
Experimental
]

This function finalizes and thus 'publishes' the session directory by renaming it to s-{timestamp}-{svh} and releasing the file lock. If there have been compilation errors, however, this function will just delete the presumably invalid session directory.

garbage_collect_session_directories [
Experimental
]
in_incr_comp_dir [
Experimental
]
load_dep_graph [
Experimental
]

Launch a thread and load the dependency graph in the background.

load_query_result_cache [
Experimental
]
prepare_session_directory [
Experimental
]

Allocates the private session directory. The boolean in the Ok() result indicates whether we should try loading a dep graph from the successfully initialized directory, or not. The post-condition of this fn is that we have a valid incremental compilation session directory, if the result is Ok. A valid session directory is one that contains a locked lock file. It may or may not contain a dep-graph and work products from a previous session. If the call fails, the fn may leave behind an invalid session directory. The garbage collection will take care of it.

save_dep_graph [
Experimental
]
save_trans_partition [
Experimental
]
save_work_products [
Experimental
]