Commit graph

104 commits

Author SHA1 Message Date
Michael Goulet
e831877c4c Revert "[style 2024] Combine all last arg delimited exprs"
This reverts commit bed0c9d97f.
2025-01-30 18:08:45 +00:00
Trevor Gross
9472d32842
Rollup merge of #134975 - ehuss:revert-style-guide-rhs-break, r=compiler-errors
Revert style guide rhs break

This reverts https://github.com/rust-lang/rust/pull/132369 and https://github.com/rust-lang/rust/pull/119838. The style-guide change for indentation of rhs was not implemented in time for the 2024 style edition.
See tracking issue https://github.com/rust-lang/rust/issues/132380.

cc #134974 for the other style guide change in 2024.

r? ``@compiler-errors``
2024-12-31 18:42:26 -05:00
Eric Huss
7a46c7b112 Revert "Rollup merge of #119838 - joshtriplett:style-guide-binop-indent, r=compiler-errors"
This reverts commit 36287830a2, reversing
changes made to 31026b7fe3.
2024-12-31 08:50:28 -08:00
Eric Huss
a6ba04ae6a Revert "Rollup merge of #132369 - joshtriplett:style-guide-binop-heuristic-assignment-only, r=calebcartwright"
This reverts commit 348d28052b, reversing
changes made to 526c67f37b.
2024-12-31 08:50:04 -08:00
Eric Huss
b4a092662c Revert "Rollup merge of #119515 - joshtriplett:style-guide-gat-where-clause-same-line, r=compiler-errors"
This reverts commit 4d1cce9de5, reversing
changes made to 030a12ce2b.
2024-12-31 07:57:06 -08:00
Josh Triplett
d7e6074083 style-guide: Only use the new binop heuristic for assignments
This avoids pathological cases where chains of binops get progressively
deeper.
2024-10-30 13:16:43 -07:00
Santiago Pastorino
ebf46f7607
Add unsafe to extern blocks in style guide 2024-08-26 14:55:56 -03:00
Josh Triplett
37257b45e9 style-guide: Clarify version-sorting
Every time we apply version-sorting, we also say to sort non-lowercase before
lowercase. This seems likely to be what we'll want for future sorting,
as well. For simplicity, just incorporate that into the definition,
"unless otherwise specified".
2024-07-17 13:24:32 -07:00
Michael Goulet
1031d4da55 Add nightly style guide section for precise_capturing 2024-06-20 13:52:40 -04:00
Josh Triplett
e098eb14ae Wording improvement
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
2024-05-14 06:00:09 +02:00
Josh Triplett
e2d9c0d938 Fix missing word
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
2024-05-14 06:00:09 +02:00
Josh Triplett
57c32a193f 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
2024-05-14 06:00:07 +02:00
Josh Triplett
163b1a6615 Reword formatting for where clauses
Suggested-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
2024-05-13 16:43:13 +02:00
Josh Triplett
9ff777bf50 style-guide: Also format where clauses on one line for short function decls 2024-05-13 16:43:13 +02:00
Josh Triplett
2af29af710 style-guide: Not all where clauses can be written as inline bounds 2024-05-13 16:43:13 +02:00
Josh Triplett
2f20bb4a97 style-guide: Give a second example for associated type formatting
Show an example that has bounds.
2024-05-13 16:43:13 +02:00
Josh Triplett
3742a4bd90 style-guide: Format single associated type where clauses on the same line
In particular, lifetime-generic associated types often have a
`where Self: 'a` bound, which we can format on the same line.
2024-05-13 16:42:47 +02:00
León Orell Valerian Liehr
61e2b410ff
Rollup merge of #114764 - pitaj:style-delimited-expressions, r=joshtriplett
[style edition 2024] Combine all delimited exprs as last argument

Closes rust-lang/style-team#149

If this is merged, the rustfmt option `overflow_delimited_expr` should be enabled by default in style edition 2024.

[Rendered](https://github.com/pitaj/rust/blob/style-delimited-expressions/src/doc/style-guide/src/expressions.md#combinable-expressions)

r? joshtriplett
2024-01-24 15:43:10 +01:00
Matthias Krüger
3cc4e02519
Rollup merge of #115046 - joshtriplett:master, r=compiler-errors
Use version-sorting for all sorting

Add a description of a version-sorting algorithm. (This algorithm does
not precisely match `strverscmp`; it's intentionally simpler in its
handling of leading zeroes, and produces a result easier for humans to
easily understand and do by hand.)

Change all references to sorting to use version-sorting.

Change all references to "ASCIIbetically" to instead say "sort
non-lowercase before lowercase".
2024-01-11 03:02:39 +01:00
Josh Triplett
2e931b5417 style-guide: Rework version-sorting algorithm
Treat numeric chunks with equal value but differing numbers of leading
zeroes as equal, unless we get to the end of the entire string in which
case we use "more leading zeroes in the earliest differing chunk" as a
tiebreaker.

Treat `_` as a word separator, sorting it before anything other than
space.

Give more examples.
2023-12-22 16:39:20 -08:00
Peter Jaszkowiak
bed0c9d97f [style 2024] Combine all last arg delimited exprs 2023-11-29 19:43:42 -07:00
bors
7b4b1b08b6 Auto merge of #114901 - compiler-errors:style-guide-wc, r=calebcartwright
Amend style guide section for formatting where clauses in type aliases

This PR has two parts:
1. Amend wording about breaking before or after the `=`, which is a style guide bugfix to align it with current rustfmt behavior.
2. Explain how to format trailing (#89122) where clauses, which are preferred in both GATs (#90076) and type aliases (#114662).

r? `@joshtriplett`
2023-09-27 19:17:30 +00:00
Matthias Krüger
47277ab547
Rollup merge of #114394 - joshtriplett:style-guide-as, r=calebcartwright
style-guide: Document formatting of `as` casts (mostly like a binary operator)

`as` casts currently get formatted like a binary operator, except that
the second line can stack several `as` casts rather than breaking them
each onto their own line. Document this.

As far as I can tell (cc `@calebcartwright` for verification), this is not a 2024 edition change, it just documents current behavior.
2023-09-21 00:11:35 +02:00
Guillaume Gomez
7a27acfdbb
Rollup merge of #113383 - joshtriplett:style-bugs, r=compiler-errors
style-guide: Add section on bugs, and resolving bugs
2023-09-19 20:23:18 +02:00
Josh Triplett
f06df2207e Clarify "as normal" -> "lexicographically" 2023-08-27 17:02:33 -07:00
Michael Goulet
2ff14b0050 Remove opinions from style guide about where clauses in type alias items 2023-08-23 18:25:09 +00:00
Josh Triplett
95eb1e206c Streamline description of versionsort (incorporate suggestion from Ralf) 2023-08-21 18:42:44 -07:00
Josh Triplett
47bb0761e6 Clarify that version-sorting looks for the *longest* sequence of digits 2023-08-21 05:05:09 -07:00
Josh Triplett
127e052a5a Make an implementation note on version-sorting accurate 2023-08-21 05:03:17 -07:00
Josh Triplett
98d3012ed9 Use version-sorting for all sorting
Add a description of a version-sorting algorithm. (This algorithm does
not precisely match `strverscmp`; it's intentionally simpler in its
handling of leading zeroes, and produces a result easier for humans to
easily understand and do by hand.)

Change all references to sorting to use version-sorting.

Change all references to "ASCIIbetically" to instead say "sort
non-lowercase before lowercase".
2023-08-21 01:05:52 -07:00
Josh Triplett
69f38f6fda style-guide: Add guidance for defining formatting for specific macros 2023-08-17 13:20:57 -07:00
Michael Goulet
f707b9cd70 Describe how to format trailing where clauses 2023-08-16 16:45:57 +00:00
Michael Goulet
85254c9dd8 bugfix: reflect how rustfmt formats type aliases 2023-08-16 16:42:20 +00:00
Josh Triplett
42fa7df38c style-guide: Expand documentation on as casts (mostly like a binary operator)
`as` casts currently get formatted like a binary operator, except that
the second line can stack several `as` casts rather than breaking them
each onto their own line. Merge `as` into a subsection of the binary
operators section, and then go into detail on the one difference between
`as` formatting and binary operator formatting.
2023-08-04 01:23:49 -07:00
Matthias Krüger
2fac3972cd
Rollup merge of #114262 - ShapelessCat:fix-style-guide-md, r=joshtriplett
Improve the rust style guide doc

- Make the levels of headings consistent in this whole document.
   Before this change, the highest level of headings in some file is level 1, but in most of the files the that is level 2. Not consistent.

- Fix some headings

- Follow the markdown linter advices
  - Remove redundant empty lines
  - Surround each heading with empty lines
  - Use the same symbol for different levels of unordered list entries
2023-08-01 06:55:54 +02:00
Matthias Krüger
02426434e2
Rollup merge of #113394 - joshtriplett:style-edition-snapshot, r=calebcartwright
style-guide: Document style editions, start 2024 style edition

Link to a snapshot for the 2015/2018/2021 style edition.

This is a draft, because I'd like to wait for a few style guide fixes to merge
before snapshotting the 2015/2018/2021 style edition:

- https://github.com/rust-lang/rust/pull/113145
- https://github.com/rust-lang/rust/pull/113380
- https://github.com/rust-lang/rust/pull/113384
- https://github.com/rust-lang/rust/pull/113385
- https://github.com/rust-lang/rust/pull/113386
- https://github.com/rust-lang/rust/pull/113392

I'd like to wait for these for two reasons: to make it easier to see the
differences between the 2015/2018/2021 style edition and the 2024 style
edition (without the noise of guide-wide changes), and to minimize confusion so
that bugfixes to the style guide that we include in the previous edition don't
look like they're only part of the 2024 style edition.

I've used "Miscellaneous `rustfmt` bugfixes" as a starting point for the list
of 2024 changes, for now. We can update that when we add more 2024 changes.

The section added in this PR can then serve as a baseline for our drafts of
2024 style edition changes.

In the meantime, I'd like to get someone from `@rust-lang/style` to review and
approve the text here; I'll update it with a commit hash when the above PRs
have merged.
2023-08-01 06:55:52 +02:00
Josh Triplett
6a0886cdba Link to the Rust edition guide for more information about editions 2023-07-31 17:11:47 -07:00
Josh Triplett
0217565e24 style-guide: Document style editions, start 2024 style edition
Link to a snapshot for the 2015/2018/2021 style edition.
2023-07-31 17:11:47 -07:00
Lan, Jian
9d38e985c5 Use - instead of * for unordered list 2023-07-31 11:18:47 +08:00
Lan, Jian
b4b540ced2 Improve the rust style guide doc
- Make the levels of headings consistent in this whole document
- Fix some headings
- Remove redundant empty lines
- Follow the markdown linter advices to use the same symbol for different level of unordered list entries
2023-07-31 01:33:33 +08:00
Caleb Cartwright
45b2559e5e docs(style-guide): don't flatten match arms with macro call 2023-07-27 21:36:06 -05:00
Josh Triplett
9ea1180cc7 Simplify wording in guide for unbraced closures 2023-07-21 02:57:51 -07:00
Josh Triplett
9362ae1616 Clarify guide for unbraced closures, regarding comments 2023-07-21 02:57:51 -07:00
Josh Triplett
9539af86c3 Clarify guide for unbraced closures: grammatical consistency 2023-07-21 02:57:51 -07:00
Josh Triplett
2fc1de3c96 Clarify conditions for single-line blocks
Use consistent phrasing, and add an "and".
2023-07-21 02:57:47 -07:00
Ivan Tham
7577e78ce0 Use roman 4 letter instead of word
Long text without numeric numbers when numeric numbers are used are hard to read.
2023-07-21 02:55:54 -07:00
cherryblossom000
9346519b05 Add missing code fence 2023-07-21 02:55:54 -07:00
Josh Triplett
77d09cb69e Clarify wording on breaking arrays across lines
Co-authored-by: Caleb Cartwright <calebcartwright@users.noreply.github.com>
2023-07-20 17:57:21 -07:00
Josh Triplett
144e8a3866 style-guide: Fix example to match the rule it exemplifies (and match rustfmt)
An example immediately following "Put each bound on its own line." did
not put each bound on its own line.
2023-07-20 17:57:21 -07:00
Josh Triplett
69d29a70da style-guide: Fix typo: s/right-hand side/left-hand side/ 2023-07-20 17:57:21 -07:00