diff --git a/src/chains.rs b/src/chains.rs
index 191b4a2ea4c..c535287df24 100644
--- a/src/chains.rs
+++ b/src/chains.rs
@@ -236,8 +236,7 @@ fn rewrite_method_call(method_name: ast::Ident,
                                               .map(|ty| ty.rewrite(context, width, offset))
                                               .collect());
 
-        (types.last().unwrap().span.hi,
-         format!("::<{}>", type_list.join(", ")))
+        (types.last().unwrap().span.hi, format!("::<{}>", type_list.join(", ")))
     };
 
     let callee_str = format!(".{}{}", method_name, type_str);
diff --git a/src/comment.rs b/src/comment.rs
index 3382ab53276..232e7691b82 100644
--- a/src/comment.rs
+++ b/src/comment.rs
@@ -501,9 +501,7 @@ impl<'a> Iterator for CommentCodeSlices<'a> {
             CodeCharKind::Comment => CodeCharKind::Normal,
             CodeCharKind::Normal => CodeCharKind::Comment,
         };
-        let res = (kind,
-                   self.last_slice_end,
-                   &self.slice[self.last_slice_end..sub_slice_end]);
+        let res = (kind, self.last_slice_end, &self.slice[self.last_slice_end..sub_slice_end]);
         self.last_slice_end = sub_slice_end;
         self.last_slice_kind = kind;
 
diff --git a/src/expr.rs b/src/expr.rs
index 5fc0f370ab6..d933f68ce18 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -18,7 +18,7 @@ use std::fmt::Write;
 use {Indent, Spanned};
 use rewrite::{Rewrite, RewriteContext};
 use lists::{write_list, itemize_list, ListFormatting, SeparatorTactic, ListTactic,
-            DefinitiveListTactic, definitive_tactic, ListItem, format_fn_args};
+            DefinitiveListTactic, definitive_tactic, ListItem, format_item_list};
 use string::{StringFormat, rewrite_string};
 use utils::{CodeMapSpanUtils, extra_offset, last_line_width, wrap_str, binary_search,
             first_line_width, semicolon_for_stmt};
@@ -1336,9 +1336,7 @@ fn rewrite_call_inner<R>(context: &RewriteContext,
     // Replace the stub with the full overflowing last argument if the rewrite
     // succeeded and its first line fits with the other arguments.
     match (overflow_last, tactic, placeholder) {
-        (true,
-         DefinitiveListTactic::Horizontal,
-         placeholder @ Some(..)) => {
+        (true, DefinitiveListTactic::Horizontal, placeholder @ Some(..)) => {
             item_vec[arg_count - 1].item = placeholder;
         }
         (true, _, _) => {
@@ -1511,8 +1509,7 @@ fn rewrite_struct_lit<'a>(context: &RewriteContext,
                      outer_indent))
     };
 
-    match (context.config.struct_lit_style,
-           context.config.struct_lit_multiline_style) {
+    match (context.config.struct_lit_style, context.config.struct_lit_multiline_style) {
         (StructLitStyle::Block, _) if fields_str.contains('\n') || fields_str.len() > h_budget => {
             format_on_newline()
         }
@@ -1583,7 +1580,7 @@ pub fn rewrite_tuple<'a, I>(context: &RewriteContext,
                              list_lo,
                              span.hi - BytePos(1));
     let budget = try_opt!(width.checked_sub(2));
-    let list_str = try_opt!(format_fn_args(items, budget, indent, context.config));
+    let list_str = try_opt!(format_item_list(items, budget, indent, context.config));
 
     Some(format!("({})", list_str))
 }
diff --git a/src/items.rs b/src/items.rs
index 04382489b28..688e4759832 100644
--- a/src/items.rs
+++ b/src/items.rs
@@ -1581,9 +1581,7 @@ fn compute_budgets_for_args(context: &RewriteContext,
             let multi_line_budget = context.config.max_width -
                                     (indent.width() + result.len() + "()".len());
 
-            return (one_line_budget,
-                    multi_line_budget,
-                    indent + result.len() + 1);
+            return (one_line_budget, multi_line_budget, indent + result.len() + 1);
         }
     }
 
diff --git a/tests/source/issue-510.rs b/tests/source/issue-510.rs
index faf3d657ada..8f56be02e32 100644
--- a/tests/source/issue-510.rs
+++ b/tests/source/issue-510.rs
@@ -19,7 +19,6 @@ let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
 }
 };
 
-// FIXME(#501): tuple width heuristic may not be optimal for patterns.
         let (inline_start, inline_size, margin_inline_start, margin_inline_end) =
             match (inline_start, inline_end, computed_inline_size) {
                 (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
diff --git a/tests/system.rs b/tests/system.rs
index bc5298ae22d..eac45b83ca0 100644
--- a/tests/system.rs
+++ b/tests/system.rs
@@ -305,8 +305,7 @@ fn get_target(file_name: &str, target: Option<&str>, write_mode: Option<WriteMod
     let file_path = Path::new(file_name);
     let (source_path_prefix, target_path_prefix) = match write_mode {
         Some(WriteMode::Coverage) => {
-            (Path::new("tests/coverage-source/"),
-             "tests/coverage-target/")
+            (Path::new("tests/coverage-source/"), "tests/coverage-target/")
         }
         _ => (Path::new("tests/source/"), "tests/target/"),
     };
diff --git a/tests/target/closure.rs b/tests/target/closure.rs
index 6ab217ed6c4..382919ce403 100644
--- a/tests/target/closure.rs
+++ b/tests/target/closure.rs
@@ -9,8 +9,7 @@ fn main() {
                      b: WithType, // argument
                      // ignored
                      _| {
-        (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
-         bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)
+        (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)
     };
 
     let block_body = move |xxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
diff --git a/tests/target/issue-510.rs b/tests/target/issue-510.rs
index 5b427ef1402..5b5860998fa 100644
--- a/tests/target/issue-510.rs
+++ b/tests/target/issue-510.rs
@@ -4,40 +4,37 @@ impl ISizeAndMarginsComputer for AbsoluteNonReplaced {
                                      input: &ISizeConstraintInput)
                                      -> ISizeConstraintSolution {
 
-        let (inline_start,
-             inline_size,
-             margin_inline_start,
-             margin_inline_end) = match (inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx,
-                                         inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx) {
-            (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
-                let margin_start = inline_start_margin.specified_or_zero();
-                let margin_end = inline_end_margin.specified_or_zero();
-                // Now it is the same situation as inline-start Specified and inline-end
-                // and inline-size Auto.
-                //
-                // Set inline-end to zero to calculate inline-size.
-                let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
-                                                                      (margin_start + margin_end));
-                (Au(0), inline_size, margin_start, margin_end)
-            }
-        };
+        let (inline_start, inline_size, margin_inline_start, margin_inline_end) =
+            match (inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx,
+                   inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx) {
+                (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
+                    let margin_start = inline_start_margin.specified_or_zero();
+                    let margin_end = inline_end_margin.specified_or_zero();
+                    // Now it is the same situation as inline-start Specified and inline-end
+                    // and inline-size Auto.
+                    //
+                    // Set inline-end to zero to calculate inline-size.
+                    let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
+                                                                          (margin_start +
+                                                                           margin_end));
+                    (Au(0), inline_size, margin_start, margin_end)
+                }
+            };
 
-        // FIXME(#501): tuple width heuristic may not be optimal for patterns.
-        let (inline_start,
-             inline_size,
-             margin_inline_start,
-             margin_inline_end) = match (inline_start, inline_end, computed_inline_size) {
-            (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
-                let margin_start = inline_start_margin.specified_or_zero();
-                let margin_end = inline_end_margin.specified_or_zero();
-                // Now it is the same situation as inline-start Specified and inline-end
-                // and inline-size Auto.
-                //
-                // Set inline-end to zero to calculate inline-size.
-                let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
-                                                                      (margin_start + margin_end));
-                (Au(0), inline_size, margin_start, margin_end)
-            }
-        };
+        let (inline_start, inline_size, margin_inline_start, margin_inline_end) =
+            match (inline_start, inline_end, computed_inline_size) {
+                (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
+                    let margin_start = inline_start_margin.specified_or_zero();
+                    let margin_end = inline_end_margin.specified_or_zero();
+                    // Now it is the same situation as inline-start Specified and inline-end
+                    // and inline-size Auto.
+                    //
+                    // Set inline-end to zero to calculate inline-size.
+                    let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
+                                                                          (margin_start +
+                                                                           margin_end));
+                    (Au(0), inline_size, margin_start, margin_end)
+                }
+            };
     }
 }
diff --git a/tests/target/match.rs b/tests/target/match.rs
index defcc13ef51..ed571d32123 100644
--- a/tests/target/match.rs
+++ b/tests/target/match.rs
@@ -32,16 +32,7 @@ fn foo() {
         }
 
         // Test that earlier patterns can take the guard space
-        (aaaa,
-         bbbbb,
-         ccccccc,
-         aaaaa,
-         bbbbbbbb,
-         cccccc,
-         aaaa,
-         bbbbbbbb,
-         cccccc,
-         dddddd) |
+        (aaaa, bbbbb, ccccccc, aaaaa, bbbbbbbb, cccccc, aaaa, bbbbbbbb, cccccc, dddddd) |
         Patternnnnnnnnnnnnnnnnnnnnnnnnn if loooooooooooooooooooooooooooooooooooooooooong_guard => {}
 
         _ => {}
@@ -75,22 +66,13 @@ fn main() {
 fn main() {
     match r {
         Variableeeeeeeeeeeeeeeeee => {
-            ("variable",
-             vec!["id", "name", "qualname", "value", "type", "scopeid"],
-             true,
-             true)
+            ("variable", vec!["id", "name", "qualname", "value", "type", "scopeid"], true, true)
         }
         Enummmmmmmmmmmmmmmmmmmmm => {
-            ("enum",
-             vec!["id", "qualname", "scopeid", "value"],
-             true,
-             true)
+            ("enum", vec!["id", "qualname", "scopeid", "value"], true, true)
         }
         Variantttttttttttttttttttttttt => {
-            ("variant",
-             vec!["id", "name", "qualname", "type", "value", "scopeid"],
-             true,
-             true)
+            ("variant", vec!["id", "name", "qualname", "type", "value", "scopeid"], true, true)
         }
     };
 
diff --git a/tests/target/tuple.rs b/tests/target/tuple.rs
index f2c929dde6d..a5bcc7f701a 100644
--- a/tests/target/tuple.rs
+++ b/tests/target/tuple.rs
@@ -2,9 +2,7 @@
 
 fn foo() {
     let a = (a, a, a, a, a);
-    let aaaaaaaaaaaaaaaa = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
-                            aaaaaaaaaaaaaa,
-                            aaaaaaaaaaaaaa);
+    let aaaaaaaaaaaaaaaa = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaa, aaaaaaaaaaaaaa);
     let aaaaaaaaaaaaaaaaaaaaaa = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
                                   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
                                   aaaaaaaaaaaaaaaaaaaaaaaaa,
@@ -26,7 +24,6 @@ fn a() {
 }
 
 fn b() {
-    ((bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,
-      bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb),
+    ((bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb),
      bbbbbbbbbbbbbbbbbb)
 }