Skip to content

Commit

Permalink
Prevent trailing whitespace in where clause bound predicate
Browse files Browse the repository at this point in the history
resolves 5012
resolves 4850

This behavior was noticed when using the ``trailing_comma = "Never"``
configuration option (5012).

This behavior was also noticed when using default configurations (4850).

rustfmt would add a trailing space to where clause bounds that had an
empty right hand side.

Now no trailing space is added to the end of these where clause bounds.
  • Loading branch information
ytmimi authored and calebcartwright committed Oct 31, 2021
1 parent a4d7011 commit 5ce82e1
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/expr.rs
Expand Up @@ -1962,6 +1962,9 @@ fn choose_rhs<R: Rewrite>(
has_rhs_comment: bool,
) -> Option<String> {
match orig_rhs {
Some(ref new_str) if new_str.is_empty() => {
return Some(String::new());
}
Some(ref new_str)
if !new_str.contains('\n') && unicode_str_width(new_str) <= shape.width =>
{
Expand Down
8 changes: 8 additions & 0 deletions tests/target/issue-5012/trailing_comma_always.rs
@@ -0,0 +1,8 @@
// rustfmt-trailing_comma: Always

pub struct Matrix<T, const R: usize, const C: usize,>
where
[T; R * C]:,
{
contents: [T; R * C],
}
8 changes: 8 additions & 0 deletions tests/target/issue-5012/trailing_comma_never.rs
@@ -0,0 +1,8 @@
// rustfmt-trailing_comma: Never

pub struct Matrix<T, const R: usize, const C: usize>
where
[T; R * C]:
{
contents: [T; R * C]
}
4 changes: 4 additions & 0 deletions tests/target/issue_4850.rs
@@ -0,0 +1,4 @@
impl ThisIsALongStructNameToPushTheWhereToWrapLolololol where
[(); this_is_a_long_const_function_name()]:
{
}

0 comments on commit 5ce82e1

Please sign in to comment.