]> git.lizzy.rs Git - rust.git/commit
Auto merge of #41847 - alexcrichton:less-unstable-annotations, r=eddyb
authorbors <bors@rust-lang.org>
Sat, 13 May 2017 05:22:08 +0000 (05:22 +0000)
committerbors <bors@rust-lang.org>
Sat, 13 May 2017 05:22:08 +0000 (05:22 +0000)
commit4f3886abf1b52d0804564c043fd699da039a12fb
tree2ed7e676dca983647f80990de2523c22c7514eff
parentd5f1cfd0fedc3eaa42ce0be3d5e36c13061d397d
parentab54f4b226639558ff46ea1f3e3f504aacef562d
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!
src/librustc/middle/cstore.rs
src/librustc_driver/lib.rs
src/librustc_metadata/cstore_impl.rs