Struct cargo::core::compiler::layout::Layout

source ·
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 dropped.

Implementations§

source§

impl Layout

source

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”.

source

pub fn prepare(&mut self) -> CargoResult<()>

Makes sure all directories stored in the Layout exist on the filesystem.

source

pub fn dest(&self) -> &Path

Fetch the destination path for final artifacts (/…/target/debug).

source

pub fn deps(&self) -> &Path

Fetch the deps path.

source

pub fn examples(&self) -> &Path

Fetch the examples path.

source

pub fn doc(&self) -> &Path

Fetch the doc path.

source

pub fn root(&self) -> &Path

Fetch the root path (/…/target).

source

pub fn incremental(&self) -> &Path

Fetch the incremental path.

source

pub fn fingerprint(&self) -> &Path

Fetch the fingerprint path.

source

pub fn build(&self) -> &Path

Fetch the build script path.

source

pub fn artifact(&self) -> &Path

Fetch the artifact path.

source

pub fn prepare_tmp(&self) -> CargoResult<&Path>

Create and return the tmp path.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

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