Commit Graph

5736 Commits

Author SHA1 Message Date
benluiwj
a1361bd0d5 Run check-diff tests in ci 2024-08-03 05:17:27 -06:00
benluiwj
63d50dd1d7 Add cd and git clone functionality to check-diff crate
Included unit tests for the new functionality as well.
2024-08-03 05:17:27 -06:00
ding-young
b8a5b211ef impl rewrite_result for ChainItem 2024-08-03 04:43:03 -06:00
ding-young
3d468e2d92 update combine_strs_with_missing_comments 2024-08-03 04:43:03 -06:00
ding-young
5325b9e98c modify rewrite_literal 2024-08-03 04:43:03 -06:00
Caleb Cartwright
cf352a766f chore: apply review suggestions 2024-07-28 19:37:36 -05:00
Caleb Cartwright
d66ab31b53 tests: add new load_config tests 2024-07-28 19:37:36 -05:00
Caleb Cartwright
d65daa9c4f refactor: rebase with set_cli() behavior 2024-07-28 19:37:36 -05:00
Caleb Cartwright
7a5a936e79 docs: use StyleEdition in dev guide
s
2024-07-28 19:37:36 -05:00
Caleb Cartwright
aa8a53f687 refactor: switch idempotence/system tests to style_edition
Updates all the various files utilized in the system and
idempotence tests to directly use the corresponding
'style_edition' configuration as opposed to keeping
the original 'version' values and relying on the mapping.
2024-07-28 19:37:36 -05:00
Caleb Cartwright
e04e411852 tests: validate style_edition derivation
Adds a few tests that validate the various scenarios
of precendence, overrides, and defaults to ensure the
correct 'style_edition' value is selected even when
other options like 'edition' and/or 'version' are included.
2024-07-28 19:37:36 -05:00
Caleb Cartwright
b6c89fc657 feat: add --style-edition option to rustfmt binary 2024-07-28 19:37:36 -05:00
Caleb Cartwright
7c41e2bfba refactor: switch from 'version' to 'style_edition'
Updates the relevant formatting logic to utilize the
new 'style_edition' option directly instead of the now
deprecated 'version' option. 'version' has only been
soft deprecated and has auto mapping in place so there
should be zero formatting impact to current 'version' users.
2024-07-28 19:37:36 -05:00
Caleb Cartwright
c2c9be5b2d feat: implement Style Edition support
Adds the 'style_edition' configuration option along with
documentation, 'version' option deprecation, and mapping
of 'edition' and 'version' values for backwards compatibility
and adherence to the style evolution RFC
2024-07-28 19:37:36 -05:00
Caleb Cartwright
d8ae6a99e6 tests: add a few for style edition config defaults 2024-07-27 17:35:10 -05:00
Caleb Cartwright
a23d3ccb84 refactor: track configs set from cli flags 2024-07-27 17:01:11 -05:00
ding-young
e21c1e220b refactor rewrite_array, pair, tuple, call 2024-07-26 03:53:21 -06:00
ding-young
1313d61842 modfiy ListItem to hold RewriteResult as the item field 2024-07-26 03:00:49 -06:00
ding-young
6ccf539b19 modify trait bound of itemize_list 2024-07-26 03:00:49 -06:00
ding-young
ea02de27ff refactor rewrite_match and impl rewrite_result for ArmWrapper 2024-07-17 20:51:42 -06:00
ding-young
babc2f9b8a modify rewrite_struct_lit, rewrite_struct_pat
- refactor rewrite_*** functions that call rewrite_path to return RewriteResult
- modify rewrite_aligned_item method of AlignedItem
2024-07-17 18:40:45 -06:00
ding-young
3cbc91e9d6 modify rewrite_path and impl rewrite_result for related AST nodes 2024-07-17 18:40:45 -06:00
Yacin Tmimi
7cdb426c05 Implement StyleEditionDefault for each config option
Makes internal changes to define each configuration in terms of the
`StyleEditionDefault` trait, and hard codes `StyleEdition::Edition2015`
anywhere the new `style_edition` is needed.

**Note** users are still unable to configure `style edition`.
2024-07-15 15:41:31 -06:00
ding-young
071ca7dc45 refactor rewrite_closure 2024-07-15 14:34:56 -06:00
ding-young
bb56224d2a refactor rewrite_block 2024-07-15 14:34:56 -06:00
Yacin Tmimi
add045979b add release date for v1.7.1 2024-07-08 19:05:49 -06:00
Giordanno Castro
c8290a5fb7
ensure parse errors aren't emitted when formatting doc comments (#6232)
This adds a test case to validate behavior when using
`format_code_in_doc_comments=true`
2024-07-07 20:52:33 -04:00
ding-young
eed7e237bc rewrite_result for GenericBounds, GenericParam, SegmentParam 2024-07-06 09:17:32 -06:00
ding-young
f62d730e54 impl rewrite_result for AssocItemConstraintKind, GenericArg, GenericBound, Ty 2024-07-06 09:17:32 -06:00
ding-young
21afdb81f8 add Ext trait for converting Option->RewriteResult 2024-07-03 19:10:20 -06:00
ding-young
905ca5483b add rewrite_result method to Rewrite trait
impl rewrite_result for ast::Local, ast::FieldDef, ast::Param, ast::FnRetTy
2024-07-03 19:10:20 -06:00
hattizai
533b760f8d remove duplicate word 2024-07-02 07:52:22 -06:00
hattizai
f65d04a109 fix link syntax 2024-07-01 21:28:10 -06:00
Caleb Cartwright
6093d48d15
Merge pull request #6217 from compiler-errors/sync-from-rust-2024-06-24
subtree-push 2024-06-24
2024-06-30 23:11:13 -05:00
Michael Goulet
c5284965bd Remove stray println from rustfmt 2024-06-25 18:05:52 -04:00
Michael Goulet
a3a84e5dc2 Bump toolchain to nightly-2024-06-24 2024-06-24 23:09:24 -04:00
Michael Goulet
b5fa338f23 Merge remote-tracking branch 'origin/master' into sync-from-rust-2024-06-24 2024-06-24 23:02:45 -04:00
Matthias Krüger
514fe39e25 Rollup merge of #126888 - compiler-errors:oops-debug-printing, r=dtolnay
Remove stray println from rustfmt's `rewrite_static`

r? `@calebcartwright` `@ytmimi` -- though anyone should probably r+ this so it gets into nightly sooner than later, since it's obviously wrong.

This can just be fixed in-tree, since I don't think we want to wait until the next sync to fix this.

Fix https://github.com/rust-lang/rustfmt/issues/6210
Fix https://github.com/rust-lang/rust/issues/126887
2024-06-24 06:27:17 +02:00
Matthias Krüger
bd0a886b7e Rollup merge of #126754 - compiler-errors:use-rustfmt, r=calebcartwright
Implement `use<>` formatting in rustfmt

This PR implements formatting for precise-capturing `use<>` syntax as proposed in https://github.com/rust-lang/rust/pull/126753.

The syntax is implemented as-if the `use<>` bound were a trait bound but with the `use` keyword as its path segment identifier.

I opted to develop this in the rust-lang/rust tree since I'm not certain when the next rustfmt subtree sync is going to be, and I'd rather not block landing nightly support for `use<>` on something I have no control over. If ``@rust-lang/rustfmt`` would rather I move this PR over to that repository, then I would at least like to know when the next rustfmt->rust subtree sync is going to be, since stabilizing `precise_capturing` without formatting will be disruptive.

This implementation is otherwise rather straightforward.

Tracking:

- https://github.com/rust-lang/rust/issues/123432
2024-06-24 06:27:14 +02:00
Michael Goulet
22aac496cc Remove stray println from rustfmt 2024-06-23 22:27:41 -04:00
Matthias Krüger
8f8a463cbd Rollup merge of #126851 - nnethercote:NtExprKind-NtPatKind, r=compiler-errors
Rework pattern and expression nonterminal kinds.

Some tweaks to `NonterminalKind` that will assist with #124141. Details in the individual commits.

r? compiler-errors
cc ```@eholk```
2024-06-23 22:39:01 +02:00
Michael Goulet
10277c97c2 Implement use<> formatting in rustfmt 2024-06-23 10:57:10 -04:00
Nicholas Nethercote
5faf95c1c1 Rework pattern and expression nonterminal kinds.
Merge `PatParam`/`PatWithOr`, and `Expr`/`Expr2021`, for a few reasons.

- It's conceptually nice, because the two pattern kinds and the two
  expression kinds are very similar.

- With expressions in particular, there are several places where both
  expression kinds get the same treatment.

- It removes one unreachable match arm.

- Most importantly, for #124141 I will need to introduce a new type
  `MetaVarKind` that is very similar to `NonterminalKind`, but records a
  couple of extra fields for expression metavars. It's nicer to have a
  single `MetaVarKind::Expr` expression variant to hold those extra
  fields instead of duplicating them across two variants
  `MetaVarKind::{Expr,Expr2021}`. And then it makes sense for patterns
  to be treated the same way, and for `NonterminalKind` to also be
  treated the same way.

I also clarified the comments, because I have long found them a little
hard to understand.
2024-06-23 15:57:24 +10:00
Caleb Cartwright
081ae53225 fix bad merge conflict resolution 2024-06-22 16:21:14 -05:00
Michael Goulet
8b36bc00a8 Fix rustfmt 2024-06-22 15:41:51 -05:00
Caleb Cartwright
ebce054347 Merge commit 'e4944185ae09c99f59b460e358909f329010ea9c' into sync-from-rustfmt-24-06 2024-06-22 15:33:45 -05:00
Caleb Cartwright
e4944185ae chore: bump version 2024-06-21 18:20:47 -05:00
Yacin Tmimi
6c3c4308bb document rustfmt support for #![feature(unsafe_extern_blocks)] 2024-06-21 16:57:45 -05:00
Yacin Tmimi
6daf3c1778 Document removing rustfmt's lazy_static dependency 2024-06-21 16:57:45 -05:00
Yacin Tmimi
e2feea47bc Document fix for retaining inner attributes on const blocks 2024-06-21 16:57:45 -05:00