pub struct Layout {
root: PathBuf,
dest: PathBuf,
deps: PathBuf,
build: PathBuf,
artifact: PathBuf,
incremental: PathBuf,
fingerprint: PathBuf,
examples: PathBuf,
doc: PathBuf,
tmp: PathBuf,
_lock: FileLock,
}
Expand description
Contains the paths of all target output locations.
See module docs for more information.
Fields§
§root: PathBuf
The root directory: /path/to/target
.
If cross compiling: /path/to/target/$TRIPLE
.
dest: PathBuf
The final artifact destination: $root/debug
(or release
).
deps: PathBuf
The directory with rustc artifacts: $dest/deps
build: PathBuf
The directory for build scripts: $dest/build
artifact: PathBuf
The directory for artifacts, i.e. binaries, cdylibs, staticlibs: $dest/deps/artifact
incremental: PathBuf
The directory for incremental files: $dest/incremental
fingerprint: PathBuf
The directory for fingerprints: $dest/.fingerprint
examples: PathBuf
The directory for examples: $dest/examples
doc: PathBuf
The directory for rustdoc output: $root/doc
tmp: PathBuf
The directory for temporary data of integration tests and benches: $dest/tmp
_lock: FileLock
The lockfile for a build (.cargo-lock
). Will be unlocked when this
struct is drop
ped.
Implementations§
source§impl Layout
impl Layout
sourcepub fn new(
ws: &Workspace<'_>,
target: Option<CompileTarget>,
dest: &str
) -> CargoResult<Layout>
pub fn new( ws: &Workspace<'_>, target: Option<CompileTarget>, dest: &str ) -> CargoResult<Layout>
Calculate the paths for build output, lock the build directory, and return as a Layout.
This function will block if the directory is already locked.
dest
should be the final artifact directory name. Currently either
“debug” or “release”.
sourcepub fn prepare(&mut self) -> CargoResult<()>
pub fn prepare(&mut self) -> CargoResult<()>
Makes sure all directories stored in the Layout exist on the filesystem.
sourcepub fn incremental(&self) -> &Path
pub fn incremental(&self) -> &Path
Fetch the incremental path.
sourcepub fn fingerprint(&self) -> &Path
pub fn fingerprint(&self) -> &Path
Fetch the fingerprint path.
sourcepub fn prepare_tmp(&self) -> CargoResult<&Path>
pub fn prepare_tmp(&self) -> CargoResult<&Path>
Create and return the tmp path.
Auto Trait Implementations§
impl RefUnwindSafe for Layout
impl Send for Layout
impl Sync for Layout
impl Unpin for Layout
impl UnwindSafe for Layout
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§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>,
source§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: 272 bytes