style-guide: When breaking binops handle multi-line first operand better
Use the indentation of the *last* line of the first operand, not the first. Fixes https://github.com/rust-lang/style-team/issues/189
This commit is contained in:
parent
9105c57b7f
commit
57c32a193f
@ -40,6 +40,8 @@ include:
|
|||||||
of a delimited expression, delimited expressions are generally combinable,
|
of a delimited expression, delimited expressions are generally combinable,
|
||||||
regardless of the number of members. Previously only applied with exactly
|
regardless of the number of members. Previously only applied with exactly
|
||||||
one member (except for closures with explicit blocks).
|
one member (except for closures with explicit blocks).
|
||||||
|
- When line-breaking a binary operator, if the first operand spans multiple
|
||||||
|
lines, use the base indentation of the last line.
|
||||||
- Miscellaneous `rustfmt` bugfixes.
|
- Miscellaneous `rustfmt` bugfixes.
|
||||||
- Use version-sort (sort `x8`, `x16`, `x32`, `x64`, `x128` in that order).
|
- Use version-sort (sort `x8`, `x16`, `x32`, `x64`, `x128` in that order).
|
||||||
- Change "ASCIIbetical" sort to Unicode-aware "non-lowercase before lowercase".
|
- Change "ASCIIbetical" sort to Unicode-aware "non-lowercase before lowercase".
|
||||||
|
@ -328,6 +328,37 @@ foo_bar
|
|||||||
Prefer line-breaking at an assignment operator (either `=` or `+=`, etc.) rather
|
Prefer line-breaking at an assignment operator (either `=` or `+=`, etc.) rather
|
||||||
than at other binary operators.
|
than at other binary operators.
|
||||||
|
|
||||||
|
If line-breaking a binary operator (including assignment operators) where the
|
||||||
|
first operand spans multiple lines, use the base indentation of the *last*
|
||||||
|
line of the first , and indent relative to that:
|
||||||
|
|
||||||
|
```rust
|
||||||
|
impl SomeType {
|
||||||
|
fn method(&mut self) {
|
||||||
|
self.array[array_index as usize]
|
||||||
|
.as_mut()
|
||||||
|
.expect("thing must exist")
|
||||||
|
.extra_info =
|
||||||
|
long_long_long_long_long_long_long_long_long_long_long_long_long_long_long;
|
||||||
|
|
||||||
|
self.array[array_index as usize]
|
||||||
|
.as_mut()
|
||||||
|
.expect("thing must exist")
|
||||||
|
.extra_info
|
||||||
|
+ long_long_long_long_long_long_long_long_long_long_long_long_long_long_long;
|
||||||
|
|
||||||
|
self.array[array_index as usize]
|
||||||
|
.as_mut()
|
||||||
|
.expect("thing must exist")
|
||||||
|
.extra_info = Some(ExtraInfo {
|
||||||
|
parent,
|
||||||
|
count: count as u16,
|
||||||
|
children: children.into_boxed_slice(),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Casts (`as`)
|
### Casts (`as`)
|
||||||
|
|
||||||
Format `as` casts like a binary operator. In particular, always include spaces
|
Format `as` casts like a binary operator. In particular, always include spaces
|
||||||
|
Loading…
Reference in New Issue
Block a user