]> git.lizzy.rs Git - rust.git/commit
rustc: Add a new `-Z force-unstable-if-unmarked` flag
authorAlex Crichton <alex@alexcrichton.com>
Mon, 8 May 2017 20:36:26 +0000 (13:36 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Wed, 10 May 2017 14:42:26 +0000 (07:42 -0700)
commit99f629a9313a6ac5d7c57fdfa9127a336d0731a8
tree5341e98c98943759a2cbdbf891d929e89e101431
parent25a161765fb90f2bfc78bda8fef944048e72bd26
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/middle/stability.rs
src/librustc/session/config.rs
src/librustc_driver/driver.rs
src/librustc_driver/test.rs
src/librustc_metadata/cstore.rs
src/librustc_metadata/cstore_impl.rs