e341d603fe
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).
21 lines
508 B
TOML
21 lines
508 B
TOML
[package]
|
|
authors = ["The Rust Project Developers"]
|
|
name = "rustc_borrowck"
|
|
version = "0.0.0"
|
|
|
|
[lib]
|
|
name = "rustc_borrowck"
|
|
path = "lib.rs"
|
|
crate-type = ["dylib"]
|
|
test = false
|
|
|
|
[dependencies]
|
|
log = "0.3"
|
|
syntax = { path = "../libsyntax" }
|
|
syntax_pos = { path = "../libsyntax_pos" }
|
|
graphviz = { path = "../libgraphviz" }
|
|
rustc = { path = "../librustc" }
|
|
rustc_data_structures = { path = "../librustc_data_structures" }
|
|
rustc_mir = { path = "../librustc_mir" }
|
|
rustc_errors = { path = "../librustc_errors" }
|