about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNick Cameron <nrc@ncameron.org>2015-11-14 10:03:12 +1300
committerNick Cameron <nrc@ncameron.org>2015-11-14 10:03:12 +1300
commitfb6faed99be2c4f105afdc5540f63ce5d28f973c (patch)
tree638a293c7853a4dc2d764a1e4c146b9b58f3da46 /src
parentf253bac206f5da70b22201268ee5405003487c2a (diff)
parentc93c771e71ca96a94ab7d13b37103cb57be22df5 (diff)
Merge pull request #597 from marcusklaas/method-generix
Fix span issue with generic method calls
Diffstat (limited to 'src')
-rw-r--r--src/chains.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/chains.rs b/src/chains.rs
index f004a5798c2..9c5b37d35cb 100644
--- a/src/chains.rs
+++ b/src/chains.rs
@@ -217,15 +217,17 @@ fn rewrite_method_call(method_name: ast::Ident,
                        width: usize,
                        offset: Indent)
                        -> Option<String> {
-    let type_str = if types.is_empty() {
-        String::new()
+    let (lo, type_str) = if types.is_empty() {
+        (args[0].span.hi, String::new())
     } else {
         let type_list = types.iter().map(|ty| pprust::ty_to_string(ty)).collect::<Vec<_>>();
-        format!("::<{}>", type_list.join(", "))
+
+        (types.last().unwrap().span.hi,
+         format!("::<{}>", type_list.join(", ")))
     };
 
     let callee_str = format!(".{}{}", method_name, type_str);
-    let span = mk_sp(args[0].span.hi, span.hi);
+    let span = mk_sp(lo, span.hi);
 
     rewrite_call(context, &callee_str, &args[1..], span, width, offset)
 }