Yuki Okushi
1e2258ffa9
Use AttrVec
for Arm
, FieldDef
, and Variant
2021-06-17 08:04:54 +09:00
Ryan Levick
58c63cf8de
Add support for using qualified paths with structs in expression and pattern
...
position.
2021-06-10 13:18:41 +02:00
jedel1043
e243be6ada
Allow formatting Anonymous{Struct, Union}
declarations
2021-05-16 22:13:38 -05:00
Andy Wang
ef31361766
Rename RealFileName::Named
to LocalPath
2021-05-12 22:12:43 -05:00
Andy Wang
e4b5621b0e
Only deal with LocalPath in conversion
2021-05-12 22:12:43 -05:00
Andy Wang
8526acee21
Rename span_to_string to span_to_diagnostic_string
2021-05-12 22:12:43 -05:00
Caleb Cartwright
f87414729f
fix: backport changes for latest rustc api comaptibility
2021-05-02 10:37:43 -05:00
Yuki Okushi
ddb224a173
Upgrade annotate-snippets
to 0.8 ( #4762 )
2021-04-22 08:33:36 -05:00
ChinYing-Li
dac2423f3f
Recognize when a block comment has been ended inside a string literal ( #4312 )
2021-04-21 21:30:42 -05:00
Caleb Cartwright
78b0728887
refactor: remove panics on misconfigured widths
2021-04-21 21:27:50 -05:00
Caleb Cartwright
a168d92f9a
tests: augment heuristics tests
2021-04-21 21:27:50 -05:00
Caleb Cartwright
1bcc1f8df5
refactor: apply heuristic config changes in lib
2021-04-21 21:27:50 -05:00
Caleb Cartwright
ea1611c06e
feat(config): expose all width heurstic options
2021-04-21 21:27:50 -05:00
Joshua Nelson
943b97c3ae
Fix errors when parallel_compiler
is enabled
2021-04-21 21:17:36 -05:00
Joshua Nelson
61ee1089f0
Use rustc_private
instead of crates.io dependencies
...
- Update rust-toolchain to also install `rustc-dev` component
2021-04-21 21:17:36 -05:00
Caleb Cartwright
c32f2ec015
chore: fmt and cleanup
2021-04-02 23:21:06 -05:00
Caleb Cartwright
4948911608
deps: apply rustc-ap-* v712 changes
2021-04-02 23:21:06 -05:00
Caleb Cartwright
4c617e8fb3
deps: apply rustc module loading changes
2021-04-02 23:21:06 -05:00
Caleb Cartwright
a1dc57ace1
chore: apply AST HasAttrs->AstLike changes
2021-04-02 23:21:06 -05:00
Caleb Cartwright
612e8d5b9b
refactor: apply rustc mod parsing changes
2021-04-02 23:21:06 -05:00
Caleb Cartwright
2c6339571b
chore: apply pattern parsing changes
2021-04-02 23:21:06 -05:00
Caleb Cartwright
cbd83b8083
chore: add span creation util function
2021-04-02 23:21:06 -05:00
Yuki Okushi
ca4e9f47b9
Fix a legacy_derive_helpers
warning
2021-03-18 23:34:32 -05:00
Joshua Nelson
c3a5111106
Fix some clippy warnings
...
This commit can be replicated with
`cargo clippy --fix -Z unstable-options && cargo +nightly-2021-02-10 fmt`.
2021-02-18 20:20:29 -06:00
David Bar-On
432e09e89f
Add the use of rewrite_assign_rhs_with_comments to 1.x
2021-02-17 20:47:20 -06:00
David Bar-On
4b0ed96f2e
Fix for issue 4603 about extra macro body indentation (third version)
2021-02-17 20:19:27 -06:00
Joshua Nelson
6170948820
Fix warnings
...
- Fix nightly warning about `format!`
- Remove unused functions and fields
2021-02-17 20:14:46 -06:00
Caleb Cartwright
9ed75111e2
deps: apply rustc-ap v705 changes to itemkind variants
2021-02-07 12:46:43 -06:00
Caleb Cartwright
58ac85b58e
deps: bump rustc-ap crates to v701.0.0
2021-02-03 21:05:15 -06:00
Caleb Cartwright
b8f318c303
fix: don't insert trailing comma on struct lit rest in mac def
2021-01-28 22:01:50 -06:00
Caleb Cartwright
c13d2452c0
chore: backport some empty block check fixes
2021-01-27 20:58:42 -06:00
Caleb Cartwright
bd4dc36c4e
refactor: cleanup block check for statements
2021-01-27 20:58:42 -06:00
vallentin
3e61326716
Fixed semicolon getting moved into comment ( fixes #4646 )
2021-01-27 20:58:42 -06:00
Michael Morgan
384ba68d64
Add imports_granularity="Item".
...
This option splits all imports into their own `use` statement.
2021-01-27 20:58:42 -06:00
Sean Klein
5e14f760c5
fix: Avoid incorrect global 'cfg_if' Symbol interning
...
Fixes #4656
2021-01-27 19:26:58 -06:00
Ayaz Hafiz
f8deed3a3a
Include const generic type bounds in their spans
...
Closes #4310
2021-01-27 18:50:03 -06:00
Seiichi Uchida
c0fede355c
Use the span after generics and where clause ( #4208 )
2021-01-27 18:50:03 -06:00
hafiz
269584634a
Include constness in impl blocks ( #4215 )
...
Closes #4084
2021-01-27 18:50:03 -06:00
Geoffry Song
0d60a616ab
Disable deprecated_option_merge_imports tests on non-nightly
2021-01-17 11:48:47 -06:00
Geoffry Song
71863753bd
Rename merge_imports
to imports_granularity
and add a Module
option.
...
This renames the existing `true`/`false` options to `Crate`/`Never`, then adds a
new `Module` option which causes imports to be grouped together by their
originating module.
2021-01-17 11:48:47 -06:00
Caleb Cartwright
c4d551cdf5
refactor: remove unneeded clone
2021-01-16 11:17:23 -06:00
Caleb Cartwright
b30cb24286
fix: indentation issue on generic bounds
2021-01-16 11:17:23 -06:00
Caleb Cartwright
3571c5d6f7
fix: maintain redundant semis on items in statement pos
2021-01-09 12:11:52 -06:00
Mara Bos
5bb17a0d36
Account for new ast::GenericParamKind::Const::default in rust_ast.
2021-01-09 12:11:52 -06:00
Mara Bos
4644418556
Fixes for new rustc changes.
2021-01-09 12:11:52 -06:00
Mara Bos
398d2f96c3
Add support for edition 2021.
2021-01-09 12:11:52 -06:00
Seiichi Uchida
0d022d08d8
Format error and typeof types ( #4416 )
...
* Add a test for #4357
* Format error and typeof types
2020-12-20 12:05:05 -06:00
Stéphane Campinas
c536d80dc1
Fix rewrite of closures with a return type
...
If the closure's body fits in a line, the block is removed but it is
necessary if the closure has a return type.
2020-12-20 12:05:05 -06:00
Caleb Cartwright
4cfb9ef8f4
fix: don't strip nonexistent comma in derive
2020-12-20 12:05:05 -06:00
David Tolnay
96ee060529
Preserve polarity on negative non-trait impl
2020-11-30 23:24:36 -06:00
WhizSid
7d9ee7558e
Comment between typebounds ( #4474 )
...
* Test cases and get spans
* Fixed type bounds
* Fixed issue of test cases
* Fixed first test case issue
* Removed unwanted whitespaces
* Removed tmp files
2020-11-29 13:26:58 -06:00
Caleb Cartwright
823c4f820a
fix: backport some imports for cherry-picked commit
2020-11-29 13:26:58 -06:00
WhizSid
b7c38c9d50
Fixed comment dropped between & and type issue ( #4482 )
...
* Fixed comment dropped between & and type issue
* Reduced nesting levels and avoided duplications
* Removed extra allocations
2020-11-29 13:26:58 -06:00
WhizSid
6455e9de0e
Fixed 'Comment removed between type name and =' issue ( #4448 )
...
* Fixed Comment removed between type name and = issue
* Fixed where clause issue and pass the full span
* has_where condition inline
* Fixed indentation error on where clause
* Removed tmp file
2020-11-29 13:26:58 -06:00
Caleb Cartwright
ea712f1a2c
fix: apply rustc-ap updates to backported commit
2020-11-29 13:26:58 -06:00
hafiz
5e7fb45533
Pick up comments between visibility modifier and item name ( #4239 )
...
* Pick up comments between visibility modifier and item name
I don't think this hurts to fix. #2781 , which surfaced this issue, has
a number of comments relating to similar but slightly different issues
(i.e. dropped comments in other places). I can mark #2781 as closed and
then will open new issues for the comments that are not already resolved
or tracked.
Closes #2781
* fixup! Pick up comments between visibility modifier and item name
* fixup! Pick up comments between visibility modifier and item name
2020-11-29 13:26:58 -06:00
Caleb Cartwright
fb7e604538
tests: backport an additional test case
2020-11-29 13:26:58 -06:00
Adam H. Leventhal
3df383aa3c
fixes #4115 , #4029 , #3898
2020-11-29 13:26:58 -06:00
hafiz
c77c6a405d
Compare code block line indentation with config whitespace ( #4166 )
...
Previously the indetation of a line was compared with the configured
number of spaces per tab, which could cause lines that were formatted
with hard tabs not to be recognized as indented ("\t".len() < " ".len()).
Closes #4152
2020-11-29 13:26:58 -06:00
Ayaz Hafiz
3bf67c175d
Don't drop blocks on foreign functions
...
A code like
```rust
extern "C" {
fn f() {
fn g() {}
}
}
```
is incorrect and does not compile. Today rustfmt formats this in a way
that is correct:
```rust
extern "C" {
fn f();
}
```
But this loses information, and doesn't have to be done because we know
the content of the block if it is present. During development I don't
think rustfmt should drop the block in this context.
Closes #4313
2020-11-28 21:59:30 -06:00
Ayaz Hafiz
5ffccbb627
Properly format function signature in extern blocks
...
Closes #4288
And we get to drop a method, which I think is a win :)
2020-11-28 21:59:30 -06:00
Caleb Cartwright
48d30a4f71
chore: run rustfmt against source
2020-11-28 17:41:21 -06:00
Caleb Cartwright
4d9fa00fd5
feat: support underscore expressions
2020-11-28 17:41:21 -06:00
Caleb Cartwright
5c0673c371
refactor: update cfg_if attr parsing
2020-11-28 17:41:21 -06:00
Caleb Cartwright
4f32ce8434
feat: support struct/slice destructuring
2020-11-28 17:41:21 -06:00
Caleb Cartwright
5b216029b5
deps: minor rustc_ast changes for v691
2020-11-28 17:41:21 -06:00
Caleb Cartwright
581da523db
deps: bump rustc-ap to v687
2020-11-28 17:41:21 -06:00
meiomorphism
003786228d
fix: don't force a newline after an empty where clause
...
Fixes #4547 .
2020-11-25 21:32:46 -06:00
Matt
073cc3891f
Option to create groups for std, external crates, and other imports
...
Backport of 17d90ca.
2020-11-18 21:37:42 -06:00
Caleb Cartwright
89f38304a7
fix: don't drop leading comments in extern
2020-11-16 15:48:20 -06:00
WhizSid
faf97a67d6
Fixed 'Incorrect comment indent inside if/else' issue. ( #4459 )
...
* Added test cases
* Fixed if condition comment issue
* Fixed extern C issue
* Removed previous test case
* Removed tmp file
* honor the authors intent
* Changed the file name to its original name
* Removed extra whitespace
2020-11-14 11:50:28 -06:00
Ayaz Hafiz
ce13ff15c3
Correctly create artificial span for formatting closure body
...
This commit partially reverts #3934 , opting to create a span that covers
the entire body of a closure when formatting a closure body with a
block-formatting strategy, rather than having the block-formatting code
determine if the visitor pointer should be rewound. The problem with
rewinding the visitor pointer is it may be incorrect for other (i.e.
non-artificial) AST nodes, as in the case of #4382 .
Closes #4382
2020-11-14 11:50:28 -06:00
Caleb Cartwright
a613c57521
feat: don't insert semi in macro_rules arm body
2020-11-11 18:26:13 -06:00
Caleb Cartwright
ae6b40e2f9
fix: remove ignored depr attribute which now errors
2020-11-05 20:45:11 -06:00
Caleb Cartwright
1139e6e5cc
fix: remove comment from cherry-pick that v1.x doesn't handle
2020-11-05 20:45:11 -06:00
Aaron Hill
46ab14437e
Don't flatten a block containing a single macro call
...
We no longer flatten a block that looks like this:
```rust
match val {
pat => { macro_call!() }
}
```
Currently, rust ignores trailing semicolons in macro expansion in
expression position (see https://github.com/rust-lang/rust/issues/33953 )
If this is changed, flattening a block with a macro call may break the
user's code - the trailing semicolon will no longer parse if the macro
call occurs immediately on the right-hand side of the match arm
(e.g. `pat => macro_call!()`)
2020-11-05 20:45:11 -06:00
Caleb Cartwright
15854e5fd3
feat: v2 support for nested tuples w/o spaces
2020-11-02 18:31:51 -06:00
Caleb Cartwright
98975e1a64
tests: adjust some cherry-picekd tests
2020-11-02 18:31:51 -06:00
Caleb Cartwright
2b6226ce49
fix: resolve some parser related bugs
2020-11-02 18:31:51 -06:00
Caleb Cartwright
86a41bc80b
tests: add test for panic on new_parser_from_file
2020-11-02 18:31:51 -06:00
Caleb Cartwright
9faba4539b
fix(parser): better unclosed delims handling
2020-11-02 18:31:51 -06:00
Caleb Cartwright
e131797b62
deps: bump rustc-ap to v686
2020-11-02 18:31:51 -06:00
Michael Müller
fa9d97499e
Fix overriding license header bug ( #4488 )
...
* Override header to None when path len = 0
* Add regression test
* Ensure nightly
2020-10-24 11:14:52 -05:00
hafiz
6a7824787e
Preserve comments in empty statements ( #4180 )
...
* Preserve comments in empty statements
Closes #4018
* fixup! Preserve comments in empty statements
2020-10-24 11:13:00 -05:00
Ayaz Hafiz
e70343a5f5
Correctly indent skipped-over code
...
Closes #4398
2020-10-24 11:13:00 -05:00
Caleb Cartwright
31cef56779
feat: add initial support for ConstBlock expressions
2020-10-24 11:13:00 -05:00
Caleb Cartwright
c89638ae55
deps: update macro parsing
2020-10-24 11:13:00 -05:00
David Tolnay
14d53f75c9
Use rustfmt given by RUSTFMT env var ( #4419 )
2020-10-04 16:58:34 -05:00
Ayaz Hafiz
2a8ff209f6
fixup! Preserve and format type aliases in extern blocks
2020-10-01 19:12:22 -05:00
Ayaz Hafiz
92ab76cfa7
fixup! Preserve and format type aliases in extern blocks
2020-10-01 19:12:22 -05:00
Ayaz Hafiz
a9b0b057eb
fixup! Preserve and format type aliases in extern blocks
2020-10-01 19:12:22 -05:00
Ayaz Hafiz
a15800a327
Preserve and format type aliases in extern blocks
...
Previously, non-trivial type aliases in extern blocks were dropped by
rustfmt because only the type alias name would be passed to a rewritter.
This commit fixes that by passing all type information (generics,
bounds, and assignments) to a type alias rewritter, and consolidates
`rewrite_type_alias` and `rewrite_associated_type` as one function.
2020-10-01 19:12:22 -05:00
Caleb Cartwright
d6a220b70a
feat: support config. of leading match arm pipe
2020-09-24 09:43:31 -05:00
David Tolnay
8635a5ca44
deps: bump rustc-ap to v679
2020-09-23 00:45:18 -05:00
Caleb Cartwright
9ba373f822
deps: bump rustc-ap to v678
2020-09-23 00:45:18 -05:00
Caleb Cartwright
62dc7c5c6b
fix: inner attribute formatting
2020-09-04 19:01:18 -05:00
mahkoh
89b7f5f382
Fix module resolution in inner modules with paths ( #4194 )
2020-09-04 19:01:18 -05:00
Caleb Cartwright
aa11c27490
chore: run rustfmt
2020-09-04 19:01:18 -05:00
Caleb Cartwright
637ddfb6da
deps: bump rustc-ap to v673
2020-09-04 19:01:18 -05:00
Caleb Cartwright
e4617e0e61
deps: bump rustc-ap to v672
2020-09-04 19:01:18 -05:00
Caleb Cartwright
a17803127f
fix: inverted span on attrs within closure
2020-08-09 14:32:34 -05:00
Caleb Cartwright
bf359c6ebc
chore: backport 8157a3f0afe978d3e953420577f8344db7e905bf
2020-07-15 09:19:21 -05:00
Caleb Cartwright
391cd3e324
deps: bump rustc-ap to v669
2020-07-14 21:36:24 -05:00
Caleb Cartwright
b243075d75
deps: bump rustc-ap-* to v668
2020-07-09 23:15:08 -05:00
Caleb Cartwright
da18032ba4
deps: bump rustc-ap* to v666
2020-06-27 13:15:54 -05:00
Seiichi Uchida
a36e7c7981
Use correct span for match arms with the leading pipe and attributes ( #3975 )
2020-06-27 12:55:15 -05:00
Caleb Cartwright
796d6eafa4
fix: backport fix for #4079
2020-06-11 23:29:51 -05:00
Caleb Cartwright
5db7152962
fix: backport fix for #4020
2020-06-11 23:17:38 -05:00
Caleb Cartwright
ce1a3efff0
fix: backport fix for submod parser errors
2020-06-11 21:49:40 -05:00
Caleb Cartwright
dead3a807d
fix: backport mod resolution error handling
2020-06-11 21:11:18 -05:00
David Tolnay
bc9a0b2974
Switch to std::error::Error for errors ( #3948 )
2020-06-11 20:23:24 -05:00
Caleb Cartwright
b28fd5f91c
deps: apply upstream rustc-* changes
2020-06-11 13:22:37 -05:00
topecongiro
08776ef3b4
Support module-level rustfmt::skip in sub-modules
2020-06-08 10:42:43 +09:00
Seiichi Uchida
577ef8136f
Update rustc-ap-* crates to 659.0.0 for rustfmt-1.4.15 ( #4184 )
2020-05-19 17:31:28 +09:00
Caleb Cartwright
c1267303bc
fix: formatting arbitrary extern abi ( #4089 )
2020-03-31 15:30:26 +09:00
Caleb Cartwright
00e199c974
backport new syntax to rustfmt 1.x ( #4105 )
...
* feat: support raw reference operator
* feat: support const opt-out syntax
* feat: support half open range syntax
2020-03-31 15:28:01 +09:00
Caleb Cartwright
9714a140c9
refactor: use ast::attr:HasAttrs
2020-03-30 13:11:00 -05:00
Caleb Cartwright
ac2d5b85a5
deps: bump rustc-ap* to v651
2020-03-30 12:02:39 -05:00
Caleb Cartwright
b173b42354
refactor: rename libsyntax --> rustc_ast
2020-03-27 22:29:12 -05:00
Caleb Cartwright
c1a66e1e22
fix: unreachable err on Fn with None
block
2020-03-27 22:13:46 -05:00
Caleb Cartwright
537d746e08
fix: use correct ForeignItem span
2020-03-27 22:00:00 -05:00
Caleb Cartwright
bea7209d0a
chore: fix src formatting
2020-03-27 21:53:40 -05:00
Caleb Cartwright
9b0ed57af6
refactor: parse & mod resolver for rustc-ap v650
2020-03-27 21:33:34 -05:00
Caleb Cartwright
bd5dff4012
refactor: backport syntux mod
2020-03-26 21:25:34 -05:00
Caleb Cartwright
9699c96cf1
deps: bump to rustc v647
2020-03-26 17:20:24 -05:00
Caleb Cartwright
7a76ec062d
deps: bump to rustc v644
2020-03-26 15:26:58 -05:00
Caleb Cartwright
760bb29feb
chore: fix compile warnings
2020-02-08 22:54:37 -06:00
Caleb Cartwright
e72f307f15
fix: backport parse bug fix
...
Backport the fix for the parser bug where the messages from
fatal/non-recoverable parser errors were being silently eaten by
rustfmt.
2020-02-08 22:47:48 -06:00
Caleb Cartwright
c60416ed21
deps: update rustc-ap to v642.0.0
2020-02-08 22:21:37 -06:00
Seiichi Uchida
731f15551b
Do not add block around async closure ( #3946 )
2019-12-03 08:47:25 +09:00
Chris Emerson
99f9f576d4
Return an error if --check
or --emit json
are used with stdin. ( #3875 )
2019-10-25 15:05:24 +09:00
Seiichi Uchida
69cf48344b
fix handling of nested comments in patterns and ControlFlows ( #3869 )
2019-10-25 15:04:33 +09:00
rChaser53
233497aceb
fix Unparsable code when formmating ( #3883 )
2019-10-24 22:16:56 +09:00
Rui
69c7dbcd50
Try to solve issue3456. ( #3556 )
2019-10-19 18:19:47 +09:00
Caleb Cartwright
3a073f177c
fix: handling of newline_style conflicts ( #3850 )
2019-10-19 17:15:13 +09:00
Stéphane Campinas
5327c3633f
handle field attributes when aligning a struct's fields ( #3513 )
2019-10-19 16:56:32 +09:00
Caleb Cartwright
a5d16df9a4
feat: use offline by default with cargo fmt ( #3830 )
2019-10-19 16:35:33 +09:00
Caleb Cartwright
fd6e960648
fix: comments between lhs and rhs
2019-10-17 20:13:11 -05:00
Caleb Cartwright
28be77915f
fix: nested comments in control flow condition pat
2019-10-17 19:58:08 -05:00
Stéphane Campinas
a15e97f1e9
do not indent impl generics ( #3856 )
2019-10-11 18:19:44 +09:00
Caleb Cartwright
8210cc1c13
fix: handle lhs unary in range expression ( #3855 )
2019-10-11 18:15:04 +09:00
rChaser53
396a2af181
fix to swallow attribute on brace expression ( #3848 )
2019-10-10 10:35:34 +09:00
Caleb Cartwright
207a58f365
fix panic on closure with empty block expr ( #3846 )
2019-10-08 11:00:31 +09:00
Caleb Cartwright
6dcbc5d78e
fix: handle block comments with trailing line comments ( #3842 )
2019-10-08 10:12:21 +09:00
Stéphane Campinas
8073244420
improve detection of URL inside a string that is being rewritten. ( #3809 )
2019-10-07 16:43:50 +09:00
Stéphane Campinas
160c3aafc5
handle hard tabs when formatting trailing comments ( #3836 )
2019-10-07 16:40:27 +09:00
Caleb Cartwright
ba4bf03d84
don't fail on recoverable parser errors in ignored files ( #3782 )
2019-10-07 10:24:08 +09:00
Caleb Cartwright
ed697c9347
fix: support raw prefix identifiers in statics
2019-10-05 12:34:48 -05:00
Seiichi Uchida
383306e5fe
Update rustc-ap-* crates to 606.0.0 ( #3835 )
2019-10-05 23:40:24 +09:00
Stéphane Campinas
fb01dc857c
do not force comments to be indented with a comment trailing a line of code ( #3833 )
2019-10-05 00:22:01 +09:00