From a5138b16768d2ceefee3deba995cd45fc1f52fdb Mon Sep 17 00:00:00 2001 From: topecongiro <seuchida@gmail.com> Date: Thu, 15 Jun 2017 16:25:40 +0900 Subject: [PATCH 1/3] Use block indent for tuple pattern when fn_call_style is Block --- src/expr.rs | 150 ++++++++++++++++++++++++++++++++++++------------ src/patterns.rs | 125 ++++++++++++++++++++++------------------ src/types.rs | 16 +++++- 3 files changed, 196 insertions(+), 95 deletions(-) diff --git a/src/expr.rs b/src/expr.rs index afa4aa851f3..6bba83b520c 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -25,10 +25,11 @@ use utils::{extra_offset, last_line_width, wrap_str, binary_search, first_line_w use visitor::FmtVisitor; use config::{Config, IndentStyle, MultilineStyle, ControlBraceStyle, Style}; use comment::{FindUncommented, rewrite_comment, contains_comment, recover_comment_removed}; -use types::{rewrite_path, PathContext}; +use types::{rewrite_path, PathContext, can_be_overflowed_type}; use items::{span_lo_for_arg, span_hi_for_arg}; use chains::rewrite_chain; use macros::{rewrite_macro, MacroPosition}; +use patterns::{TuplePatField, can_be_overflowed_pat}; use syntax::{ast, ptr}; use syntax::codemap::{CodeMap, Span, BytePos}; @@ -110,7 +111,13 @@ fn format_expr( } ast::ExprKind::Call(ref callee, ref args) => { let inner_span = mk_sp(callee.span.hi, expr.span.hi); - rewrite_call_with_binary_search(context, &**callee, args, inner_span, shape) + rewrite_call_with_binary_search( + context, + &**callee, + &args.iter().map(|x| &**x).collect::<Vec<_>>()[..], + inner_span, + shape, + ) } ast::ExprKind::Paren(ref subexpr) => rewrite_paren(context, subexpr, shape), ast::ExprKind::Binary(ref op, ref lhs, ref rhs) => { @@ -136,7 +143,14 @@ fn format_expr( shape, ) } - ast::ExprKind::Tup(ref items) => rewrite_tuple(context, items, expr.span, shape), + ast::ExprKind::Tup(ref items) => { + rewrite_tuple( + context, + &items.iter().map(|x| &**x).collect::<Vec<_>>()[..], + expr.span, + shape, + ) + } ast::ExprKind::While(ref cond, ref block, label) => { ControlFlow::new_while(None, cond, block, label, expr.span).rewrite(context, shape) } @@ -1800,7 +1814,7 @@ fn string_requires_rewrite( pub fn rewrite_call_with_binary_search<R>( context: &RewriteContext, callee: &R, - args: &[ptr::P<ast::Expr>], + args: &[&ast::Expr], span: Span, shape: Shape, ) -> Option<String> @@ -1818,7 +1832,15 @@ where Ordering::Greater, )?; - rewrite_call_inner(context, &callee_str, args, span, shape, false) + rewrite_call_inner( + context, + &callee_str, + args, + span, + shape, + context.config.fn_call_width(), + false, + ) }; binary_search(1, shape.width, closure) @@ -1831,15 +1853,24 @@ pub fn rewrite_call( span: Span, shape: Shape, ) -> Option<String> { - rewrite_call_inner(context, &callee, args, span, shape, false).ok() + rewrite_call_inner( + context, + &callee, + &args.iter().map(|x| &**x).collect::<Vec<_>>(), + span, + shape, + context.config.fn_call_width(), + false, + ).ok() } -fn rewrite_call_inner<'a, T>( +pub fn rewrite_call_inner<'a, T>( context: &RewriteContext, callee_str: &str, - args: &[ptr::P<T>], + args: &[&T], span: Span, shape: Shape, + args_max_width: usize, force_trailing_comma: bool, ) -> Result<String, Ordering> where @@ -1873,6 +1904,7 @@ where args_span, nested_shape, one_line_width, + args_max_width, force_trailing_comma, ).or_else(|| if context.use_block_indent() { rewrite_call_args( @@ -1884,6 +1916,7 @@ where context.config, ), 0, + 0, force_trailing_comma, ) } else { @@ -1900,6 +1933,7 @@ where args, span, shape, + args_max_width, force_trailing_comma, ); } @@ -1930,10 +1964,11 @@ fn need_block_indent(s: &str, shape: Shape) -> bool { fn rewrite_call_args<'a, T>( context: &RewriteContext, - args: &[ptr::P<T>], + args: &[&T], span: Span, shape: Shape, one_line_width: usize, + args_max_width: usize, force_trailing_comma: bool, ) -> Option<(bool, String)> where @@ -1956,13 +1991,13 @@ where // Try letting the last argument overflow to the next line with block // indentation. If its first line fits on one line with the other arguments, // we format the function arguments horizontally. - let args = args.iter().filter_map(|e| e.to_expr()).collect::<Vec<_>>(); let tactic = try_overflow_last_arg( &item_context, &mut item_vec, &args[..], shape, one_line_width, + args_max_width, ); let fmt = ListFormatting { @@ -1985,38 +2020,45 @@ where }) } -fn try_overflow_last_arg( +fn try_overflow_last_arg<'a, T>( context: &RewriteContext, item_vec: &mut Vec<ListItem>, - args: &[&ast::Expr], + args: &[&T], shape: Shape, one_line_width: usize, -) -> DefinitiveListTactic { + args_max_width: usize, +) -> DefinitiveListTactic +where + T: Rewrite + Spanned + ToExpr + 'a, +{ let overflow_last = can_be_overflowed(&context, args); // Replace the last item with its first line to see if it fits with // first arguments. let (orig_last, placeholder) = if overflow_last { let mut context = context.clone(); - match args[args.len() - 1].node { - ast::ExprKind::MethodCall(..) => context.force_one_line_chain = true, - _ => (), + if let Some(expr) = args[args.len() - 1].to_expr() { + match expr.node { + ast::ExprKind::MethodCall(..) => context.force_one_line_chain = true, + _ => (), + } } - last_arg_shape(&context, &item_vec, shape).map_or((None, None), |arg_shape| { - rewrite_last_arg_with_overflow( - &context, - args[args.len() - 1], - &mut item_vec[args.len() - 1], - arg_shape, - ) - }) + last_arg_shape(&context, &item_vec, shape, args_max_width) + .map_or((None, None), |arg_shape| { + rewrite_last_arg_with_overflow( + &context, + args[args.len() - 1], + &mut item_vec[args.len() - 1], + arg_shape, + ) + }) } else { (None, None) }; let tactic = definitive_tactic( &*item_vec, - ListTactic::LimitedHorizontalVertical(context.config.fn_call_width()), + ListTactic::LimitedHorizontalVertical(args_max_width), one_line_width, ); @@ -2035,11 +2077,16 @@ fn try_overflow_last_arg( tactic } -fn last_arg_shape(context: &RewriteContext, items: &Vec<ListItem>, shape: Shape) -> Option<Shape> { +fn last_arg_shape( + context: &RewriteContext, + items: &Vec<ListItem>, + shape: Shape, + args_max_width: usize, +) -> Option<Shape> { let overhead = items.iter().rev().skip(1).fold(0, |acc, i| { acc + i.item.as_ref().map_or(0, |s| first_line_width(&s)) }); - let max_width = min(context.config.fn_call_width(), shape.width); + let max_width = min(args_max_width, shape.width); let arg_indent = if context.use_block_indent() { shape.block().indent.block_unindent(context.config) } else { @@ -2052,12 +2099,15 @@ fn last_arg_shape(context: &RewriteContext, items: &Vec<ListItem>, shape: Shape) }) } -fn rewrite_last_arg_with_overflow( +fn rewrite_last_arg_with_overflow<'a, T>( context: &RewriteContext, - last_arg: &ast::Expr, + last_arg: &T, last_item: &mut ListItem, shape: Shape, -) -> (Option<String>, Option<String>) { +) -> (Option<String>, Option<String>) +where + T: Rewrite + Spanned + ToExpr + 'a, +{ let rewrite = last_arg.rewrite(context, shape); let orig_last = last_item.item.clone(); @@ -2070,13 +2120,17 @@ fn rewrite_last_arg_with_overflow( } } -fn can_be_overflowed(context: &RewriteContext, args: &[&ast::Expr]) -> bool { - args.last().map_or(false, |x| { - can_be_overflowed_expr(context, &x, args.len()) - }) +fn can_be_overflowed<'a, T>(context: &RewriteContext, args: &[&T]) -> bool +where + T: Rewrite + Spanned + ToExpr + 'a, +{ + args.last().map_or( + false, + |x| x.can_be_overflowed(context, args.len()), + ) } -fn can_be_overflowed_expr(context: &RewriteContext, expr: &ast::Expr, args_len: usize) -> bool { +pub fn can_be_overflowed_expr(context: &RewriteContext, expr: &ast::Expr, args_len: usize) -> bool { match expr.node { ast::ExprKind::Match(..) => { (context.use_block_indent() && args_len == 1) || @@ -2117,7 +2171,7 @@ fn paren_overhead(context: &RewriteContext) -> usize { } } -fn wrap_args_with_parens( +pub fn wrap_args_with_parens( context: &RewriteContext, args_str: &str, is_extendable: bool, @@ -2370,7 +2424,7 @@ fn shape_from_fn_call_style( fn rewrite_tuple_in_visual_indent_style<'a, T>( context: &RewriteContext, - items: &[ptr::P<T>], + items: &[&T], span: Span, shape: Shape, ) -> Option<String> @@ -2417,7 +2471,7 @@ where pub fn rewrite_tuple<'a, T>( context: &RewriteContext, - items: &[ptr::P<T>], + items: &[&T], span: Span, shape: Shape, ) -> Option<String> @@ -2433,6 +2487,7 @@ where items, span, shape, + context.config.fn_call_width(), items.len() == 1, ).ok() } else { @@ -2590,16 +2645,35 @@ fn rewrite_expr_addrof( pub trait ToExpr { fn to_expr(&self) -> Option<&ast::Expr>; + fn can_be_overflowed(&self, context: &RewriteContext, len: usize) -> bool; } impl ToExpr for ast::Expr { fn to_expr(&self) -> Option<&ast::Expr> { Some(self) } + + fn can_be_overflowed(&self, context: &RewriteContext, len: usize) -> bool { + can_be_overflowed_expr(context, self, len) + } } impl ToExpr for ast::Ty { fn to_expr(&self) -> Option<&ast::Expr> { None } + + fn can_be_overflowed(&self, context: &RewriteContext, len: usize) -> bool { + can_be_overflowed_type(context, self, len) + } +} + +impl<'a> ToExpr for TuplePatField<'a> { + fn to_expr(&self) -> Option<&ast::Expr> { + None + } + + fn can_be_overflowed(&self, context: &RewriteContext, len: usize) -> bool { + can_be_overflowed_pat(context, self, len) + } } diff --git a/src/patterns.rs b/src/patterns.rs index 25290ceaf0e..88d63af2298 100644 --- a/src/patterns.rs +++ b/src/patterns.rs @@ -13,10 +13,9 @@ use codemap::SpanUtils; use config::{IndentStyle, MultilineStyle}; use rewrite::{Rewrite, RewriteContext}; use utils::{wrap_str, format_mutability, mk_sp}; -use lists::{DefinitiveListTactic, SeparatorTactic, format_item_list, itemize_list, ListItem, - struct_lit_shape, struct_lit_tactic, shape_for_tactic, struct_lit_formatting, - write_list}; -use expr::{rewrite_unary_prefix, rewrite_pair}; +use lists::{DefinitiveListTactic, SeparatorTactic, itemize_list, struct_lit_shape, + struct_lit_tactic, shape_for_tactic, struct_lit_formatting, write_list}; +use expr::{rewrite_call_inner, rewrite_unary_prefix, rewrite_pair, can_be_overflowed_expr}; use types::{rewrite_path, PathContext}; use super::Spanned; use comment::FindUncommented; @@ -239,7 +238,7 @@ impl Rewrite for FieldPat { } } -enum TuplePatField<'a> { +pub enum TuplePatField<'a> { Pat(&'a ptr::P<ast::Pat>), Dotdot(Span), } @@ -262,6 +261,24 @@ impl<'a> Spanned for TuplePatField<'a> { } } +pub fn can_be_overflowed_pat(context: &RewriteContext, pat: &TuplePatField, len: usize) -> bool { + match pat { + &TuplePatField::Pat(ref pat) => { + match pat.node { + ast::PatKind::Tuple(..) | + ast::PatKind::Struct(..) => context.use_block_indent() && len == 1, + ast::PatKind::Ref(ref p, _) | + ast::PatKind::Box(ref p) => { + can_be_overflowed_pat(context, &TuplePatField::Pat(p), len) + } + ast::PatKind::Lit(ref expr) => can_be_overflowed_expr(context, expr, len), + _ => false, + } + } + &TuplePatField::Dotdot(..) => false, + } +} + fn rewrite_tuple_pat( pats: &[ptr::P<ast::Pat>], dotdot_pos: Option<usize>, @@ -286,77 +303,73 @@ fn rewrite_tuple_pat( let dot_span = mk_sp(prev, next); let snippet = context.snippet(dot_span); let lo = dot_span.lo + BytePos(snippet.find_uncommented("..").unwrap() as u32); - let span = Span { + let dotdot = TuplePatField::Dotdot(Span { lo: lo, // 2 == "..".len() hi: lo + BytePos(2), ctxt: codemap::NO_EXPANSION, - }; - let dotdot = TuplePatField::Dotdot(span); + }); pat_vec.insert(pos, dotdot); } if pat_vec.is_empty() { return Some(format!("{}()", try_opt!(path_str))); } + + let wildcard_suffix_len = count_wildcard_suffix_len(context, &pat_vec, span, shape); + let (pat_vec, span) = + if context.config.condense_wildcard_suffixes() && wildcard_suffix_len >= 2 { + let new_item_count = 1 + pat_vec.len() - wildcard_suffix_len; + let sp = pat_vec[new_item_count - 1].span(); + let snippet = context.snippet(sp); + let lo = sp.lo + BytePos(snippet.find_uncommented("_").unwrap() as u32); + pat_vec[new_item_count - 1] = TuplePatField::Dotdot(mk_sp(lo, lo + BytePos(1))); + (&pat_vec[..new_item_count], mk_sp(span.lo, lo + BytePos(1))) + } else { + (&pat_vec[..], span) + }; + // add comma if `(x,)` let add_comma = path_str.is_none() && pat_vec.len() == 1 && dotdot_pos.is_none(); + let mut context = context.clone(); + if let Some(&TuplePatField::Dotdot(..)) = pat_vec.last() { + context.inside_macro = true; + } + let path_str = path_str.unwrap_or(String::new()); + let mut pat_ref_vec = Vec::with_capacity(pat_vec.len()); + for pat in pat_vec { + pat_ref_vec.push(pat); + } + return rewrite_call_inner( + &context, + &path_str, + &pat_ref_vec[..], + span, + shape, + shape.width, + add_comma, + ).ok(); +} - let path_len = path_str.as_ref().map(|p| p.len()).unwrap_or(0); - // 2 = "()".len(), 3 = "(,)".len() - let nested_shape = try_opt!(shape.sub_width(path_len + if add_comma { 3 } else { 2 })); - // 1 = "(".len() - let nested_shape = nested_shape.visual_indent(path_len + 1); - let mut items: Vec<_> = itemize_list( +fn count_wildcard_suffix_len( + context: &RewriteContext, + patterns: &[TuplePatField], + span: Span, + shape: Shape, +) -> usize { + let mut suffix_len = 0; + + let items: Vec<_> = itemize_list( context.codemap, - pat_vec.iter(), - if add_comma { ",)" } else { ")" }, + patterns.iter(), + ")", |item| item.span().lo, |item| item.span().hi, - |item| item.rewrite(context, nested_shape), + |item| item.rewrite(context, shape), context.codemap.span_after(span, "("), span.hi - BytePos(1), ).collect(); - // Condense wildcard string suffix into a single .. - let wildcard_suffix_len = count_wildcard_suffix_len(&items); - - let list = if context.config.condense_wildcard_suffixes() && wildcard_suffix_len >= 2 { - let new_item_count = 1 + pats.len() - wildcard_suffix_len; - items[new_item_count - 1].item = Some("..".to_owned()); - - let da_iter = items.into_iter().take(new_item_count); - try_opt!(format_item_list(da_iter, nested_shape, context.config)) - } else { - try_opt!(format_item_list( - items.into_iter(), - nested_shape, - context.config, - )) - }; - - match path_str { - Some(path_str) => { - Some(if context.config.spaces_within_parens() { - format!("{}( {} )", path_str, list) - } else { - format!("{}({})", path_str, list) - }) - } - None => { - let comma = if add_comma { "," } else { "" }; - Some(if context.config.spaces_within_parens() { - format!("( {}{} )", list, comma) - } else { - format!("({}{})", list, comma) - }) - } - } -} - -fn count_wildcard_suffix_len(items: &[ListItem]) -> usize { - let mut suffix_len = 0; - for item in items.iter().rev().take_while(|i| match i.item { Some(ref internal_string) if internal_string == "_" => true, _ => false, diff --git a/src/types.rs b/src/types.rs index 665eb2ce35e..d725b091983 100644 --- a/src/types.rs +++ b/src/types.rs @@ -689,7 +689,14 @@ impl Rewrite for ast::Ty { format!("[{}]", ty_str) }) } - ast::TyKind::Tup(ref items) => rewrite_tuple(context, items, self.span, shape), + ast::TyKind::Tup(ref items) => { + rewrite_tuple( + context, + &items.iter().map(|x| &**x).collect::<Vec<_>>()[..], + self.span, + shape, + ) + } ast::TyKind::Path(ref q_self, ref path) => { rewrite_path(context, PathContext::Type, q_self.as_ref(), path, shape) } @@ -792,3 +799,10 @@ pub fn join_bounds(context: &RewriteContext, shape: Shape, type_strs: &Vec<Strin result } } + +pub fn can_be_overflowed_type(context: &RewriteContext, ty: &ast::Ty, len: usize) -> bool { + match ty.node { + ast::TyKind::Tup(..) => context.use_block_indent() && len == 1, + _ => false, + } +} From 8a6e9f689b09421b281e0e9dc4f014001097def8 Mon Sep 17 00:00:00 2001 From: topecongiro <seuchida@gmail.com> Date: Thu, 15 Jun 2017 16:26:41 +0900 Subject: [PATCH 2/3] Format source codes --- src/items.rs | 16 +++++++++------- src/types.rs | 26 +++++++++++++------------- src/utils.rs | 1 + 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/items.rs b/src/items.rs index a660f287a5b..7a2d3048ff0 100644 --- a/src/items.rs +++ b/src/items.rs @@ -684,13 +684,15 @@ fn format_impl_ref_and_type( item: &ast::Item, offset: Indent, ) -> Option<String> { - if let ast::ItemKind::Impl(unsafety, - polarity, - _, - ref generics, - ref trait_ref, - ref self_ty, - _) = item.node + if let ast::ItemKind::Impl( + unsafety, + polarity, + _, + ref generics, + ref trait_ref, + ref self_ty, + _, + ) = item.node { let mut result = String::new(); diff --git a/src/types.rs b/src/types.rs index d725b091983..edeeb1e3b72 100644 --- a/src/types.rs +++ b/src/types.rs @@ -371,11 +371,11 @@ impl Rewrite for ast::WherePredicate { // TODO: dead spans? let result = match *self { ast::WherePredicate::BoundPredicate(ast::WhereBoundPredicate { - ref bound_lifetimes, - ref bounded_ty, - ref bounds, - .. - }) => { + ref bound_lifetimes, + ref bounded_ty, + ref bounds, + .. + }) => { let type_str = try_opt!(bounded_ty.rewrite(context, shape)); let colon = type_bound_colon(context); @@ -428,10 +428,10 @@ impl Rewrite for ast::WherePredicate { } } ast::WherePredicate::RegionPredicate(ast::WhereRegionPredicate { - ref lifetime, - ref bounds, - .. - }) => { + ref lifetime, + ref bounds, + .. + }) => { try_opt!(rewrite_bounded_lifetime( lifetime, bounds.iter(), @@ -440,10 +440,10 @@ impl Rewrite for ast::WherePredicate { )) } ast::WherePredicate::EqPredicate(ast::WhereEqPredicate { - ref lhs_ty, - ref rhs_ty, - .. - }) => { + ref lhs_ty, + ref rhs_ty, + .. + }) => { let lhs_ty_str = try_opt!(lhs_ty.rewrite(context, shape)); // 3 = " = ".len() let used_width = 3 + lhs_ty_str.len(); diff --git a/src/utils.rs b/src/utils.rs index 0d1b32570c8..c432df301df 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -99,6 +99,7 @@ pub fn last_line_width(s: &str) -> usize { None => s.len(), } } + #[inline] pub fn trimmed_last_line_width(s: &str) -> usize { match s.rfind('\n') { From de10113c748825750b421e4ec5e0fe5aaf1d65ec Mon Sep 17 00:00:00 2001 From: topecongiro <seuchida@gmail.com> Date: Thu, 15 Jun 2017 16:26:46 +0900 Subject: [PATCH 3/3] Update tests Add more patterns and types --- src/patterns.rs | 1 + src/types.rs | 3 +++ tests/target/closure.rs | 26 ++++++++++---------- tests/target/expr.rs | 24 +++++++++++-------- tests/target/hard-tabs.rs | 6 +++-- tests/target/issue-1021.rs | 28 ++++++++++++++-------- tests/target/issue-913.rs | 6 +++-- tests/target/match.rs | 10 ++++---- tests/target/pattern-condense-wildcards.rs | 12 ++++++---- tests/target/pattern.rs | 5 ++-- 10 files changed, 74 insertions(+), 47 deletions(-) diff --git a/src/patterns.rs b/src/patterns.rs index 88d63af2298..3ca8aa52455 100644 --- a/src/patterns.rs +++ b/src/patterns.rs @@ -265,6 +265,7 @@ pub fn can_be_overflowed_pat(context: &RewriteContext, pat: &TuplePatField, len: match pat { &TuplePatField::Pat(ref pat) => { match pat.node { + ast::PatKind::Path(..) | ast::PatKind::Tuple(..) | ast::PatKind::Struct(..) => context.use_block_indent() && len == 1, ast::PatKind::Ref(ref p, _) | diff --git a/src/types.rs b/src/types.rs index edeeb1e3b72..57a7b301f54 100644 --- a/src/types.rs +++ b/src/types.rs @@ -802,7 +802,10 @@ pub fn join_bounds(context: &RewriteContext, shape: Shape, type_strs: &Vec<Strin pub fn can_be_overflowed_type(context: &RewriteContext, ty: &ast::Ty, len: usize) -> bool { match ty.node { + ast::TyKind::Path(..) | ast::TyKind::Tup(..) => context.use_block_indent() && len == 1, + ast::TyKind::Rptr(_, ref mutty) | + ast::TyKind::Ptr(ref mutty) => can_be_overflowed_type(context, &*mutty.ty, len), _ => false, } } diff --git a/tests/target/closure.rs b/tests/target/closure.rs index 4f35a7b413a..47d8c6bf166 100644 --- a/tests/target/closure.rs +++ b/tests/target/closure.rs @@ -128,18 +128,20 @@ fn issue470() { { { { - let explicit_arg_decls = explicit_arguments.into_iter().enumerate().map(|(index, - (ty, - pattern))| { - let lvalue = Lvalue::Arg(index as u32); - block = this.pattern( - block, - argument_extent, - hair::PatternRef::Hair(pattern), - &lvalue, - ); - ArgDecl { ty: ty } - }); + let explicit_arg_decls = + explicit_arguments.into_iter().enumerate().map(|( + index, + (ty, pattern), + )| { + let lvalue = Lvalue::Arg(index as u32); + block = this.pattern( + block, + argument_extent, + hair::PatternRef::Hair(pattern), + &lvalue, + ); + ArgDecl { ty: ty } + }); } } } diff --git a/tests/target/expr.rs b/tests/target/expr.rs index 3b17aee5a78..7741939df45 100644 --- a/tests/target/expr.rs +++ b/tests/target/expr.rs @@ -52,18 +52,22 @@ fn foo() -> bool { aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {} - if let (some_very_large, - tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) = 1 + 2 + 3 - { - } - - if let (some_very_large, - tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) = - 1111 + 2222 + if let ( + some_very_large, + tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple, + ) = 1 + 2 + 3 {} - if let (some_very_large, - tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) = 1 + 2 + 3 + if let ( + some_very_large, + tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple, + ) = 1111 + 2222 + {} + + if let ( + some_very_large, + tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple, + ) = 1 + 2 + 3 {} let test = if true { 5 } else { 3 }; diff --git a/tests/target/hard-tabs.rs b/tests/target/hard-tabs.rs index 48c72afd055..68919b1039c 100644 --- a/tests/target/hard-tabs.rs +++ b/tests/target/hard-tabs.rs @@ -21,8 +21,10 @@ fn main() { let str = "AAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAa"; - if let (some_very_large, - tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) = 1 + 2 + 3 + if let ( + some_very_large, + tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple, + ) = 1 + 2 + 3 {} if cond() { diff --git a/tests/target/issue-1021.rs b/tests/target/issue-1021.rs index cc85aa73cae..70347407346 100644 --- a/tests/target/issue-1021.rs +++ b/tests/target/issue-1021.rs @@ -6,11 +6,15 @@ fn main() { S(.., true) => (), S(..) => (), S(_) => (), - S(// .. - ..) => (), - S(// .. - .., - true) => (), + S( + // .. + .. + ) => (), + S( + // .. + .., + true, + ) => (), } match y { @@ -19,10 +23,14 @@ fn main() { (.., true) => (), (..) => (), (_,) => (), - (// .. - ..) => (), - (// .. - .., - true) => (), + ( + // .. + .. + ) => (), + ( + // .. + .., + true, + ) => (), } } diff --git a/tests/target/issue-913.rs b/tests/target/issue-913.rs index 98f766e7310..1bfd1cd0041 100644 --- a/tests/target/issue-913.rs +++ b/tests/target/issue-913.rs @@ -10,11 +10,13 @@ mod client { }; let next_state = match self.state { - State::V5(v5::State::Command(v5::comand::State::WriteVersion(ref mut response))) => { + State::V5( + v5::State::Command(v5::comand::State::WriteVersion(ref mut response)), + ) => { // The pattern cannot be formatted in a way that the match stays // within the column limit. The rewrite should therefore be // skipped. - let x = dont . reformat . meeee(); + let x = dont.reformat.meeee(); } }; } diff --git a/tests/target/match.rs b/tests/target/match.rs index 040fbf155a4..d47e94b6464 100644 --- a/tests/target/match.rs +++ b/tests/target/match.rs @@ -262,10 +262,12 @@ fn issue507() { fn issue508() { match s.type_id() { - Some(NodeTypeId::Element(ElementTypeId::HTMLElement( - HTMLElementTypeId::HTMLCanvasElement))) => true, - Some(NodeTypeId::Element(ElementTypeId::HTMLElement( - HTMLElementTypeId::HTMLObjectElement))) => s.has_object_data(), + Some( + NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLCanvasElement)), + ) => true, + Some( + NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLObjectElement)), + ) => s.has_object_data(), Some(NodeTypeId::Element(_)) => false, } } diff --git a/tests/target/pattern-condense-wildcards.rs b/tests/target/pattern-condense-wildcards.rs index acc41b73e18..9f630f6dada 100644 --- a/tests/target/pattern-condense-wildcards.rs +++ b/tests/target/pattern-condense-wildcards.rs @@ -7,10 +7,12 @@ fn main() { Tup(_) => "nah", Quad(_, _, x, _) => " also no rewrite", Quad(x, ..) => "condense me pls", - Weird(x, - _, - _, - // dont condense before - ..) => "pls work", + Weird( + x, + _, + _, + // dont condense before + .. + ) => "pls work", } } diff --git a/tests/target/pattern.rs b/tests/target/pattern.rs index f0cc1c16e14..39a8408a630 100644 --- a/tests/target/pattern.rs +++ b/tests/target/pattern.rs @@ -47,8 +47,9 @@ fn main() { impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> { fn mutate_fragment(&mut self, fragment: &mut Fragment) { match **info { - GeneratedContentInfo::ContentItem(ContentItem::Counter(ref counter_name, - counter_style)) => {} + GeneratedContentInfo::ContentItem( + ContentItem::Counter(ref counter_name, counter_style), + ) => {} } } }