Skip to content

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Jan 11, 2020

Successful merges:

Failed merges:

r? @ghost

GuillaumeGomez and others added 30 commits January 9, 2020 22:25
This also allows us to use the `const_eval` query again without causing cycles
Zoxc and 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 <[email protected]>
…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
Contributor Author

Centril commented Jan 11, 2020

@bors r+ p=6 rollup=never

@bors
Copy link
Collaborator

bors commented Jan 11, 2020

📌 Commit 28a63cd has been approved by Centril

@bors bors 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
@Centril Centril added the rollup A PR which is a rollup label Jan 11, 2020
@Centril Centril closed this Jan 11, 2020
@Centril Centril deleted the rollup-utd3pyv branch January 11, 2020 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-bors Status: 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