From eeb775e5120c4a18bdd3ee92307d186f0835d545 Mon Sep 17 00:00:00 2001 From: WhizSid Date: Sun, 11 Oct 2020 03:29:39 +0530 Subject: [PATCH 1/6] Test cases and get spans --- src/formatting/types.rs | 30 +++++++++++++++++++++++++++++- tests/source/issue-4243.rs | 12 ++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 tests/source/issue-4243.rs diff --git a/src/formatting/types.rs b/src/formatting/types.rs index b4ead894f2f..27b799a3bf0 100644 --- a/src/formatting/types.rs +++ b/src/formatting/types.rs @@ -6,6 +6,7 @@ use rustc_span::{symbol::kw, BytePos, Span}; use crate::config::{lists::*, IndentStyle, TypeDensity}; use crate::formatting::{ + comment::recover_missing_comment_in_span, expr::{ format_expr, rewrite_assign_rhs, rewrite_call, rewrite_tuple, rewrite_unary_prefix, ExprType, @@ -851,9 +852,36 @@ fn join_bounds( TypeDensity::Compressed => "+", TypeDensity::Wide => " + ", }; + + let trailing_spans = items.iter().enumerate().map(|(i, item)| { + if i < items.len() - 1 { + let hi = context + .snippet_provider + .span_before(mk_sp(items[i + 1].span().lo(), item.span().hi()), "+"); + + Some(mk_sp(item.span().hi(), hi)) + } else { + None + } + }); + + let leading_spans = items.iter().enumerate().map(|(i, item)| { + if i > 0 { + let lo = context + .snippet_provider + .span_after(mk_sp(items[i - 1].span().hi(), item.span().lo()), "+"); + + Some(mk_sp(lo, item.span().lo())) + } else { + None + } + }); + let type_strs = items .iter() - .map(|item| item.rewrite(context, shape)) + .zip(leading_spans.clone()) + .zip(trailing_spans.clone()) + .map(|((item, ld), trl)| item.rewrite(context, shape)) .collect::>>()?; let result = type_strs.join(joiner); if items.len() <= 1 || (!result.contains('\n') && result.len() <= shape.width) { diff --git a/tests/source/issue-4243.rs b/tests/source/issue-4243.rs new file mode 100644 index 00000000000..52d154d1f1e --- /dev/null +++ b/tests/source/issue-4243.rs @@ -0,0 +1,12 @@ +fn main() { + type A : AA /*AA*/ + /*AB*/ AB + AC; + + type B : BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB + BC; + + type C: CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + CB + CC; +} From 7a6aa64ba6afc7070b440f6ea7de727da213d32e Mon Sep 17 00:00:00 2001 From: WhizSid Date: Thu, 15 Oct 2020 22:34:24 +0530 Subject: [PATCH 2/6] Fixed type bounds --- src/formatting/types.rs | 195 ++++++++++++++++++++++++------------- src/formatting/utils.rs | 2 +- tests/target/issue-4243.rs | 23 +++++ 3 files changed, 150 insertions(+), 70 deletions(-) create mode 100644 tests/target/issue-4243.rs diff --git a/src/formatting/types.rs b/src/formatting/types.rs index 27b799a3bf0..5c49c3b2929 100644 --- a/src/formatting/types.rs +++ b/src/formatting/types.rs @@ -6,7 +6,7 @@ use rustc_span::{symbol::kw, BytePos, Span}; use crate::config::{lists::*, IndentStyle, TypeDensity}; use crate::formatting::{ - comment::recover_missing_comment_in_span, + comment::{combine_strs_with_missing_comments, contains_comment}, expr::{ format_expr, rewrite_assign_rhs, rewrite_call, rewrite_tuple, rewrite_unary_prefix, ExprType, @@ -21,7 +21,7 @@ use crate::formatting::{ spanned::Spanned, utils::{ colon_spaces, extra_offset, first_line_width, format_extern, format_mutability, - format_unsafety, last_line_extendable, last_line_width, mk_sp, rewrite_ident, + format_unsafety, is_valid_str, last_line_extendable, last_line_width, mk_sp, rewrite_ident, }, }; @@ -844,85 +844,142 @@ fn join_bounds( shape: Shape, items: &[ast::GenericBound], need_indent: bool, +) -> Option { + join_bounds_inner(context, shape, items, need_indent, false) +} + +fn join_bounds_inner( + context: &RewriteContext<'_>, + shape: Shape, + items: &[ast::GenericBound], + need_indent: bool, + force_newline: bool, ) -> Option { debug_assert!(!items.is_empty()); - // Try to join types in a single line - let joiner = match context.config.type_punctuation_density() { - TypeDensity::Compressed => "+", - TypeDensity::Wide => " + ", + let generic_bounds_in_order = is_generic_bounds_in_order(items); + + let is_bound_extendable = |s: &str, b: &ast::GenericBound| match b { + ast::GenericBound::Outlives(..) => true, + ast::GenericBound::Trait(..) => last_line_extendable(s), }; - let trailing_spans = items.iter().enumerate().map(|(i, item)| { - if i < items.len() - 1 { - let hi = context - .snippet_provider - .span_before(mk_sp(items[i + 1].span().lo(), item.span().hi()), "+"); + let result = items.iter().enumerate().try_fold( + (String::new(), None, false), + |(strs, prev_trailing_span, prev_extendable), (i, item)| { + let trailing_span = if i < items.len() - 1 { + let hi = context + .snippet_provider + .span_before(mk_sp(items[i + 1].span().lo(), item.span().hi()), "+"); - Some(mk_sp(item.span().hi(), hi)) - } else { - None - } - }); + Some(mk_sp(item.span().hi(), hi)) + } else { + None + }; - let leading_spans = items.iter().enumerate().map(|(i, item)| { - if i > 0 { - let lo = context - .snippet_provider - .span_after(mk_sp(items[i - 1].span().hi(), item.span().lo()), "+"); + let (leading_span, leading_comment) = if i > 0 { + let lo = context + .snippet_provider + .span_after(mk_sp(items[i - 1].span().hi(), item.span().lo()), "+"); - Some(mk_sp(lo, item.span().lo())) - } else { - None - } - }); + let span = mk_sp(lo, item.span().lo()); - let type_strs = items - .iter() - .zip(leading_spans.clone()) - .zip(trailing_spans.clone()) - .map(|((item, ld), trl)| item.rewrite(context, shape)) - .collect::>>()?; - let result = type_strs.join(joiner); - if items.len() <= 1 || (!result.contains('\n') && result.len() <= shape.width) { - return Some(result); - } + let has_comments = contains_comment(context.snippet(span)); - // We need to use multiple lines. - let (type_strs, offset) = if need_indent { - // Rewrite with additional indentation. - let nested_shape = shape - .block_indent(context.config.tab_spaces()) - .with_max_width(context.config); - let type_strs = items - .iter() - .map(|item| item.rewrite(context, nested_shape)) - .collect::>>()?; - (type_strs, nested_shape.indent) - } else { - (type_strs, shape.indent) - }; + (Some(mk_sp(lo, item.span().lo())), has_comments) + } else { + (None, false) + }; - let is_bound_extendable = |s: &str, b: &ast::GenericBound| match b { - ast::GenericBound::Outlives(..) => true, - ast::GenericBound::Trait(..) => last_line_extendable(s), - }; - let mut result = String::with_capacity(128); - result.push_str(&type_strs[0]); - let mut can_be_put_on_the_same_line = is_bound_extendable(&result, &items[0]); - let generic_bounds_in_order = is_generic_bounds_in_order(items); - for (bound, bound_str) in items[1..].iter().zip(type_strs[1..].iter()) { - if generic_bounds_in_order && can_be_put_on_the_same_line { - result.push_str(joiner); - } else { - result.push_str(&offset.to_string_with_newline(context.config)); - result.push_str("+ "); - } - result.push_str(bound_str); - can_be_put_on_the_same_line = is_bound_extendable(bound_str, bound); - } + let prev_trailing_comment = match prev_trailing_span { + Some(ts) => contains_comment(context.snippet(ts)), + _ => false, + }; - Some(result) + let shape = if i > 0 && need_indent && force_newline { + shape + .block_indent(context.config.tab_spaces()) + .with_max_width(context.config) + } else { + shape + }; + + let whitespace = if force_newline && (!prev_extendable || !generic_bounds_in_order) { + shape + .indent + .to_string_with_newline(context.config) + .to_string() + } else { + String::from(" ") + }; + + let joiner = match context.config.type_punctuation_density() { + TypeDensity::Compressed => String::from("+"), + TypeDensity::Wide => whitespace + "+ ", + }; + + let joiner = if leading_comment { + joiner.trim_end() + } else { + &joiner + }; + + let joiner = if prev_trailing_comment { + joiner.trim_start() + } else { + joiner + }; + + let (trailing_str, extendable) = if i == 0 { + let bound_str = item.rewrite(context, shape)?; + + let bound_str_clone = bound_str.clone(); + + (bound_str, is_bound_extendable(&bound_str_clone, item)) + } else { + let bound_str = &item.rewrite(context, shape)?; + + match leading_span { + Some(ls) if leading_comment => ( + combine_strs_with_missing_comments( + context, joiner, bound_str, ls, shape, true, + )?, + is_bound_extendable(bound_str, item), + ), + _ => ( + String::from(joiner) + bound_str, + is_bound_extendable(bound_str, item), + ), + } + }; + + match prev_trailing_span { + Some(ts) if prev_trailing_comment => combine_strs_with_missing_comments( + context, + &strs, + &trailing_str, + ts, + shape, + true, + ) + .map(|v| (v, trailing_span, extendable)), + _ => Some(( + String::from(strs) + &trailing_str, + trailing_span, + extendable, + )), + } + }, + )?; + + if !force_newline + && items.len() > 1 + && (!is_valid_str(&result.0, shape.width, shape) || result.0.len() > shape.width) + { + join_bounds_inner(context, shape, items, need_indent, true) + } else { + Some(result.0) + } } pub(crate) fn can_be_overflowed_type( diff --git a/src/formatting/utils.rs b/src/formatting/utils.rs index f3484020b05..124170e6947 100644 --- a/src/formatting/utils.rs +++ b/src/formatting/utils.rs @@ -404,7 +404,7 @@ pub(crate) fn wrap_str(s: String, max_width: usize, shape: Shape) -> Option bool { +pub(crate) fn is_valid_str(snippet: &str, max_width: usize, shape: Shape) -> bool { if !snippet.is_empty() { // First line must fits with `shape.width`. if first_line_width(snippet) > shape.width { diff --git a/tests/target/issue-4243.rs b/tests/target/issue-4243.rs new file mode 100644 index 00000000000..6b2b1481b13 --- /dev/null +++ b/tests/target/issue-4243.rs @@ -0,0 +1,23 @@ +fn main() { + type A: AA /*AA*/ + /*AB*/ AB + AC = impl AA /*AA*/ + /*AB*/ AB + AC; + + type B: BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB + + BC = impl BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB + + BC; + + type C: CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + CB + + CC = impl CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + CB + + CC; +} From 8a66a94412eec8d503f88ab3cc9ca7cd66b71058 Mon Sep 17 00:00:00 2001 From: WhizSid Date: Thu, 15 Oct 2020 23:05:12 +0530 Subject: [PATCH 3/6] Fixed issue of test cases --- tests/source/issue-4243.rs | 23 ++++++++++++++++------- tests/target/issue-4243.rs | 10 +++++++--- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/tests/source/issue-4243.rs b/tests/source/issue-4243.rs index 52d154d1f1e..d8a27f7a4a4 100644 --- a/tests/source/issue-4243.rs +++ b/tests/source/issue-4243.rs @@ -1,12 +1,21 @@ fn main() { - type A : AA /*AA*/ + /*AB*/ AB + AC; + type A: AA /*AA*/ + /*AB*/ AB ++ AC = AA +/*AA*/ + + /*AB*/ AB+AC; - type B : BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB + BC; + type B: BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/+/*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB + + BC = BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB+ BC; - type C: CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - + - // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + type C: CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +// CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB - CB + CC; + CB + CC = CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + CB+ CC; } diff --git a/tests/target/issue-4243.rs b/tests/target/issue-4243.rs index 6b2b1481b13..810f533bde0 100644 --- a/tests/target/issue-4243.rs +++ b/tests/target/issue-4243.rs @@ -1,9 +1,13 @@ fn main() { - type A: AA /*AA*/ + /*AB*/ AB + AC = impl AA /*AA*/ + /*AB*/ AB + AC; + type A: AA /*AA*/ + /*AB*/ AB + AC = AA + /*AA*/ + + + /*AB*/ + AB + AC; type B: BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB - + BC = impl BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + + BC = BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB + BC; @@ -13,7 +17,7 @@ fn main() { // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB CB - + CC = impl CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + CC = CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB From 0d7127dd141aaecedde568145ff1f9a837084c6c Mon Sep 17 00:00:00 2001 From: WhizSid Date: Fri, 16 Oct 2020 04:03:36 +0530 Subject: [PATCH 4/6] Fixed first test case issue --- src/formatting/types.rs | 16 ++++++++-------- src/formatting/utils.rs | 2 +- tests/target/issue-4243.rs | 9 +++++---- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/formatting/types.rs b/src/formatting/types.rs index 5c49c3b2929..b9cf0f54498 100644 --- a/src/formatting/types.rs +++ b/src/formatting/types.rs @@ -21,7 +21,7 @@ use crate::formatting::{ spanned::Spanned, utils::{ colon_spaces, extra_offset, first_line_width, format_extern, format_mutability, - format_unsafety, is_valid_str, last_line_extendable, last_line_width, mk_sp, rewrite_ident, + format_unsafety, last_line_extendable, last_line_width, mk_sp, rewrite_ident, }, }; @@ -877,7 +877,7 @@ fn join_bounds_inner( None }; - let (leading_span, leading_comment) = if i > 0 { + let (leading_span, has_leading_comment) = if i > 0 { let lo = context .snippet_provider .span_after(mk_sp(items[i - 1].span().hi(), item.span().lo()), "+"); @@ -891,7 +891,7 @@ fn join_bounds_inner( (None, false) }; - let prev_trailing_comment = match prev_trailing_span { + let prev_has_trailing_comment = match prev_trailing_span { Some(ts) => contains_comment(context.snippet(ts)), _ => false, }; @@ -918,13 +918,13 @@ fn join_bounds_inner( TypeDensity::Wide => whitespace + "+ ", }; - let joiner = if leading_comment { + let joiner = if has_leading_comment { joiner.trim_end() } else { &joiner }; - let joiner = if prev_trailing_comment { + let joiner = if prev_has_trailing_comment { joiner.trim_start() } else { joiner @@ -940,7 +940,7 @@ fn join_bounds_inner( let bound_str = &item.rewrite(context, shape)?; match leading_span { - Some(ls) if leading_comment => ( + Some(ls) if has_leading_comment => ( combine_strs_with_missing_comments( context, joiner, bound_str, ls, shape, true, )?, @@ -954,7 +954,7 @@ fn join_bounds_inner( }; match prev_trailing_span { - Some(ts) if prev_trailing_comment => combine_strs_with_missing_comments( + Some(ts) if prev_has_trailing_comment => combine_strs_with_missing_comments( context, &strs, &trailing_str, @@ -974,7 +974,7 @@ fn join_bounds_inner( if !force_newline && items.len() > 1 - && (!is_valid_str(&result.0, shape.width, shape) || result.0.len() > shape.width) + && (result.0.contains('\n') || result.0.len() > shape.width) { join_bounds_inner(context, shape, items, need_indent, true) } else { diff --git a/src/formatting/utils.rs b/src/formatting/utils.rs index 124170e6947..f3484020b05 100644 --- a/src/formatting/utils.rs +++ b/src/formatting/utils.rs @@ -404,7 +404,7 @@ pub(crate) fn wrap_str(s: String, max_width: usize, shape: Shape) -> Option bool { +fn is_valid_str(snippet: &str, max_width: usize, shape: Shape) -> bool { if !snippet.is_empty() { // First line must fits with `shape.width`. if first_line_width(snippet) > shape.width { diff --git a/tests/target/issue-4243.rs b/tests/target/issue-4243.rs index 810f533bde0..67fa1d2a312 100644 --- a/tests/target/issue-4243.rs +++ b/tests/target/issue-4243.rs @@ -1,9 +1,10 @@ fn main() { type A: AA /*AA*/ + /*AB*/ AB + AC = AA - /*AA*/ - + - /*AB*/ - AB + AC; + /*AA*/ + + + /*AB*/ + AB + + AC; type B: BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB From ec62b30f3cf84d863a2c70eb903632fcd71aac92 Mon Sep 17 00:00:00 2001 From: WhizSid Date: Fri, 16 Oct 2020 04:04:59 +0530 Subject: [PATCH 5/6] Removed unwanted whitespaces --- src/formatting/types.rs | 10 ---------- tmp/test.rs | 29 +++++++++++++++++++++++++++++ tmp/test1.rs | 9 +++++++++ 3 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 tmp/test.rs create mode 100644 tmp/test1.rs diff --git a/src/formatting/types.rs b/src/formatting/types.rs index b9cf0f54498..6d8e1445ac1 100644 --- a/src/formatting/types.rs +++ b/src/formatting/types.rs @@ -858,7 +858,6 @@ fn join_bounds_inner( debug_assert!(!items.is_empty()); let generic_bounds_in_order = is_generic_bounds_in_order(items); - let is_bound_extendable = |s: &str, b: &ast::GenericBound| match b { ast::GenericBound::Outlives(..) => true, ast::GenericBound::Trait(..) => last_line_extendable(s), @@ -876,7 +875,6 @@ fn join_bounds_inner( } else { None }; - let (leading_span, has_leading_comment) = if i > 0 { let lo = context .snippet_provider @@ -890,7 +888,6 @@ fn join_bounds_inner( } else { (None, false) }; - let prev_has_trailing_comment = match prev_trailing_span { Some(ts) => contains_comment(context.snippet(ts)), _ => false, @@ -903,7 +900,6 @@ fn join_bounds_inner( } else { shape }; - let whitespace = if force_newline && (!prev_extendable || !generic_bounds_in_order) { shape .indent @@ -917,13 +913,11 @@ fn join_bounds_inner( TypeDensity::Compressed => String::from("+"), TypeDensity::Wide => whitespace + "+ ", }; - let joiner = if has_leading_comment { joiner.trim_end() } else { &joiner }; - let joiner = if prev_has_trailing_comment { joiner.trim_start() } else { @@ -932,13 +926,10 @@ fn join_bounds_inner( let (trailing_str, extendable) = if i == 0 { let bound_str = item.rewrite(context, shape)?; - let bound_str_clone = bound_str.clone(); - (bound_str, is_bound_extendable(&bound_str_clone, item)) } else { let bound_str = &item.rewrite(context, shape)?; - match leading_span { Some(ls) if has_leading_comment => ( combine_strs_with_missing_comments( @@ -952,7 +943,6 @@ fn join_bounds_inner( ), } }; - match prev_trailing_span { Some(ts) if prev_has_trailing_comment => combine_strs_with_missing_comments( context, diff --git a/tmp/test.rs b/tmp/test.rs new file mode 100644 index 00000000000..f9222c91fe8 --- /dev/null +++ b/tmp/test.rs @@ -0,0 +1,29 @@ +fn main() { + type A: AA /*AA*/ + /*AB*/ AB + + AC = AA + /*AA*/ + + + /*AB*/ + AB + + AC; + + type B: BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB + + BC = BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ + + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB + + BC; + + type C: CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + CB + + CC = CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + CB + + CC; +} diff --git a/tmp/test1.rs b/tmp/test1.rs new file mode 100644 index 00000000000..16f68b7cf1b --- /dev/null +++ b/tmp/test1.rs @@ -0,0 +1,9 @@ +type C: AAAAAA+AAAAA+AAAAA+AAAAAAA + BBBBBB+BBBBBBBBBB+BBBBBB+BBBBBB + CCCCCCCC +// A comment ++ +// A comment +CCCCCCCCCC+CCCCCCC+CCCCCCCCC = AAA+AA+AAAA+AAAA+AAAAA+AAA +// A comment ++AAAA + +// A comment +BBBB+BBBBB+BBBBB+BBBBB+BBB+BBB + CCCC+CCCC+CCCC+CCCCC+CCCCCC+CCCCC+CCCCCC; From 2d8203bb3ab1bbc532944a181bba5a8ca3a86f14 Mon Sep 17 00:00:00 2001 From: WhizSid Date: Fri, 16 Oct 2020 04:06:15 +0530 Subject: [PATCH 6/6] Removed tmp files --- tmp/test.rs | 29 ----------------------------- tmp/test1.rs | 9 --------- 2 files changed, 38 deletions(-) delete mode 100644 tmp/test.rs delete mode 100644 tmp/test1.rs diff --git a/tmp/test.rs b/tmp/test.rs deleted file mode 100644 index f9222c91fe8..00000000000 --- a/tmp/test.rs +++ /dev/null @@ -1,29 +0,0 @@ -fn main() { - type A: AA /*AA*/ + /*AB*/ AB - + AC = AA - /*AA*/ - + - /*AB*/ - AB - + AC; - - type B: BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ - + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB - + BC = BA /*BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*/ - + /*BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB*/ BB - + BC; - - type C: CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - + - // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB - // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB - CB - + CC = CA // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - // CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - + - // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB - // CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB - CB - + CC; -} diff --git a/tmp/test1.rs b/tmp/test1.rs deleted file mode 100644 index 16f68b7cf1b..00000000000 --- a/tmp/test1.rs +++ /dev/null @@ -1,9 +0,0 @@ -type C: AAAAAA+AAAAA+AAAAA+AAAAAAA + BBBBBB+BBBBBBBBBB+BBBBBB+BBBBBB + CCCCCCCC -// A comment -+ -// A comment -CCCCCCCCCC+CCCCCCC+CCCCCCCCC = AAA+AA+AAAA+AAAA+AAAAA+AAA -// A comment -+AAAA + -// A comment -BBBB+BBBBB+BBBBB+BBBBB+BBB+BBB + CCCC+CCCC+CCCC+CCCCC+CCCCCC+CCCCC+CCCCCC;