BuildDirLayout

Struct BuildDirLayout 

Source
pub struct BuildDirLayout {
    root: PathBuf,
    deps: PathBuf,
    build: PathBuf,
    artifact: PathBuf,
    incremental: PathBuf,
    fingerprint: PathBuf,
    examples: PathBuf,
    tmp: PathBuf,
    _lock: Option<FileLock>,
    is_new_layout: bool,
}

Fields§

§root: PathBuf

The root directory: /path/to/build-dir. If cross compiling: /path/to/build-dir/$TRIPLE.

§deps: PathBuf

The directory with rustc artifacts

§build: PathBuf

The primary directory for build files

§artifact: PathBuf

The directory for artifacts, i.e. binaries, cdylibs, staticlibs

§incremental: PathBuf

The directory for incremental files

§fingerprint: PathBuf

The directory for fingerprints

§examples: PathBuf

The directory for pre-uplifted examples: build-dir/debug/examples

§tmp: PathBuf

The directory for temporary data of integration tests and benches

§_lock: Option<FileLock>

The lockfile for a build (.cargo-lock). Will be unlocked when this struct is dropped.

Will be None when the build-dir and target-dir are the same path as we cannot lock the same path twice.

§is_new_layout: bool

Implementations§

Source§

impl BuildDirLayout

Source

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

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

Source

pub fn deps(&self, pkg_dir: &str) -> PathBuf

Fetch the deps path.

Source

pub fn legacy_deps(&self) -> &Path

Fetch the deps path. (old layout)

Source

pub fn root(&self) -> &Path

Source

pub fn examples(&self) -> &Path

Fetch the build examples path.

Source

pub fn incremental(&self) -> &Path

Fetch the incremental path.

Source

pub fn fingerprint(&self, pkg_dir: &str) -> PathBuf

Fetch the fingerprint path.

Source

pub fn legacy_fingerprint(&self) -> &Path

Fetch the fingerprint path. (old layout)

Source

pub fn build(&self) -> &Path

Fetch the build path.

Source

pub fn build_script(&self, pkg_dir: &str) -> PathBuf

Fetch the build script path.

Source

pub fn build_script_execution(&self, pkg_dir: &str) -> PathBuf

Fetch the build script execution path.

Source

pub fn artifact(&self) -> &Path

Fetch the artifact path.

Source

pub fn build_unit(&self, pkg_dir: &str) -> PathBuf

Fetch the build unit 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 T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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.

§

impl<T> Instrument for T

§

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

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

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 T
where 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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 T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,

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: 232 bytes