diff options
| author | bors <bors@rust-lang.org> | 2017-05-13 05:22:08 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-05-13 05:22:08 +0000 |
| commit | 4f3886abf1b52d0804564c043fd699da039a12fb (patch) | |
| tree | 2ed7e676dca983647f80990de2523c22c7514eff /src/bootstrap/lib.rs | |
| parent | d5f1cfd0fedc3eaa42ce0be3d5e36c13061d397d (diff) | |
| parent | ab54f4b226639558ff46ea1f3e3f504aacef562d (diff) | |
| download | rust-4f3886abf1b52d0804564c043fd699da039a12fb.tar.gz rust-4f3886abf1b52d0804564c043fd699da039a12fb.zip | |
Auto merge of #41847 - alexcrichton:less-unstable-annotations, r=eddyb
rustc: Add a new `-Z force-unstable-if-unmarked` flag This commit adds a new `-Z` flag to the compiler for use when bootstrapping the compiler itself. We want to be able to use crates.io crates, but we also want the usage of such crates to be as ergonomic as possible! To that end compiler crates are a little tricky in that the crates.io crates are not annotated as unstable, nor do they expect to pull in unstable dependencies. To cover all these situations it's intended that the compiler will forever now bootstrap with `-Z force-unstable-if-unmarked`. This flags serves a dual purpose of forcing crates.io crates to themselves be unstable while also allowing them to use other "unstable" crates.io crates. This should mean that adding a dependency to compiler no longer requires upstream modification with unstable/staged_api attributes for inclusion!
Diffstat (limited to 'src/bootstrap/lib.rs')
| -rw-r--r-- | src/bootstrap/lib.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 017d4015134..ea0b521a2ce 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -479,7 +479,8 @@ impl Build { // compiled with debuginfo. if mode != Mode::Tool { cargo.env("RUSTC_DEBUGINFO", self.config.rust_debuginfo.to_string()) - .env("RUSTC_DEBUGINFO_LINES", self.config.rust_debuginfo_lines.to_string()); + .env("RUSTC_DEBUGINFO_LINES", self.config.rust_debuginfo_lines.to_string()) + .env("RUSTC_FORCE_UNSTABLE", "1"); } // Enable usage of unstable features @@ -524,7 +525,9 @@ impl Build { // the comipiler, libs, and tests are stable and we don't want to make // their deps unstable (since this would break the first invariant // above). - if mode != Mode::Tool { + // + // FIXME: remove this after next stage0 + if mode != Mode::Tool && stage == 0 { cargo.env("RUSTBUILD_UNSTABLE", "1"); } |
