diff options
| author | bors <bors@rust-lang.org> | 2017-03-30 06:48:52 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-03-30 06:48:52 +0000 |
| commit | fe151194e9a919ab23c2bb356767a5cbfa3811e7 (patch) | |
| tree | b51d7a522884fedf038037c75dc12e99e0474650 /src/libstd/sync | |
| parent | 6afa0d42ff55591fdcbd2dc7da54970538ab3f3e (diff) | |
| parent | 8fde04b4a295792249d4a01f87a9f66143aa7c83 (diff) | |
| download | rust-fe151194e9a919ab23c2bb356767a5cbfa3811e7.tar.gz rust-fe151194e9a919ab23c2bb356767a5cbfa3811e7.zip | |
Auto merge of #40597 - jseyfried:improve_span_expn_info, r=jseyfried
macros: improve `Span`'s expansion information This PR improves `Span`'s expansion information. More specifically: - It refactors AST node span construction to preserve expansion information. - Today, we only use the underlying tokens' `BytePos`s, throwing away the `ExpnId`s. - This improves the accuracy of AST nodes' expansion information, fixing #30506. - It refactors `span.expn_id: ExpnId` to `span.ctxt: SyntaxContext` and removes `ExpnId`. - This gives all tokens as much hygiene information as `Ident`s. - This is groundwork for procedural macros 2.0 `TokenStream` API. - This is also groundwork for declarative macros 2.0, which will need this hygiene information for some non-`Ident` tokens. - It simplifies processing of spans' expansion information throughout the compiler. - It fixes #40649. - It fixes #39450 and fixes part of #23480. r? @nrc
Diffstat (limited to 'src/libstd/sync')
0 files changed, 0 insertions, 0 deletions
