rust/src/librustc_resolve
bors da5b6467c3 Auto merge of #37247 - jseyfried:future_proof_no_link, r=nrc
macros: Future proof `#[no_link]`

This PR future proofs `#[no_link]` for macro modularization (cc #35896).

First, we resolve all `#[no_link] extern crate`s. `#[no_link]` crates without `#[macro_use]` or `#[macro_reexport]` are not resolved today, this is a [breaking-change]. For example,
```rust
```
Any breakage can be fixed by simply removing the `#[no_link] extern crate`.

Second, `#[no_link] extern crate`s will define an empty module in type namespace to eventually allow importing the crate's macros with `use`. This is a [breaking-change], for example:
```rust
mod syntax {} //< This becomes a duplicate error.
```

r? @nrc
2016-10-21 01:48:31 -07:00
..
build_reduced_graph.rs Auto merge of #37247 - jseyfried:future_proof_no_link, r=nrc 2016-10-21 01:48:31 -07:00
Cargo.toml Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
check_unused.rs Replace _, _ with .. 2016-09-04 12:30:33 +03:00
diagnostics.rs Add E0530 error explanation 2016-08-30 18:20:14 +02:00
lib.rs Improve $crate. 2016-10-19 10:03:06 +00:00
macros.rs Improve $crate. 2016-10-19 10:03:06 +00:00
resolve_imports.rs Use Idents instead of Names in ImportDirective's paths. 2016-10-19 09:58:12 +00:00