]> git.lizzy.rs Git - rust.git/commitdiff
auto merge of #8329 : michaelwoerister/rust/lexical_scopes_alt, r=graydon
authorbors <bors@rust-lang.org>
Tue, 13 Aug 2013 23:53:14 +0000 (16:53 -0700)
committerbors <bors@rust-lang.org>
Tue, 13 Aug 2013 23:53:14 +0000 (16:53 -0700)
This pull request re-implements handling of visibility scopes and source code positions in debug info. It should now be very stable and properly handle

+ variable shadowing
+ expanded code (macros and the new for-loop de-sugaring, for example)
+ variables in the middle of nested scopes
+ bindings declared in the head of match statement arms.

all of which did not work at all or did not work reliably before. Those interested in a more detailed description of the problems at hand, I kindly refer to http://michaelwoerister.github.io/2013/08/03/visibility-scopes.html

Why doesn't the `populate_scope_map()` function use `syntax::visit`?
Because it would not improve this particular AST walker (see: https://github.com/michaelwoerister/rust/commit/69dc7908490b8b492e9730cb1c34fa83c2ef30eb#commitcomment-3781426)

Cheers,
Michael

1  2 
src/librustc/middle/trans/base.rs

Simple merge