-
Notifications
You must be signed in to change notification settings - Fork 940
Closed
Description
Probably related to #6418, but not 100% sure.
rustfmt recently started formatting code like this incorrectly:
frame_support::construct_runtime!(
pub struct Test {
System: frame_system = 0,
SelfDomainId: pallet_domain_id = 1,
}
);
Specifically, it removes = NUMBER
for some reason, resulting in this:
frame_support::construct_runtime!(
pub struct Test {
System: frame_system,
SelfDomainId: pallet_domain_id,
}
);
This is incorrect and not an equivalent change.
Affected version:
rustfmt 1.8.0-nightly (426d173423 2024-12-21)
Version that I used previously and that worked correctly:
rustfmt 1.8.0-nightly (4392847410 2024-10-21)
Activity
default_field_values
feature rust-lang/rust#129514ytmimi commentedon Dec 22, 2024
Thanks for the report. I tracked this change in behavior back to rust-lang/rust#129514
nazar-pc commentedon Dec 22, 2024
Note that it also removes values which are not contiguous (let's say if
= 0
is replaced with= 60
), it just removes them all regardless.ytmimi commentedon Dec 22, 2024
@nazar-pc sorry, but I'm having a hard time understanding what you're getting at. Could you provide a code snippet?
nazar-pc commentedon Dec 22, 2024
Sure:
In this case both will be removed too. I just assumed that in some cases it might remove things due to considering them being "the default", but no.
ytmimi commentedon Dec 22, 2024
Thanks for the update. No, I don't think that's the case. An explanation for what's going on here can be found at rust-lang/rust#134668
Rollup merge of rust-lang#134668 - compiler-errors:default-struct-val…
Unrolled build for rust-lang#134668
nazar-pc commentedon Dec 24, 2024
Works correctly again in this version: