-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Feature/Stability staging is flaky #21230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
You don't actually need to build |
This approach is made harder by the fact rustdoc test driver depends on (alternatively two versions of librustc_driver can be built) |
Building two versions of both |
Do not use magic values to forbid the use of unstable values. WIP to fix rust-lang#21230
The issue of whether it can be worked around does not really matter to me - if people really want to cheat then it's in their hands. It seems more complicated to me to teach the build system to build a second driver than to do what we're presently doing. Can you tell me how it broke snapshots? |
@brson Can you really claim the release can't compile unstable code when I have a grep/sed one-liner to do it on linux (without patching the binary) and on OSX you can turn off the unstable warnings in the alpha with |
@eddyb I'm sorry you are feeling so hurt about this. I will fix the snapshot situation. Don't confuse this with a security issue. There is no security involved here. The bootstrap key is just a token effort do discourage people from breaking the feature gates - it was a fun lark. We do not need to implement some kind of DRM scheme in the rust compiler. |
This fixes the issues mentioned in #21236, as well as the one #21230 where `CFG_BOOTSTRAP_KEY` was being set to simply 'N'. It changes the build such that `RUSTC_BOOTSTRAP_KEY` is only exported on -beta and -stable, so that the behavior of the -dev, -nightly, and snapshot compilers is the same everywhere. Haven't run it completely through 'make check' yet, but the I have verified that the aforementioned issues are fixed. r? @alexcrichton cc @eddyb
This fixes the issues mentioned in #21236, as well as the one #21230 where `CFG_BOOTSTRAP_KEY` was being set to simply 'N'. It changes the build such that `RUSTC_BOOTSTRAP_KEY` is only exported on -beta and -stable, so that the behavior of the -dev, -nightly, and snapshot compilers is the same everywhere. Haven't run it completely through 'make check' yet, but the I have verified that the aforementioned issues are fixed. r? @alexcrichton cc @eddyb
This is essentially obsoleted by #32731, so closing |
This fixes the issues mentioned in rust-lang/rust#21236, as well as the one rust-lang/rust#21230 where `CFG_BOOTSTRAP_KEY` was being set to simply 'N'. It changes the build such that `RUSTC_BOOTSTRAP_KEY` is only exported on -beta and -stable, so that the behavior of the -dev, -nightly, and snapshot compilers is the same everywhere. Haven't run it completely through 'make check' yet, but the I have verified that the aforementioned issues are fixed. r? @alexcrichton cc @eddyb
NB: This refers to the feature of making
#[unstable]
APIs unusable in release channels.Currently, to allow bootstrap compilers to build standard library, the
CFG_BOOTSTRAP_KEY
environment variable (see #20663) should match some secret value decided at compile time ofrustc
. This has several problems:strings
etc);N
;The proposed solution is to build two different versions of rustc for stage2/3 instead, depending on the situation:
This has benefits of not having to do any environment variable dance during the build. It is also not really workaround-able without manually rebuilding rustc, unlike the current approach.
(also see logs)
cc @brson, @eddyb
The text was updated successfully, but these errors were encountered: