Skip to content

Rollup of 6 pull requests - #68121

Closed
Centril wants to merge 43 commits into
rust-lang:masterfrom
Centril:rollup-utd3pyv
Closed

Rollup of 6 pull requests#68121
Centril wants to merge 43 commits into
rust-lang:masterfrom
Centril:rollup-utd3pyv

Conversation

@Centril

Copy link
Copy Markdown
Contributor

Successful merges:

Failed merges:

r? @ghost

GuillaumeGomezand others added 30 commits January 9, 2020 22:25
This also allows us to use the `const_eval` query again without causing cycles
Zoxcand others added 13 commits January 11, 2020 00:38
This flag opts out of the min-const-fn checks entirely, which is usually
not what we want. The few cases where the flag is still necessary have
been annotated.
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
…ce, r=oli-obk
Promote references to constants instead of statics
r? @oli-obk
Compile some CGUs in parallel at the start of codegen
This brings the compilation time for `syntex_syntax` from 11.542s to 10.453s with 6 threads in non-incremental debug mode. Just compiling `n` CGUs in parallel at the beginning of codegen seems sufficient to get rid of the staircase effect, at least for `syntex_syntax`.
Based on rust-lang#67777.
r? @michaelwoerister
cc @alexcrichton@Mark-Simulacrum
…r=Centril
Don't require `allow_internal_unstable` unless `staged_api` is enabled.
rust-lang#63770 changed `qualify_min_const_fn` to require `allow_internal_unstable` for *all* crates that used an unstable feature, regardless of whether `staged_api` was enabled or the `fn` that used that feature was stably const. In practice, this meant that every crate in the ecosystem that wanted to use nightly features added `#![feature(const_fn)]`, which skips `qualify_min_const_fn` entirely.
After this PR, crates that do not have `#![feature(staged_api)]` will only need to enable the feature they are interested in. For example, `#![feature(const_if_match)]` will be enough to enable `if` and `match` in constants. Crates with `staged_api` (e.g., `libstd`) require `#[allow_internal_unstable]` to be added to a function if it uses nightly features unless that function is also marked `#[rustc_const_unstable]`. This prevents proliferation of `#[allow_internal_unstable]` into functions that are not callable in a `const` context on stable.
r? @oli-obk (author of rust-lang#63770)
cc @Centril
@Centril

Copy link
Copy Markdown
ContributorAuthor

@bors r+ p=6 rollup=never

@bors

bors commented Jan 11, 2020

Copy link
Copy Markdown
Collaborator

📌 Commit 28a63cd has been approved by Centril

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jan 11, 2020
@CentrilCentril added the rollup A PR which is a rollup label Jan 11, 2020
@CentrilCentril closed this Jan 11, 2020
@Centril
Centril deleted the rollup-utd3pyv branch January 11, 2020 10:01
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants

@Centril@bors@RalfJung@GuillaumeGomez@Zoxc@spastorino@oli-obk@Dylan-DPC@ecstatic-morse@tesuji