about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2016-04-16 01:16:43 +0530
committerManish Goregaokar <manishsmail@gmail.com>2016-04-16 01:16:43 +0530
commit6a0cfbcac294faab2b8bcd95a04cda042101a2d8 (patch)
tree9960209af7689edfe181a46e2958ccc461e06c92 /src/rustllvm/ExecutionEngineWrapper.cpp
parentccc7e95a964ece830caf66ad537e89ae6fb397a6 (diff)
parentca1d29c4debb5a58d9c2a9322eea740ca558ade5 (diff)
downloadrust-6a0cfbcac294faab2b8bcd95a04cda042101a2d8.tar.gz
rust-6a0cfbcac294faab2b8bcd95a04cda042101a2d8.zip
Rollup merge of #32923 - jseyfried:fix_hygiene, r=nrc
Fix macro hygiene bug

This fixes #32922 (EDIT: and fixes #31856), macro hygiene bugs.
It is a [breaking-change]. For example, the following would break:
```rust
fn main() {
    let x = true;
    macro_rules! foo { () => {
        let x = 0;
        macro_rules! bar { () => {x} }
        let _: bool = bar!();
        //^ `bar!()` used to resolve the first `x` (a bool),
        //| but will now resolve to the second x (an i32).
    }}
    foo! {};
}
```

r? @nrc
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions