Skip to content

rustc: Stabilize options for pipelined compilation#62766

Merged
bors merged 1 commit intorust-lang:masterfrom
alexcrichton:stabilize-pipelined-compilation
Jul 30, 2019
Merged

rustc: Stabilize options for pipelined compilation#62766
bors merged 1 commit intorust-lang:masterfrom
alexcrichton:stabilize-pipelined-compilation

Conversation

@alexcrichton
Copy link
Member

This commit stabilizes options in the compiler necessary for Cargo to
enable "pipelined compilation" by default. The concept of pipelined
compilation, how it's implemented, and what it means for rustc are
documented in #60988. This PR is coupled with a PR against Cargo
(rust-lang/cargo#7143) which updates Cargo's support for pipelined
compliation to rustc, and also enables support by default in Cargo.
(note that the Cargo PR cannot land until this one against rustc lands).

The technical changes performed here were to stabilize the functionality
proposed in #60419 and #60987, the underlying pieces to enable pipelined
compilation support in Cargo. The issues have had some discussion during
stabilization, but the newly stabilized surface area here is:

  • A new --json flag was added to the compiler.
  • The --json flag can be passed multiple times.
  • The value of the --json flag is a comma-separated list of
    directives.
  • The --json flag cannot be combined with --color
  • The --json flag must be combined with --error-format=json
  • The acceptable list of directives to --json are:
    • diagnostic-short - the rendered field of diagnostics will have a
      "short" rendering matching --error-format=short
    • diagnostic-rendered-ansi - the rendered field of diagnostics
      will be colorized with ansi color codes embedded in the string field
    • artifacts - JSON blobs will be emitted for artifacts being emitted
      by the compiler

The unstable -Z emit-artifact-notifications and --json-rendered
flags have also been removed during this commit as well.

Closes #60419
Closes #60987
Closes #60988

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-bors This PR was explicitly merged by bors. relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet