pub struct BuildContext<'a, 'cfg> {
    pub ws: &'a Workspace<'cfg>,
    pub config: &'cfg Config,
    pub profiles: Profiles,
    pub build_config: &'a BuildConfig,
    pub extra_compiler_args: HashMap<Unit, Vec<String>>,
    pub packages: PackageSet<'cfg>,
    pub target_data: RustcTargetData<'cfg>,
    pub roots: Vec<Unit>,
    pub unit_graph: UnitGraph,
    pub scrape_units: Vec<Unit>,
    pub all_kinds: HashSet<CompileKind>,
}
Expand description

The build context, containing all information about a build task.

It is intended that this is mostly static information. Stuff that mutates during the build can be found in the parent Context. (I say mostly, because this has internal caching, but nothing that should be observable or require &mut.)

Fields

ws: &'a Workspace<'cfg>

The workspace the build is for.

config: &'cfg Config

The cargo configuration.

profiles: Profilesbuild_config: &'a BuildConfigextra_compiler_args: HashMap<Unit, Vec<String>>

Extra compiler args for either rustc or rustdoc.

packages: PackageSet<'cfg>

Package downloader.

This holds ownership of the Package objects.

target_data: RustcTargetData<'cfg>

Information about rustc and the target platform.

roots: Vec<Unit>

The root units of unit_graph (units requested on the command-line).

unit_graph: UnitGraph

The dependency graph of units to compile.

scrape_units: Vec<Unit>

Reverse-dependencies of documented units, used by the rustdoc –scrape-examples flag.

all_kinds: HashSet<CompileKind>

The list of all kinds that are involved in this build

Implementations

Gets the user-specified linker for a particular host or target.

Gets the host architecture triple.

For example, x86_64-unknown-linux-gnu, would be

  • machine: x86_64,
  • hardware-platform: unknown,
  • operating system: linux-gnu.

Gets the number of jobs specified for this build.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.