Skip to content

Commit 5a70671

Browse files
authored
Merge branch 'master' into overhacked/remove_multiple_comment_trailing_lines
2 parents fd95d0f + c8290a5 commit 5a70671

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+1524
-619
lines changed

.github/workflows/integration.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ jobs:
1919
matrix:
2020
integration: [
2121
bitflags,
22-
error-chain,
2322
log,
2423
mdbook,
2524
packed_simd,

CHANGELOG.md

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,99 @@
22

33
## [Unreleased]
44

5+
### Fixed
6+
7+
- Fix an idempotency issue when rewriting where clauses in which rustfmt would continuously add a trailing comma `,` to the end of trailing line comments [#5941](https://github.com/rust-lang/rustfmt/issues/5941).
8+
- Prevent enum variant attributes from wrapping one character early when using `version=Two` [#5801](https://github.com/rust-lang/rustfmt/issues/5801)
9+
- Properly wrap macro matchers at the `max_width` when using `version=Two` and `format_macro_matchers=true` [#3805](https://github.com/rust-lang/rustfmt/issues/3805)
10+
- Prevent panic when formatting trait declaration with non [Unicode Normalization Form] C (NFC) identifiers [#6069](https://github.com/rust-lang/rustfmt/issues/6069)
11+
```rust
12+
// The ó below is two codepoints, ASCII o followed by U+0301 COMBINING ACUTE ACCENT.
13+
// It NFC-normalizes to ó, U+00F3 LATIN SMALL LETTER O WITH ACUTE.
14+
trait Foó: Bar {}
15+
```
16+
[unicode normalization form]: https://unicode.org/reports/tr15/
17+
- Ensure a space is added to a range expression, when the right hand side of the range expression is a binary expression that ends with a trailing period [#6059](https://github.com/rust-lang/rustfmt/issues/6059)
18+
```rust
19+
let range = 3. / 2. ..4.;
20+
```
21+
- When using `version=Two`, comments in match arms that contain `=>` no longer prevent formatting [#5998](https://github.com/rust-lang/rustfmt/issues/5998)
22+
```rust
23+
match a {
24+
_ =>
25+
// comment with =>
26+
{
27+
println!("A")
28+
}
29+
}
30+
```
31+
- Prevent panics when formatting input that contains the expanded form of `offset_of!` [#5885](https://github.com/rust-lang/rustfmt/issues/5885) [#6105](https://github.com/rust-lang/rustfmt/issues/6105)
32+
```rust
33+
const _: () = builtin # offset_of(x, x);
34+
```
35+
- When using `version=Two` inner attributes in `match` expressions are correctly indented [#6147](https://github.com/rust-lang/rustfmt/issues/6147)
36+
```rust
37+
pub fn main() {
38+
match x {
39+
#![attr1]
40+
#![attr2]
41+
_ => (),
42+
}
43+
}
44+
```
45+
- Output correct syntax for type ascription builtin [#6159](https://github.com/rust-lang/rustfmt/issues/6159)
46+
```rust
47+
fn main() {
48+
builtin # type_ascribe(10, usize)
49+
}
50+
```
51+
- rustfmt no longer removes inner attributes from inline const blocks [#6158](https://github.com/rust-lang/rustfmt/issues/6158)
52+
```rust
53+
fn main() {
54+
const {
55+
#![allow(clippy::assertions_on_constants)]
56+
57+
assert!(1 < 2);
58+
}
59+
}
60+
```
61+
- rustfmt no longer removes `safe` and `unsafe` keywords from static items in extern blocks.
62+
This helps support [`#![feature(unsafe_extern_blocks)]`](https://github.com/rust-lang/rust/issues/123743) [#6204](https://github.com/rust-lang/rustfmt/pull/6204)
63+
```rust
64+
#![feature(unsafe_extern_blocks)]
65+
66+
unsafe extern "C" {
67+
safe static TEST1: i32;
68+
unsafe static TEST2: i32;
69+
}
70+
```
71+
72+
73+
### Changed
74+
75+
- `hide_parse_errors` has been soft deprecated and it's been renamed to `show_parse_errors` [#5961](https://github.com/rust-lang/rustfmt/pull/5961).
76+
- The diff output produced by `rustfmt --check` is more compatable with editors that support navigating directly to line numbers [#5971](https://github.com/rust-lang/rustfmt/pull/5971)
77+
- When using `version=Two`, the `trace!` macro from the [log crate] is now formatted similarly to `debug!`, `info!`, `warn!`, and `error!` [#5987](https://github.com/rust-lang/rustfmt/issues/5987).
78+
79+
[log crate]: https://crates.io/crates/log
80+
81+
82+
### Added
83+
84+
- `generated_marker_line_search_limit` is a new unstable configuration option that allows users to configure how many lines to search for an `@generated` marker when `format_generated_files=false` [#5658](https://github.com/rust-lang/rustfmt/issues/5658)
85+
86+
87+
### Misc
88+
589
- Updating `dirs 4.0.0 -> 5.0.1` and `cargo_metadata 0.15.4 -> 0.18.0` [#6033] (https://github.com/rust-lang/rustfmt/issues/6033)
90+
- For reference, here's the [dirs v5 changelog](https://github.com/dirs-dev/dirs-rs/blob/main/README.md#5)
91+
- Updated [itertools v0.11 -> v0.12](https://github.com/rust-itertools/itertools/blob/v0.12.1/CHANGELOG.md#0120) [#6093](https://github.com/rust-lang/rustfmt/pull/6093)
92+
- Addressed clap deprecations output when running `cargo check --features clap/deprecated` [#6101](https://github.com/rust-lang/rustfmt/pull/6101)
93+
- Bumped bytecount `0.6.4` -> `0.6.8` to fix compilation issues with the `generic-simd` feature. See [bytecount#92] and [bytecount#93]
94+
95+
[bytecount#92]: https://github.com/llogiq/bytecount/pull/92
96+
[bytecount#93]: https://github.com/llogiq/bytecount/pull/93
97+
- Replace the `lazy_static` dependency with `std::sync::OnceLock` [#6154](https://github.com/rust-lang/rustfmt/pull/6154)
698

799
## [1.7.0] 2023-10-22
8100

@@ -146,7 +238,7 @@
146238

147239
### Added
148240

149-
- New configuration option (`skip_macro_invocations`)[https://rust-lang.github.io/rustfmt/?version=master&search=#skip_macro_invocations] [#5347](https://github.com/rust-lang/rustfmt/pull/5347) that can be used to globally define a single enumerated list of macro calls that rustfmt should skip formatting. rustfmt [currently also supports this via a custom tool attribute](https://github.com/rust-lang/rustfmt#tips), however, these cannot be used in all contexts because [custom inner attributes are unstable](https://github.com/rust-lang/rust/issues/54726)
241+
- New configuration option [`skip_macro_invocations`](https://rust-lang.github.io/rustfmt/?version=master&search=#skip_macro_invocations) [#5347](https://github.com/rust-lang/rustfmt/pull/5347) that can be used to globally define a single enumerated list of macro calls that rustfmt should skip formatting. rustfmt [currently also supports this via a custom tool attribute](https://github.com/rust-lang/rustfmt#tips), however, these cannot be used in all contexts because [custom inner attributes are unstable](https://github.com/rust-lang/rust/issues/54726)
150242

151243
### Misc
152244

Cargo.lock

Lines changed: 3 additions & 33 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22

33
name = "rustfmt-nightly"
4-
version = "1.7.0"
4+
version = "1.7.1"
55
description = "Tool to find and fix Rust formatting issues"
66
repository = "https://github.com/rust-lang/rustfmt"
77
readme = "README.md"
@@ -35,7 +35,7 @@ generic-simd = ["bytecount/generic-simd"]
3535
[dependencies]
3636
annotate-snippets = { version = "0.9", features = ["color"] }
3737
anyhow = "1.0"
38-
bytecount = "0.6.4"
38+
bytecount = "0.6.8"
3939
cargo_metadata = "0.18"
4040
clap = { version = "4.4.2", features = ["derive"] }
4141
clap-cargo = "0.12.0"
@@ -44,7 +44,6 @@ dirs = "5.0"
4444
getopts = "0.2"
4545
ignore = "0.4"
4646
itertools = "0.12"
47-
lazy_static = "1.4"
4847
regex = "1.7"
4948
serde = { version = "1.0.160", features = ["derive"] }
5049
serde_json = "1.0"

check_diff/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/target

0 commit comments

Comments
 (0)