pub struct Cc {
cmd: Command,
}
Expand description
A platform-specific C compiler invocation builder. The specific C compiler used is passed down from compiletest.
Fields§
§cmd: Command
Implementations§
Source§impl Cc
impl Cc
Sourcepub fn env_remove<K>(&mut self, key: K) -> &mut Self
pub fn env_remove<K>(&mut self, key: K) -> &mut Self
Remove an environmental variable.
Sourcepub fn arg<S>(&mut self, arg: S) -> &mut Self
pub fn arg<S>(&mut self, arg: S) -> &mut Self
Generic command argument provider. Prefer specific helper methods if possible. Note that for some executables, arguments might be platform specific. For C/C++ compilers, arguments might be platform and compiler specific.
Sourcepub fn args<V, S>(&mut self, args: V) -> &mut Self
pub fn args<V, S>(&mut self, args: V) -> &mut Self
Generic command arguments provider. Prefer specific helper methods if possible. Note that for some executables, arguments might be platform specific. For C/C++ compilers, arguments might be platform and compiler specific.
Sourcepub fn stdin<T: Into<Stdio>>(&mut self, cfg: T) -> &mut Self
pub fn stdin<T: Into<Stdio>>(&mut self, cfg: T) -> &mut Self
Configuration for the child process’s standard input (stdin) handle.
Sourcepub fn stdout<T: Into<Stdio>>(&mut self, cfg: T) -> &mut Self
pub fn stdout<T: Into<Stdio>>(&mut self, cfg: T) -> &mut Self
Configuration for the child process’s standard output (stdout) handle.
Sourcepub fn stderr<T: Into<Stdio>>(&mut self, cfg: T) -> &mut Self
pub fn stderr<T: Into<Stdio>>(&mut self, cfg: T) -> &mut Self
Configuration for the child process’s standard error (stderr) handle.
Sourcepub fn inspect<I>(&mut self, inspector: I) -> &mut Self
pub fn inspect<I>(&mut self, inspector: I) -> &mut Self
Inspect what the underlying Command
is up to the
current construction.
Sourcepub fn run(&mut self) -> CompletedProcess
pub fn run(&mut self) -> CompletedProcess
Run the constructed command and assert that it is successfully run.
Sourcepub fn run_fail(&mut self) -> CompletedProcess
pub fn run_fail(&mut self) -> CompletedProcess
Run the constructed command and assert that it does not successfully run.
Sourcepub fn run_unchecked(&mut self) -> CompletedProcess
pub fn run_unchecked(&mut self) -> CompletedProcess
Run the command but do not check its exit status.
Only use if you explicitly don’t care about the exit status.
Prefer to use Self::run
and Self::run_fail
whenever possible.
Sourcepub fn current_dir<P: AsRef<Path>>(&mut self, path: P) -> &mut Self
pub fn current_dir<P: AsRef<Path>>(&mut self, path: P) -> &mut Self
Set the path where the command will be run.
Source§impl Cc
impl Cc
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct a new platform-specific C compiler invocation.
WARNING: This means that what flags are accepted by the underlying C compile is
platform- AND compiler-specific. Consult the relevant docs for gcc
, clang
and mvsc
.
Sourcepub fn new_cxx() -> Self
pub fn new_cxx() -> Self
Construct a new platform-specific CXX compiler invocation. CXX_DEFAULT_FLAGS is passed from compiletest.
Sourcepub fn library_search_path<P: AsRef<Path>>(&mut self, path: P) -> &mut Self
pub fn library_search_path<P: AsRef<Path>>(&mut self, path: P) -> &mut Self
Adds directories to the list that the linker searches for libraries.
Equivalent to -L
.
Sourcepub fn out_exe(&mut self, name: &str) -> &mut Self
pub fn out_exe(&mut self, name: &str) -> &mut Self
Specify -o
or -Fe
/-Fo
depending on platform/compiler.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Cc
impl !RefUnwindSafe for Cc
impl Send for Cc
impl Sync for Cc
impl Unpin for Cc
impl !UnwindSafe for Cc
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
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: 312 bytes