|
2 | 2 |
|
3 | 3 | ## [Unreleased]
|
4 | 4 |
|
| 5 | +### Fixed |
| 6 | + |
| 7 | +- Sometimes when `format_code_in_doc_comments=true` was set some line comments were converted to block comments [#5533](https://github.com/rust-lang/rustfmt/issues/5533) |
| 8 | +- rustfmt will no longer remove the braces in match arms when the block has a labeled [#5676](https://github.com/rust-lang/rustfmt/issues/5676) |
| 9 | + ```rust |
| 10 | + fn main() { |
| 11 | + match true { |
| 12 | + true => 'a: { |
| 13 | + break 'a |
| 14 | + } |
| 15 | + _ => (), |
| 16 | + } |
| 17 | + } |
| 18 | + ``` |
| 19 | +- Calling methods on float literals ending in `.` will now be wrappen in parenthesis. e.g. `0. .to_string()` will be formatted as `(0.).to_string()` [#5791](https://github.com/rust-lang/rustfmt/issues/5791) |
| 20 | +- Prevent ICE when formatting empty `macro_rules!` branch [#5730](https://github.com/rust-lang/rustfmt/issues/5730) |
| 21 | + ```rust |
| 22 | + macro_rules! statement { |
| 23 | + () => {;}; |
| 24 | + } |
| 25 | + ``` |
| 26 | +- Prevent ICE when formatting `vec!{}` [#5735](https://github.com/rust-lang/rustfmt/issues/5735) |
| 27 | +- Prevent internal trailing whitespace error when formatting an empty `macro_rules!` defintion e.g. `macro_rules! foo {}` [#5882](https://github.com/rust-lang/rustfmt/issues/5882) |
| 28 | +- When formatting doc comments lines that start with `.` or `)` won't be treated as ordered markdown lists if `.` or `)` aren't follwed by a number [#5835](https://github.com/rust-lang/rustfmt/pull/5835) |
| 29 | +- Add parenthesis around closures when they're used as method receives, don't have a block body, and end with `.` [#4808](https://github.com/rust-lang/rustfmt/issues/4808) |
| 30 | + ```rust |
| 31 | + fn main() { |
| 32 | + || (10.).method(); |
| 33 | + (|| ..).method(); |
| 34 | + (|| 1..).method(); |
| 35 | + } |
| 36 | + ``` |
| 37 | +- Prevent removing `for<T>` when using the [`#![feature(non_lifetime_binders)]`](https://github.com/rust-lang/rust/issues/108185) [#5721](https://github.com/rust-lang/rustfmt/issues/5721) |
| 38 | + ```rust |
| 39 | + #![feature(non_lifetime_binders)] |
| 40 | + #![allow(incomplete_features)] |
| 41 | + |
| 42 | + trait Other<U: ?Sized> {} |
| 43 | + |
| 44 | + trait Trait<U> |
| 45 | + where |
| 46 | + for<T> U: Other<T> {} |
| 47 | + ``` |
| 48 | +- Fix various issues with comments in imports [#5852](https://github.com/rust-lang/rustfmt/issues/5852) [#4708](https://github.com/rust-lang/rustfmt/issues/4708) [#3984](https://github.com/rust-lang/rustfmt/issues/3984) |
| 49 | +- When setting `version = Two` newlines between where clause bounds will be removed [#5655](https://github.com/rust-lang/rustfmt/issues/5655) |
| 50 | + ```rust |
| 51 | + fn foo<T>(_: T) |
| 52 | + where |
| 53 | + T: std::fmt::Debug, |
| 54 | + T: std::fmt::Display, |
| 55 | + { |
| 56 | + } |
| 57 | + ``` |
| 58 | +- Improve formatting of `let-else` statements that have leading attributes When setting `version = Two` [#5901](https://github.com/rust-lang/rustfmt/issues/5901) |
| 59 | +- Prevent comment duplication in expressions wrapped in parenthesis. [#5871](https://github.com/rust-lang/rustfmt/issues/5871) |
| 60 | + |
| 61 | + |
| 62 | +### Changed |
| 63 | + |
| 64 | +- rustfmt no longer removes explicit `Rust` ABIs. e.g `extern "Rust" fn im_a_rust_fn() {}` [#5701](https://github.com/rust-lang/rustfmt/issues/5701) |
| 65 | +- Setting `trailing_semicolon = false` will only remove trailing `;` on the last expression in a block [#5797](https://github.com/rust-lang/rustfmt/issues/5797) |
| 66 | +- Update the format of `cargo help fmt` to be more consistent with other standard commands [#5908](https://github.com/rust-lang/rustfmt/pull/5908) |
| 67 | + |
| 68 | +### Added |
| 69 | + |
| 70 | +- Users can now set `skip_macro_invocations` in `rustfmt.toml` [#5816](https://github.com/rust-lang/rustfmt/issues/5816) |
| 71 | + |
| 72 | +### Misc |
| 73 | + |
| 74 | +- Support the experimental `dyn*` syntax, enabled by `#![feature(dyn_star)]` [#5542](https://github.com/rust-lang/rustfmt/issues/5542) |
| 75 | +- Replace `unicode_categories` dependency with `unicode-properties` [#5864](https://github.com/rust-lang/rustfmt/pull/5864) |
5 | 76 |
|
6 | 77 | ## [1.6.0] 2023-07-02
|
7 | 78 |
|
|
0 commit comments