about summary refs log tree commit diff
path: root/src/libsyntax/fold.rs
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-07-07 02:39:55 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-07-10 00:20:25 +0300
commit287de2595a40c03d9ffe81f55c13c731fd01583f (patch)
treea905bf090561b54245a31fcc2580b1682c55e522 /src/libsyntax/fold.rs
parent8b1271fcdd5b5958c76c43084e544d075d7d5dfd (diff)
downloadrust-287de2595a40c03d9ffe81f55c13c731fd01583f.tar.gz
rust-287de2595a40c03d9ffe81f55c13c731fd01583f.zip
Store all generic arguments for method calls in AST
Diffstat (limited to 'src/libsyntax/fold.rs')
-rw-r--r--src/libsyntax/fold.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs
index 1fc670ec9f7..eaec1eef172 100644
--- a/src/libsyntax/fold.rs
+++ b/src/libsyntax/fold.rs
@@ -1151,10 +1151,15 @@ pub fn noop_fold_expr<T: Folder>(Expr {id, node, span, attrs}: Expr, folder: &mu
                 ExprKind::Call(folder.fold_expr(f),
                          folder.fold_exprs(args))
             }
-            ExprKind::MethodCall(i, tps, args) => {
+            ExprKind::MethodCall(seg, args) => {
                 ExprKind::MethodCall(
-                    respan(folder.new_span(i.span), folder.fold_ident(i.node)),
-                    tps.move_map(|x| folder.fold_ty(x)),
+                    PathSegment {
+                        identifier: folder.fold_ident(seg.identifier),
+                        span: folder.new_span(seg.span),
+                        parameters: seg.parameters.map(|ps| {
+                            ps.map(|ps| folder.fold_path_parameters(ps))
+                        }),
+                    },
                     folder.fold_exprs(args))
             }
             ExprKind::Binary(binop, lhs, rhs) => {