rust/src/librustc_resolve
Mark Rousskov 322632ac10
Rollup merge of #51952 - petrochenkov:transmark, r=alexcrichton
hygiene: Decouple transparencies from expansion IDs

And remove fallback to parent modules during resolution of names in scope.

This is a breaking change for users of unstable macros 2.0 (both procedural and declarative), code like this:
```rust
#![feature(decl_macro)]

macro m($S: ident) {
    struct $S;
    mod m {
        type A = $S;
    }
}

fn main() {
    m!(S);
}
```
or equivalent
```rust
#![feature(decl_macro)]

macro m($S: ident) {
    mod m {
        type A = $S;
    }
}

fn main() {
    struct S;
    m!(S);
}
```
stops working due to module boundaries being properly enforced.

For proc macro derives this is still reported as a compatibility warning to give `actix_derive`, `diesel_derives` and `palette_derive` time to fix their issues.

Fixes https://github.com/rust-lang/rust/issues/50504 in accordance with [this comment](https://github.com/rust-lang/rust/issues/50504#issuecomment-399764767).
2018-07-11 12:38:33 -06:00
..
build_reduced_graph.rs resolve: Cleanup resolve_crate_root 2018-06-30 01:53:32 +03:00
Cargo.toml Try to fix a perf regression by updating log 2018-01-07 16:54:05 +01:00
check_unused.rs Fortify dummy span checking 2018-06-30 01:53:32 +03:00
diagnostics.rs Fix typo in E0433 docs 2018-07-11 07:43:10 +02:00
lib.rs Rollup merge of #51952 - petrochenkov:transmark, r=alexcrichton 2018-07-11 12:38:33 -06:00
macros.rs hygiene: Decouple transparencies from expansion IDs 2018-07-08 16:17:37 +03:00
resolve_imports.rs resolve: Cleanup resolve_crate_root 2018-06-30 01:53:32 +03:00