diff options
| author | Jed Davis <jld@panix.com> | 2013-03-08 18:43:40 -0800 |
|---|---|---|
| committer | Jed Davis <jld@panix.com> | 2013-03-09 17:40:59 -0800 |
| commit | 5066bc9ff48131e4ee91fa9120c2d5894597216c (patch) | |
| tree | 7051688e16ada9ebe89b1f3e9c4dce38770e3e64 /src/libsyntax | |
| parent | 2e29f974230f8deeec103ab53a93e7f0f2dbf0fe (diff) | |
| download | rust-5066bc9ff48131e4ee91fa9120c2d5894597216c.tar.gz rust-5066bc9ff48131e4ee91fa9120c2d5894597216c.zip | |
Don't print addr_of(addr_of(e)) as `&&e`, which means something else.
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 3744b7a8f6c..94a25591007 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -1217,6 +1217,11 @@ pub fn print_expr(s: @ps, &&expr: @ast::expr) { ast::expr_addr_of(m, expr) => { word(s.s, ~"&"); print_mutability(s, m); + // Avoid `& &e` => `&&e`. + match (m, &expr.node) { + (ast::m_imm, &ast::expr_addr_of(*)) => space(s.s), + _ => { } + } print_expr(s, expr); } ast::expr_lit(lit) => print_literal(s, lit), |
