about summary refs log tree commit diff
path: root/src/libsyntax/fold.rs
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2016-04-20 14:44:07 -0400
committerManish Goregaokar <manishsmail@gmail.com>2016-04-24 18:10:57 +0530
commitecd10f04cea34352ff240b0462d40cd1d95a4e0f (patch)
treefb7f1f7adc4a1044d3a9316631fef61e46ce984b /src/libsyntax/fold.rs
parent23ccaddaa7d1cb71e49ef1b1f423b3245fa3a879 (diff)
downloadrust-ecd10f04cea34352ff240b0462d40cd1d95a4e0f.tar.gz
rust-ecd10f04cea34352ff240b0462d40cd1d95a4e0f.zip
thread tighter span for closures around
Track the span corresponding to the `|...|` part of the closure.
Diffstat (limited to 'src/libsyntax/fold.rs')
-rw-r--r--src/libsyntax/fold.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs
index 89451e79550..3f788a52d2b 100644
--- a/src/libsyntax/fold.rs
+++ b/src/libsyntax/fold.rs
@@ -1241,10 +1241,11 @@ pub fn noop_fold_expr<T: Folder>(Expr {id, node, span, attrs}: Expr, folder: &mu
                 ExprKind::Match(folder.fold_expr(expr),
                           arms.move_map(|x| folder.fold_arm(x)))
             }
-            ExprKind::Closure(capture_clause, decl, body) => {
+            ExprKind::Closure(capture_clause, decl, body, span) => {
                 ExprKind::Closure(capture_clause,
-                            folder.fold_fn_decl(decl),
-                            folder.fold_block(body))
+                                  folder.fold_fn_decl(decl),
+                                  folder.fold_block(body),
+                                  folder.new_span(span))
             }
             ExprKind::Block(blk) => ExprKind::Block(folder.fold_block(blk)),
             ExprKind::Assign(el, er) => {