# Function cargo::core::compiler::compile

source ·

    fn compile<'gctx>(
        build_runner: &mut BuildRunner<'_, 'gctx>,
        jobs: &mut JobQueue<'gctx>,
        plan: &mut BuildPlan,
        unit: &Unit,
        exec: &Arc<dyn Executor>,
        force_rebuild: bool
    ) -> CargoResult<()>

Expand description

Builds up and enqueue a list of pending jobs onto the `job` queue.

Starting from the `unit`, this function recursively calls itself to build all jobs for dependencies of the `unit`. Each of these jobs represents compiling a particular package.

Note that no actual work is executed as part of this, that’s all done next as part of `JobQueue::execute` function which will run everything in order with proper parallelism.