Open
Description
When reformatting the following example:
let error_code = match err {
msgs::DecodeError::UnknownVersion => 0x4000 | 1, // unknown realm byte
msgs::DecodeError::UnknownRequiredFeature|
msgs::DecodeError::InvalidValue|
msgs::DecodeError::ShortRead => 0x4000 | 22, // invalid_onion_payload
_ => 0x2000 | 2, // Should never happen
};
we receive this result:
let error_code = match err {
msgs::DecodeError::UnknownVersion => 0x4000 | 1, // unknown realm byte
msgs::DecodeError::UnknownRequiredFeature
| msgs::DecodeError::InvalidValue
| msgs::DecodeError::ShortRead => 0x4000 | 22, // invalid_onion_payload
_ => 0x2000 | 2, // Should never happen
};
Note that the comment at the end of the second match arm is unaligned with the others. For the third match arm rustfmt
even introduces many whitespaces to ensure it's aligned with the in the first match arm. However, it seems that rustfmt
entirely forgets about this alignment in the second match arm, presumably due to it being an OR pattern
This seems to happen independently from any particular config option or rustfmt
version, but currently I'm using
> rustfmt --version
rustfmt 1.7.0-stable (82e1608d 2023-12-21)