pub struct RustcInvocation { /* private fields */ }Implementations§
Source§impl RustcInvocation
impl RustcInvocation
Sourcepub fn dep_info_command(
&self,
output: &Path,
) -> Result<DepInfoCommand, BypassReason>
pub fn dep_info_command( &self, output: &Path, ) -> Result<DepInfoCommand, BypassReason>
Replace the original output flags with a single explicit dep-info file.
Sourcepub fn discover_inputs(
&self,
dep_info: &RustcDepInfo,
working_dir: &Path,
) -> Result<DiscoveredInputs, BypassReason>
pub fn discover_inputs( &self, dep_info: &RustcDepInfo, working_dir: &Path, ) -> Result<DiscoveredInputs, BypassReason>
Hash dep-info sources plus every direct compiler input already modeled
by the invocation (--extern artifacts and custom target specs).
Source§impl RustcInvocation
impl RustcInvocation
Sourcepub fn parse(arguments: &[OsString]) -> Result<Self, BypassReason>
pub fn parse(arguments: &[OsString]) -> Result<Self, BypassReason>
Parse rustc’s arguments, excluding the compiler executable supplied as
the first argument to RUSTC_WRAPPER.
Any flag whose cache semantics are not modeled returns a bypass reason instead of guessing. A successful parse only admits the initial rlib/rmeta cacheability tier.
Sourcepub fn outputs(&self, working_dir: &Path) -> Result<RustcOutputs, BypassReason>
pub fn outputs(&self, working_dir: &Path) -> Result<RustcOutputs, BypassReason>
Resolve the rlib/rmeta files produced by this invocation.
The initial cache tier requires one output directory so its artifact can be represented by one protocol directory and restored atomically later.
Sourcepub fn action(
&self,
context: ActionContext,
) -> Result<RustcAction, BypassReason>
pub fn action( &self, context: ActionContext, ) -> Result<RustcAction, BypassReason>
Build canonical action bytes after precise input discovery has run.
context.inputs must contain the source, every explicit extern, and
every additional source or environment-generated input discovered from
dep-info.
Sourcepub fn invocation_digest(
&self,
context: &ActionContext,
) -> Result<CacheDigest, BypassReason>
pub fn invocation_digest( &self, context: &ActionContext, ) -> Result<CacheDigest, BypassReason>
Fingerprint the modeled invocation before dependency contents are known.
Sourcepub fn prediction(
&self,
context: &ActionContext,
discovered: &DiscoveredInputs,
) -> Result<RustcInputPrediction, BypassReason>
pub fn prediction( &self, context: &ActionContext, discovered: &DiscoveredInputs, ) -> Result<RustcInputPrediction, BypassReason>
Capture normalized dependency paths for a future invocation that has no dep-info file yet.
Trait Implementations§
Source§impl Clone for RustcInvocation
impl Clone for RustcInvocation
Source§fn clone(&self) -> RustcInvocation
fn clone(&self) -> RustcInvocation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more