Skip to content

Commit

Permalink
Remove internal liblog
Browse files Browse the repository at this point in the history
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).
  • Loading branch information
alexcrichton committed Mar 23, 2017
1 parent 90346ea commit e341d60
Show file tree
Hide file tree
Showing 38 changed files with 54 additions and 1,194 deletions.
53 changes: 21 additions & 32 deletions src/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 0 additions & 9 deletions src/liblog/Cargo.toml

This file was deleted.

Loading

0 comments on commit e341d60

Please sign in to comment.