@@ -295,8 +295,18 @@ Prefer to use single-letter names for generic parameters.
295
295
296
296
These rules apply for `where ` clauses on any item .
297
297
298
- If immediately following a closing bracket of any kind , write the keyword
299
- `where ` on the same line , with a space before it .
298
+ If a where clause is short , and appears on a short one - line function
299
+ declaration with no body or a short associated type with no `= `, format it on
300
+ the same line as the declaration :
301
+
302
+ ```rust
303
+ fn new (& self ) -> Self where Self : Sized ;
304
+
305
+ type Item <'a >: SomeTrait where Self : 'a ;
306
+ ```
307
+
308
+ Otherwise, if immediately following a closing bracket of any kind, write the
309
+ keyword ` where ` on the same line, with a space before it.
300
310
301
311
Otherwise, put ` where ` on a new line at the same indentation level. Put each
302
312
component of a ` where ` clause on its own line, block-indented. Use a trailing
@@ -424,9 +434,9 @@ bound, put a space after the colon but not before:
424
434
type Foo : Bar ;
425
435
```
426
436
427
- If an associated type has no ` = ` , and has a ` where ` clause with only one entry,
428
- format the entire type declaration including the ` where ` clause on the same
429
- line if it fits:
437
+ If an associated type is short, has no ` = ` , and has a ` where ` clause with only
438
+ one entry, format the entire type declaration including the ` where ` clause on
439
+ the same line if it fits:
430
440
431
441
``` rust
432
442
type Item <'a > where Self : 'a ;
0 commit comments