]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #40347 - alexcrichton:rm-liblog, r=brson
authorbors <bors@rust-lang.org>
Sun, 26 Mar 2017 04:26:22 +0000 (04:26 +0000)
committerbors <bors@rust-lang.org>
Sun, 26 Mar 2017 04:26:22 +0000 (04:26 +0000)
Remove internal liblog

This commit deletes the internal liblog in favor of the implementation that
lives on crates.io. Similarly it's also setting a convention for adding crates
to the compiler. The main restriction right now is that we want compiler
implementation details to be unreachable from normal Rust code (e.g. requires a
feature), and by default everything in the sysroot is reachable via `extern
crate`.

The proposal here is to require that crates pulled in have these lines in their
`src/lib.rs`:

    #![cfg_attr(rustbuild, feature(staged_api, rustc_private))]
    #![cfg_attr(rustbuild, unstable(feature = "rustc_private", issue = "27812"))]

This'll mean that by default they're not using these attributes but when
compiled as part of the compiler they do a few things:

* Mark themselves as entirely unstable via the `staged_api` feature and the
  `#![unstable]` attribute.
* Allow usage of other unstable crates via `feature(rustc_private)` which is
  required if the crate relies on any other crates to compile (other than std).

1  2 
src/librustc_driver/driver.rs

Simple merge