|
2 | 2 |
|
3 | 3 | ## [Unreleased]
|
4 | 4 |
|
5 |
| -### Fixed |
| 5 | +### Changed |
6 | 6 |
|
| 7 | +- Ensure `cargo-fmt` tests are excluded from the root workspace [PR #5043](https://github.com/rust-lang/rustfmt/pull/5043) |
| 8 | +- Address various clippy and rustc warnings |
| 9 | + - [PR #5040](https://github.com/rust-lang/rustfmt/pull/5040) |
| 10 | + - [PR #5135](https://github.com/rust-lang/rustfmt/pull/5135) |
| 11 | + - [PR #5164](https://github.com/rust-lang/rustfmt/pull/5164) |
| 12 | +- Minor parser cleanup [PR #5056](https://github.com/rust-lang/rustfmt/pull/5056) |
| 13 | +- Various README changes |
| 14 | + - [PR #5048](https://github.com/rust-lang/rustfmt/pull/5048) |
| 15 | + - [PR #5110](https://github.com/rust-lang/rustfmt/pull/5110) |
| 16 | + - [PR #5221](https://github.com/rust-lang/rustfmt/pull/5221) |
| 17 | +- Use `RUSTFMT_LOG` env var instead of `RUST_LOG` to configure rustfmt log output [PR #5051](https://github.com/rust-lang/rustfmt/pull/5051) |
| 18 | +- Update IntelliJ Integration documentation [PR #5049](https://github.com/rust-lang/rustfmt/pull/5049) |
| 19 | +- Also apply `empty_item_single_line=true` to trait definitions [#5047](https://github.com/rust-lang/rustfmt/issues/5047) |
| 20 | +- Dedupe and simplify type alias formatting [PR #5068](https://github.com/rust-lang/rustfmt/pull/5068) |
| 21 | +- Dedupe associated item visitation [PR #5069](https://github.com/rust-lang/rustfmt/pull/5069) |
| 22 | +- Dedupe and clean up Impl handling [PR #5087](https://github.com/rust-lang/rustfmt/pull/5087) |
| 23 | +- Update naming conventions for AST structures [PR #5070](https://github.com/rust-lang/rustfmt/pull/5070) |
| 24 | +- Update how the fn params span is calculated to avoid issues with `T: Fn()` bounds [PR #5121](https://github.com/rust-lang/rustfmt/pull/5121) |
| 25 | +- Block indent line breaks for type alias impl traits (TAITs) when `version = "Two"` [#5027](https://github.com/rust-lang/rustfmt/issues/5027) |
| 26 | +- Toggle `CFG_RELEASE_CHANNEL` between `nightly` and `stable` during CI runs to simulate stable and nightly release behavior while testing [PR #5109](https://github.com/rust-lang/rustfmt/pull/5109) |
| 27 | +- Maintain additional AST metadata when formatting a RHS [PR #5113](https://github.com/rust-lang/rustfmt/pull/5113) |
| 28 | +- Utilize `#[nightly_only_test]` to rewrite some tests [PR #5115](https://github.com/rust-lang/rustfmt/pull/5115) |
| 29 | +- Rename `syntux` module to `parse` and encapsulate all parsing touchpoints in the new `parse` module [PR #5143](https://github.com/rust-lang/rustfmt/pull/5143) |
| 30 | +- Reduce some visibilities for updated `unreachable_pub` lint [PR #5155](https://github.com/rust-lang/rustfmt/pull/5155) |
| 31 | +- Change syntax for `TyAlias` where clauses ([1212c94](https://github.com/rust-lang/rustfmt/pull/5268/commits/1212c9477c26335487ff1094a3d7d454c16365b5)) [PR #5268](https://github.com/rust-lang/rustfmt/pull/5268) |
| 32 | +- Pass `Span` to `StructLitField::Rest` by value ([de1ac37](https://github.com/rust-lang/rustfmt/pull/5268/commits/de1ac375f079a9bf7f2aa81c47fa46ecdb32d074)) [PR #5268](https://github.com/rust-lang/rustfmt/pull/5268) |
| 33 | +- Update how the inner module span is derived ([4edb7578](https://github.com/rust-lang/rustfmt/pull/5268/commits/4edb7578261ae0cc547c4346f8c0a82e124ac524)) [PR #5268](https://github.com/rust-lang/rustfmt/pull/5268) |
| 34 | +- Update how the inner crate span is derived ([74876ef4](https://github.com/rust-lang/rustfmt/pull/5268/commits/74876ef4e9b29184787f6d8f3ba447e78def3a47)) [PR #5268](https://github.com/rust-lang/rustfmt/pull/5268) |
| 35 | +- `ast::ModSpans` updated to include `inject_use_span` ([651f4637](https://github.com/rust-lang/rustfmt/pull/5268/commits/651f46376aa6bb259c58cbb3debad6e0edce31bf)) ([ce301d9](https://github.com/rust-lang/rustfmt/pull/5268/commits/ce301d92f12658edf6fe410d39de445270d1420e)) ([003eaf8](https://github.com/rust-lang/rustfmt/pull/5268/commits/003eaf8fe270cb8f6915ed03ad23f4af0212d607)) [PR #5268](https://github.com/rust-lang/rustfmt/pull/5268) |
| 36 | +- Update `itertools` to 0.10.1 ([0be8931](https://github.com/rust-lang/rustfmt/pull/5268/commits/0be893166b2ae94db8a10ea16c3d9465e378c27a)) [PR #5268](https://github.com/rust-lang/rustfmt/pull/5268) |
| 37 | +- Fix test issues and Deny Warnings in CI [PR #5236](https://github.com/rust-lang/rustfmt/pull/5236) |
| 38 | +- Use correct tracking issue link for `skip_children` [PR #5263](https://github.com/rust-lang/rustfmt/pull/5263) |
| 39 | +- Update `rustc_errors::Handler::has_errors` ([c1d351f](https://github.com/rust-lang/rustfmt/pull/5276/commits/c1d351f6eee7f870ce5216e824709dccbdf69dff)) [PR #5276](https://github.com/rust-lang/rustfmt/pull/5276) |
| 40 | +- Take &mut Diagnostic in emit_diagnostic. ([4f89c51](https://github.com/rust-lang/rustfmt/pull/5276/commits/4f89c51a5b3f27f38a7701d5243a80d7c1c44dff)) [PR #5276](https://github.com/rust-lang/rustfmt/pull/5276) |
| 41 | +- Ignore `cargo fmt` test for rust-lang/rust runs [PR #5278](https://github.com/rust-lang/rustfmt/pull/5278) |
| 42 | +- Replace `structopt` dependency with `clap` [PR #5239](https://github.com/rust-lang/rustfmt/pull/5239) |
| 43 | + |
| 44 | +### Fixed |
| 45 | + |
| 46 | +- Fix bare URLs in rustfmt [PR #5043](https://github.com/rust-lang/rustfmt/pull/5043) |
| 47 | +- Retain trailing comments in module when using `#![rustfmt::skip]` [#5033](https://github.com/rust-lang/rustfmt/issues/5033) |
| 48 | +- Remove trailing whitespace when formatting a where clause with an empty right hand side [#5012](https://github.com/rust-lang/rustfmt/issues/5012) [#4850](https://github.com/rust-lang/rustfmt/issues/4850) |
| 49 | +- Fix various typos: [PR #5058](https://github.com/rust-lang/rustfmt/pull/5058) [PR #5276 c0861d3a](https://github.com/rust-lang/rustfmt/pull/5276/commits/c0861d3a9d33d535542bbeb48d35271161c87ebf) |
| 50 | +- Fix various module resolution issues: [#5063](https://github.com/rust-lang/rustfmt/issues/5063) |
| 51 | +- Prevent rustfmt from adding an `impl Trait` definition into types [#5086](https://github.com/rust-lang/rustfmt/issues/5086) |
| 52 | +- Correctly format associated type in macro body [#4823](https://github.com/rust-lang/rustfmt/issues/4823) |
| 53 | +- Fix cases where `normalize_comments=true` would de-normalizes some comments [#4909](https://github.com/rust-lang/rustfmt/issues/4909) |
| 54 | +- Prevent rustfmt from wrapping reference style links [#5095](https://github.com/rust-lang/rustfmt/issues/5095) and [#4933](https://github.com/rust-lang/rustfmt/issues/4933) |
| 55 | +- Prevent rustfmt form always adding a empty comment line when formatting itemized blocks [#5088](https://github.com/rust-lang/rustfmt/issues/5088) |
| 56 | +- Don't format files annotated with inner `#![rustfmt::skip]` attribute [PR #5094](https://github.com/rust-lang/rustfmt/pull/5094) |
| 57 | +- Duplicate comma when struct pattern ends with `..` and `trailing_comma=Always` [#5066](https://github.com/rust-lang/rustfmt/issues/5066) |
| 58 | +- Fix static async closure qualifier order [#5149](https://github.com/rust-lang/rustfmt/issues/5149) |
| 59 | +- Retain qualified path when rewriting struct literal expressions [#5151](https://github.com/rust-lang/rustfmt/issues/5151) |
| 60 | +- Do not flatten match arm block with leading attributes [#4109](https://github.com/rust-lang/rustfmt/issues/4109) |
| 61 | +- Resolve out-of-line module nested within inline module when the top level module, inline module, and out of line directory all share the same name [PR #5142](https://github.com/rust-lang/rustfmt/pull/5142) |
| 62 | +- Backport json emitter and stdin changes [PR #5054](https://github.com/rust-lang/rustfmt/pull/5054) |
| 63 | + - Make `--check` work when running rustfmt with input from stdin [PR #3896](https://github.com/rust-lang/rustfmt/pull/3896) |
| 64 | + - Fix `--check` with the `--files-with-diff` flag [PR #3910](https://github.com/rust-lang/rustfmt/pull/3910) |
| 65 | + - Produce valid JSON when using the JSON emitter [PR #3953](https://github.com/rust-lang/rustfmt/pull/3953) |
| 66 | + - Fix newlines in JSON output [PR #4262](https://github.com/rust-lang/rustfmt/pull/4262) |
| 67 | + - Use `<stdin>` when emitting stdin as filename [PR #4298](https://github.com/rust-lang/rustfmt/pull/4298) |
| 68 | +- Formatting @generated from stdin results in empty output [#5172](https://github.com/rust-lang/rustfmt/issues/5172) |
| 69 | +- Fix formatting of comments in empty structs [#4854](https://github.com/rust-lang/rustfmt/issues/4854) |
| 70 | +- Prevent adding trailing whitespace when rewriting ast::Param [#5125](https://github.com/rust-lang/rustfmt/issues/5125) |
| 71 | +- Prevent panic when `wrap_comments=true` and non-ascii character at comment wrap boundary [#5023](https://github.com/rust-lang/rustfmt/issues/5023) |
| 72 | +- Retain trailing commas in inline post comments [#5042](https://github.com/rust-lang/rustfmt/issues/5042) |
| 73 | +- Fix `import_granularity` option when the use tree has an alias [#5131](https://github.com/rust-lang/rustfmt/issues/5131) |
| 74 | +- Fix Documenting gereric items format error [#5122](https://github.com/rust-lang/rustfmt/issues/5122) |
7 | 75 | - Fixes issue where wrapped strings would be incorrectly indented in macro defs when `format_strings` was enabled [#4036](https://github.com/rust-lang/rustfmt/issues/4036)
|
| 76 | +- Properly format markdown block quotes when `wrap_comments=true` [#5157](https://github.com/rust-lang/rustfmt/issues/5157) |
| 77 | +- Include context about config file errors experienced by calling `get_toml_path()` [#5188](https://github.com/rust-lang/rustfmt/issues/5188) |
| 78 | +- Module resolution will fallback to the current search directory if a relative directory search results in a `FileNotFound` error [#5198](https://github.com/rust-lang/rustfmt/issues/5198) |
| 79 | +- Long markdown headers are no longer wrapped when `wrap_comments=true` [#5238](https://github.com/rust-lang/rustfmt/issues/5238) |
| 80 | +- Trailing comma of struct fields deleted if followed by an empty line [#4791](https://github.com/rust-lang/rustfmt/issues/4791) [#4928](https://github.com/rust-lang/rustfmt/issues/4928) |
| 81 | +- Fix confusing error when a module is found in two places (e.g `x.rs` and `x/mod.rs`) [#5167](https://github.com/rust-lang/rustfmt/issues/5167) |
| 82 | +- Fix `imports_granularity=Module` causes compile error when path contains self [#4681](https://github.com/rust-lang/rustfmt/issues/4681) |
| 83 | +- Fix Const expressions in generic arguments breaks formatting [#5273](https://github.com/rust-lang/rustfmt/issues/5273) |
| 84 | +- Prevent merging derives when using `#[rustfmt::skip::attributes(derive)]` [#5270](https://github.com/rust-lang/rustfmt/issues/5270) |
| 85 | +- Fix rustfmt creates invalid syntax on extern block containing macro call [#5281](https://github.com/rust-lang/rustfmt/issues/5281) |
| 86 | +- Fix struct field formatting with doc comments and inline comments [#5215](https://github.com/rust-lang/rustfmt/issues/5215) |
| 87 | + |
| 88 | +### Added |
| 89 | + |
| 90 | +- Added `One` as a new `group_imports` option to create a single group for all imports [PR #4966](https://github.com/rust-lang/rustfmt/pull/4966) |
| 91 | +- Added `rustdoc` CI check to ensure rustfmt doesn't break `rust-lang` ([PR #87119](https://github.com/rust-lang/rust/pull/87119)) builds [PR #5041](https://github.com/rust-lang/rustfmt/pull/5041) |
| 92 | +- Added link tracking issues for unstable options in Configurations.md [PR #5052](https://github.com/rust-lang/rustfmt/pull/5052) and [PR #5084](https://github.com/rust-lang/rustfmt/pull/5084) |
| 93 | +- Added the `#[nightly_only_test]` and `#[stable_only_test]` macros to improve the ergonomics of tests that can only be run on certain release channels [PR #5112](https://github.com/rust-lang/rustfmt/pull/5112) |
| 94 | +- Support parsing `asm!` args [PR #5156](https://github.com/rust-lang/rustfmt/pull/5156) |
| 95 | +- Support formatting markdown block quotes [PR #5160](https://github.com/rust-lang/rustfmt/pull/5160) |
| 96 | +- Add a utility function for relative span positions [PR #5258](https://github.com/rust-lang/rustfmt/pull/5258) |
| 97 | +- Add short_item_threshold config option [PR #5228](https://github.com/rust-lang/rustfmt/pull/5228) |
| 98 | + |
| 99 | +### Removed |
| 100 | + |
| 101 | +- Remove legacy `rustfmt.toml` [PR #5050](https://github.com/rust-lang/rustfmt/pull/5050) |
| 102 | +- Delete appveyor file [PR #5061](https://github.com/rust-lang/rustfmt/pull/5061) |
| 103 | +- Remove some unecessary uses of `rustc_span::Symbol` and removed unecessary borrows around `Symbol::as_str()` and `Ident::as_str()` [PR#5140](https://github.com/rust-lang/rustfmt/pull/5140) |
| 104 | +- Remove LLVM-style inline assembly from rustfmt [PR #5186](https://github.com/rust-lang/rustfmt/pull/5186) |
| 105 | +- Remove rustfmt executable path from usage string [#5214](https://github.com/rust-lang/rustfmt/issues/5214) |
| 106 | +- Removed non inclusive terms from the rustfmt code base [PR #5298](https://github.com/rust-lang/rustfmt/pull/5298) |
8 | 107 |
|
9 | 108 | ## [1.4.38] 2021-10-20
|
10 | 109 |
|
|
0 commit comments