pub struct Rustc {
pub path: PathBuf,
pub wrapper: Option<PathBuf>,
pub workspace_wrapper: Option<PathBuf>,
pub verbose_version: String,
pub version: Version,
pub host: InternedString,
pub commit_hash: Option<String>,
cache: Mutex<Cache>,
}
Expand description
Information on the rustc
executable
Fields§
§path: PathBuf
The location of the exe
wrapper: Option<PathBuf>
An optional program that will be passed the path of the rust exe as its first argument, and rustc args following this.
workspace_wrapper: Option<PathBuf>
An optional wrapper to be used in addition to rustc.wrapper
for workspace crates
verbose_version: String
Verbose version information (the output of rustc -vV
)
version: Version
The rustc version (1.23.4-beta.2
), this comes from verbose_version.
host: InternedString
The host triple (arch-platform-OS), this comes from verbose_version.
commit_hash: Option<String>
The rustc full commit hash, this comes from verbose_version
.
cache: Mutex<Cache>
Implementations§
Source§impl Rustc
impl Rustc
Sourcepub fn new(
path: PathBuf,
wrapper: Option<PathBuf>,
workspace_wrapper: Option<PathBuf>,
rustup_rustc: &Path,
cache_location: Option<PathBuf>,
gctx: &GlobalContext,
) -> CargoResult<Rustc>
pub fn new( path: PathBuf, wrapper: Option<PathBuf>, workspace_wrapper: Option<PathBuf>, rustup_rustc: &Path, cache_location: Option<PathBuf>, gctx: &GlobalContext, ) -> CargoResult<Rustc>
Runs the compiler at path
to learn various pieces of information about
it, with an optional wrapper.
If successful this function returns a description of the compiler along with a list of its capabilities.
Sourcepub fn process(&self) -> ProcessBuilder
pub fn process(&self) -> ProcessBuilder
Gets a process builder set up to use the found rustc version, with a wrapper if Some
.
Sourcepub fn workspace_process(&self) -> ProcessBuilder
pub fn workspace_process(&self) -> ProcessBuilder
Gets a process builder set up to use the found rustc version, with a wrapper if Some
.
pub fn process_no_wrapper(&self) -> ProcessBuilder
Sourcepub fn cached_output(
&self,
cmd: &ProcessBuilder,
extra_fingerprint: u64,
) -> CargoResult<(String, String)>
pub fn cached_output( &self, cmd: &ProcessBuilder, extra_fingerprint: u64, ) -> CargoResult<(String, String)>
Gets the output for the given command.
This will return the cached value if available, otherwise it will run the command and cache the output.
extra_fingerprint
is extra data to include in the cache fingerprint.
Use this if there is other information about the environment that may
affect the output that is not part of cmd
.
Returns a tuple of strings (stdout, stderr)
.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Rustc
impl RefUnwindSafe for Rustc
impl Send for Rustc
impl Sync for Rustc
impl Unpin for Rustc
impl UnwindSafe for Rustc
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 320 bytes