2457 Commits

Author SHA1 Message Date
Nick Cameron
d43874113e Warn the user if using an unstable option without --unstable-options
Fixes #2796
2018-07-31 10:02:32 +12:00
Nick Cameron
3c20d8a9e6
Merge pull request #2874 from cavedweller/master
Format Async block and async fn
2018-07-31 08:52:07 +12:00
Benjamin Brittain
46b241004d fix nits 2018-07-29 17:20:21 -07:00
Ben Brittain
fedde3790c Add tests for async & async move 2018-07-29 08:55:36 -07:00
Ben Brittain
0b25f602fd Format Async block and async fn 2018-07-29 08:05:38 -07:00
Aaron Loucks
6ff2a5e0f3 Auto-detect newline style by default 2018-07-29 10:12:31 -04:00
Andrew Audibert
f121b1a3a9 Support raw identifiers in struct expressions 2018-07-28 19:40:52 -07:00
Nick Cameron
69ad879d52
Merge pull request #2864 from topecongiro/issue-2863
Modify the rule for reordering impl items
2018-07-27 16:24:46 +12:00
Nick Cameron
814f6339b4
Merge pull request #2862 from topecongiro/issue-2852
Preserve parens in trait bounds
2018-07-27 16:24:11 +12:00
Seiichi Uchida
7b37776ade Modify the rule for reordering impl items
1. If two items have the same kind, then reorder them based on its ident.
2. Handle existential type.
2018-07-26 21:37:23 +09:00
Seiichi Uchida
e6255ca3de Preserve parens in trait bounds 2018-07-25 18:27:25 +09:00
Nick Cameron
8ff2836eaf
Merge pull request #2861 from topecongiro/issue-2859
Put lifetimes after trait when they gets orphaned
2018-07-25 21:22:25 +12:00
Seiichi Uchida
339fa20973 Veto converting delimiters inside nested macro 2018-07-25 08:58:37 +09:00
Seiichi Uchida
6cecdd681f Put lifetimes after trait when they gets orphaned 2018-07-25 08:44:32 +09:00
Seiichi Uchida
975b3753ba Keep the inside macro context in nested macro call 2018-07-25 07:15:33 +09:00
Seiichi Uchida
6d7a764b3d Remove span from rewrite_generics's parameter
We can just use the span from ast::Generics.
2018-07-25 00:34:46 +09:00
Seiichi Uchida
fc307ff582 Format exitential type 2018-07-25 00:30:01 +09:00
Nick Cameron
43f178bd58 Remove Summary 2018-07-24 21:45:15 +12:00
Nick Cameron
df4fb8a05b Reformatting after rebase 2018-07-24 15:49:35 +12:00
Nick Cameron
f9510a55eb chains: fix visual indent chain layout 2018-07-24 15:46:39 +12:00
Nick Cameron
8618a55834 chains: treat some string lits as blocks 2018-07-24 15:46:39 +12:00
Nick Cameron
481e85cc58 formatting 2018-07-24 15:46:39 +12:00
Nick Cameron
f0fe9c3c4a chains: prefer to use the next line for an expression, if using the same line would introduce an open block or similar
This problem came to light due to the chains changes, but effects other code too. It only happens rarely, e.g.,

before this fix:
```
    match foo {
        MacroArgKind::Delimited(ref delim_tok, ref args) => rewrite_delimited_inner(
            delim_tok,
            args,
        ).map(|(lhs, inner, rhs)| format!("{}{}{}", lhs, inner, rhs)),
    };

```

after:
```
    match foo {
        MacroArgKind::Delimited(ref delim_tok, ref args) => {
            rewrite_delimited_inner(delim_tok, args)
                .map(|(lhs, inner, rhs)| format!("{}{}{}", lhs, inner, rhs))
        }
    }

```
2018-07-24 15:43:29 +12:00
Nick Cameron
5bc27593f4 chains: minor fixups
* remove unnecessary clone
* comment formatting
* fix bug with `?` collection
* respect the heuristic if the root is more than just the parent
2018-07-24 15:43:29 +12:00
Nick Cameron
467b095d48 chains: share code between block and visual formatters 2018-07-24 15:43:29 +12:00
Nick Cameron
f55cadb65a chains: refactor formatting of chain items 2018-07-24 15:43:29 +12:00
Nick Cameron
a56ff9d02f chains: factor into objects 2018-07-24 15:43:29 +12:00
Nick Cameron
86314bf09f chains: more refactoring of visual formatting 2018-07-24 15:43:29 +12:00
Nick Cameron
92701552bc chains: refactor block formatting 2018-07-24 15:43:29 +12:00
Nick Cameron
914e750c9e chains: further simplification 2018-07-24 15:43:29 +12:00
Nick Cameron
38e8b086e8 chains: refactoring
pre-process the expression tree to get a list of chain items.
2018-07-24 15:43:29 +12:00
Nick Cameron
9c82224746 chains: simplify visual formatting a bit 2018-07-24 15:43:29 +12:00
Nick Cameron
d244234607 factor out treatment of 1-length chains
And create `Chain` and `ChainItem` structs
2018-07-24 15:43:29 +12:00
Nick Cameron
a8d5f25572 chains: split handling of chains in block and visual cases
Just refactoring, lots of code dup here, but it should get better...
2018-07-24 15:43:29 +12:00
Nick Cameron
728b0182c5 Changes to chains with block indent
* More often combine a chain item to the previous line (if it is a block)
* Don't indent if the parent is a block

This is not perfect and doesn't pass tests, but I need to refactor to make more
progress
2018-07-24 15:43:29 +12:00
Nick Cameron
d3288841ea Refactoring: factor format_lines and format_project into smaller chunks 2018-07-24 15:17:47 +12:00
Nick Cameron
9fbce1f627 Reorganise formatting.rs 2018-07-24 14:10:09 +12:00
Nick Cameron
2af1ed109c Refactoring: factor out format_file and FormatHandler
This effectively separates out formatting from other handling.
2018-07-24 14:05:04 +12:00
Nick Cameron
b9c6754d8c Refactoring: move format_project and Timer out of Session 2018-07-24 10:08:41 +12:00
Nick Cameron
920a50ded9 Refactoring: return a summary from format_project
Rather than modifying `self.summary`.

Also move some Timer methods.
2018-07-24 09:07:54 +12:00
Nick Cameron
069c4fc508 Refactoring: summary
Move the timer from Summary to Session.

Move Summary from config to formatting.
2018-07-24 08:43:30 +12:00
Nick Cameron
09a8c6d22b Refactoring: move code around in formatting
To try and make cleaner abstractions and to start to separate formatting from
other tasks.
2018-07-24 08:26:33 +12:00
Nick Cameron
71d3d04270 factor out a Session object 2018-07-23 15:37:34 +12:00
Nick Cameron
4153e66e42 Move non-public API from lib.rs to its own module 2018-07-23 12:45:41 +12:00
Nick Cameron
bcb64fdab8
Merge pull request #2853 from nrc/match-comment
Handle missing comments in match arm and more generally
2018-07-20 22:20:35 +12:00
Seiichi Uchida
d40ed146a5 Fix breaking changes
cc https://github.com/rust-lang/rust/pull/51829.
2018-07-20 16:18:45 +09:00
Nick Cameron
b085113cbe Trigger an internal error if we skip formatting due to a lost comment 2018-07-20 16:05:19 +12:00
Nick Cameron
6899471497 Check for comments after the => in a match arm
Closes #2188
2018-07-20 16:05:18 +12:00
Nick Cameron
90c5792565 Set rustfmt-format_macro_matchers to false by default
cc #2543
2018-07-18 12:09:50 +12:00
Nick Cameron
79c5ee8b42 Add config options for formatting macro matchers and bodies
Closes #2753
2018-07-18 12:03:59 +12:00