sccache includes support for caching Rust compilation. This includes many caveats, and is primarily focused on caching rustc invocations as produced by cargo. A (possibly-incomplete) list follows:
--emit
is required.--crate-name
is required.- Only
link
,metadata
anddep-info
are supported as--emit
values, andlink
must be present. --out-dir
is required.-o file
is not supported.- Compilation from stdin is not supported, a source file must be provided.
- Values from
env!
require Rust >= 1.46 to be tracked in caching. - Procedural macros that read files from the filesystem may not be cached properly
If you are using Rust 1.18 or later, you can ask cargo to wrap all compilation with sccache by setting RUSTC_WRAPPER=sccache
in your build environment.