]> git.lizzy.rs Git - rust.git/commit
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)
commit7dd4e2db785c8ec360a989f69891b1e97dd4d369
tree223f7115ef30e9ec99983d7fad3bcf7ded5b9596
parent0f5ddb953aafa8c63098dc1a32d3fdebaad82a5b
parente341d603fe7c35ce174bd2e54e47ed6941ea4b03
Auto merge of #40347 - alexcrichton:rm-liblog, r=brson

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).
src/librustc_driver/driver.rs