about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMarcus Klaas <mail@marcusklaas.nl>2015-11-13 14:53:34 +0100
committerMarcus Klaas <mail@marcusklaas.nl>2015-11-13 14:53:34 +0100
commitc93c771e71ca96a94ab7d13b37103cb57be22df5 (patch)
tree9fe02a135947d2df33ea0688d3ab4403ffbc179a /src
parent686ec52b504c7c7a991a98053d6518cd005ede80 (diff)
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)
 }