github rust-lang/rustfmt v1.4.38

latest releases: v1.7.0, v1.6.0, v1.5.3...
3 years ago

Changed

Fixed

  • Resolved issue where specious whitespace would be inserted when a block style comment was terminated within string literal processing #4312
  • Nested out-of-line mods are again parsed and formatted #4874
  • Accepts 2021 for edition value from rustfmt command line PR #4847
  • Unstable command line options are no longer displayed in --help text on stable PR #4798
  • Stopped panicking on patterns in match arms which start with non-ascii characters #4868
  • Stopped stripping defaults on const params #4816
  • Fixed issue with dropped content with GAT aliases with self bounds in impls #4911
  • Stopped removing generic args on associated type constraints #4943
  • Stopped dropping visibility on certain trait and impl items #4960
  • Fixed dropping of qualified paths in struct patterns #4908 and #5005
  • Fixed bug in line width calculation that was causing specious formatting of certain patterns #4031
    • Note that this bug fix may cause observable formatting changes in cases where code had been formatted with prior versions of rustfmt that contained the bug
  • Fixed bug where rustfmt would drop parameter attributes if they were too long in certain cases #4579
  • Resolved idempotency issue with extern body elements #4963
  • rustfmt will now handle doc-style comments on function parameters, since they could appear with certain macro usage patterns even though it's generally invalid syntax #4936
  • Fixed bug in match_block_trailing_comma where commas were not added to the blocks of bodies whose arm had a guard that did not fit on the same line as the pattern #4998
  • Fixed bug in cases where derive attributes started with a block style comment #4984
  • Fixed issue where the struct rest could be lost when struct_field_align_threshold was enabled #4926
  • Handles cases where certain control flow type expressions have comments between patterns/keywords and the pattern ident contains the keyword #5009
  • Handles tuple structs that have explicit visibilities and start with a block style comment #5011
  • Handles leading line-style comments in certain types of macro calls #4615

Added

Note this hit the rustup distributions prior to the v1.4.38 release as part of an out-of-cycle updates, but is listed in this version because the feature was not in the other v1.4.37 releases. See also the use_small_heuristics section on the configuration site for more information
https://rust-lang.github.io/rustfmt/?version=v1.4.38&search=#use_small_heuristics

  • New One variant added to imports_granularity configuration option which can be used to reformat all imports into a single use statement #4669
  • rustfmt will now skip files that are annotated with @generated at the top of the file #3958
  • New configuration option hex_literal_case that allows user to control the casing utilized for hex literals PR #4903

See the section on the configuration site for more information
https://rust-lang.github.io/rustfmt/?version=v1.4.38&search=#hex_literal_case

  • cargo fmt now directly supports the --check flag, which means it's now possible to run cargo fmt --check instead of the more verbose cargo fmt -- --check #3888

Don't miss a new rustfmt release

NewReleases is sending notifications on new releases.