rust/tests/source
Joshua Nelson 7852b8808b Stabilize #![feature(label_break_value)]
# Stabilization proposal

The feature was implemented in https://github.com/rust-lang/rust/pull/50045 by est31 and has been in nightly since 2018-05-16 (over 4 years now).
There are [no open issues][issue-label] other than the tracking issue. There is a strong consensus that `break` is the right keyword and we should not use `return`.

There have been several concerns raised about this feature on the tracking issue (other than the one about tests, which has been fixed, and an interaction with try blocks, which has been fixed).
1. nrc's original comment about cost-benefit analysis: https://github.com/rust-lang/rust/issues/48594#issuecomment-422235234
2. joshtriplett's comments about seeing use cases: https://github.com/rust-lang/rust/issues/48594#issuecomment-422281176
3. withoutboats's comments that Rust does not need more control flow constructs: https://github.com/rust-lang/rust/issues/48594#issuecomment-450050630

Many different examples of code that's simpler using this feature have been provided:
- A lexer by rpjohnst which must repeat code without label-break-value: https://github.com/rust-lang/rust/issues/48594#issuecomment-422502014
- A snippet by SergioBenitez which avoids using a new function and adding several new return points to a function: https://github.com/rust-lang/rust/issues/48594#issuecomment-427628251. This particular case would also work if `try` blocks were stabilized (at the cost of making the code harder to optimize).
- Several examples by JohnBSmith: https://github.com/rust-lang/rust/issues/48594#issuecomment-434651395
- Several examples by Centril: https://github.com/rust-lang/rust/issues/48594#issuecomment-440154733
- An example by petrochenkov where this is used in the compiler itself to avoid duplicating error checking code: https://github.com/rust-lang/rust/issues/48594#issuecomment-443557569
- Amanieu recently provided another example related to complex conditions, where try blocks would not have helped: https://github.com/rust-lang/rust/issues/48594#issuecomment-1184213006

Additionally, petrochenkov notes that this is strictly more powerful than labelled loops due to macros which accidentally exit a loop instead of being consumed by the macro matchers: https://github.com/rust-lang/rust/issues/48594#issuecomment-450246249

nrc later resolved their concern, mostly because of the aforementioned macro problems.
joshtriplett suggested that macros could be able to generate IR directly
(https://github.com/rust-lang/rust/issues/48594#issuecomment-451685983) but there are no open RFCs,
and the design space seems rather speculative.

joshtriplett later resolved his concerns, due to a symmetry between this feature and existing labelled break: https://github.com/rust-lang/rust/issues/48594#issuecomment-632960804

withoutboats has regrettably left the language team.

joshtriplett later posted that the lang team would consider starting an FCP given a stabilization report: https://github.com/rust-lang/rust/issues/48594#issuecomment-1111269353

[issue-label]: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label%3AF-label_break_value+

 ## Report

+ Feature gate:
    - d695a497bb/src/test/ui/feature-gates/feature-gate-label_break_value.rs
+ Diagnostics:
    - 6b2d3d5f3c/compiler/rustc_parse/src/parser/diagnostics.rs (L2629)
    - f65bf0b2bb/compiler/rustc_resolve/src/diagnostics.rs (L749)
    - f65bf0b2bb/compiler/rustc_resolve/src/diagnostics.rs (L1001)
    - 111df9e6ed/compiler/rustc_passes/src/loops.rs (L254)
    - d695a497bb/compiler/rustc_parse/src/parser/expr.rs (L2079)
    - d695a497bb/compiler/rustc_parse/src/parser/expr.rs (L1569)
+ Tests:
    - https://github.com/rust-lang/rust/blob/master/src/test/ui/label/label_break_value_continue.rs
    - https://github.com/rust-lang/rust/blob/master/src/test/ui/label/label_break_value_unlabeled_break.rs
    - https://github.com/rust-lang/rust/blob/master/src/test/ui/label/label_break_value_illegal_uses.rs
    - https://github.com/rust-lang/rust/blob/master/src/test/ui/lint/unused_labels.rs
    - https://github.com/rust-lang/rust/blob/master/src/test/ui/run-pass/for-loop-while/label_break_value.rs

 ## Interactions with other features

Labels follow the hygiene of local variables.

label-break-value is permitted within `try` blocks:
```rust
let _: Result<(), ()> = try {
    'foo: {
        Err(())?;
        break 'foo;
    }
};
```

label-break-value is disallowed within closures, generators, and async blocks:
```rust
'a: {
    || break 'a
    //~^ ERROR use of unreachable label `'a`
    //~| ERROR `break` inside of a closure
}
```

label-break-value is disallowed on [_BlockExpression_]; it can only occur as a [_LoopExpression_]:
```rust
fn labeled_match() {
    match false 'b: { //~ ERROR block label not supported here
        _ => {}
    }
}

macro_rules! m {
    ($b:block) => {
        'lab: $b; //~ ERROR cannot use a `block` macro fragment here
        unsafe $b; //~ ERROR cannot use a `block` macro fragment here
        |x: u8| -> () $b; //~ ERROR cannot use a `block` macro fragment here
    }
}

fn foo() {
    m!({});
}
```

[_BlockExpression_]: https://doc.rust-lang.org/nightly/reference/expressions/block-expr.html
[_LoopExpression_]: https://doc.rust-lang.org/nightly/reference/expressions/loop-expr.html
2022-08-23 21:14:12 -05:00
..
alignment_2633 fix alignment of a struct's fields with the visual style 2018-11-04 23:41:21 +01:00
binop-separator-back Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
cfg_if Fix typo 2022-05-20 10:39:10 +09:00
cfg_mod Format modules defined in cfg_attr (#3604) 2019-06-09 09:20:39 +09:00
comments-in-lists Merge commit '8da8371857' into sync-rustfmt-subtree 2021-12-02 21:35:30 -06:00
configs Merge commit 'c4416f20dc' into sync-rustfmt 2022-06-22 22:14:32 -05:00
fn-single-line Format the last expression-statement as expression (#3631) 2019-06-17 08:53:39 +09:00
imports Merge commit '7b73b60fac' into sync-rustfmt 2022-06-12 22:03:05 -05:00
imports_raw_identifiers Merge commit 'c4416f20dc' into sync-rustfmt 2022-06-22 22:14:32 -05:00
issue-1210 fix rewrite_string when a line feed is present in a sequence of whitespaces, resulting in strange formatting 2018-07-14 19:22:31 +02:00
issue-2179 fix "internal error: left behind trailing whitespace" with long lines 2019-02-01 19:58:38 +09:00
issue-2482 reverted some defaults for tests that are fixing a specific issue 2018-06-30 17:04:50 +02:00
issue-2917 Prevent right-shifting of block comments with bare lines. 2018-09-22 00:09:11 +02:00
issue-2977 propagate errors about failing to rewrite a macro 2018-09-07 14:48:52 +02:00
issue-3055 Add #[ignore] to test that runs external process (#3690) 2019-07-16 19:36:23 +09:00
issue-3213 version-gate the trailing semicolon change of return statements inside a match arm 2018-12-14 09:54:23 +01:00
issue-3227 remove tests/source/issue-3227/one.rs 2019-02-15 18:11:49 +09:00
issue-3253 fix formatting mods inside cfg_if macro (#3763) 2019-09-02 18:36:51 +09:00
issue-3270 version-gate the formatting of commented strings 2019-01-16 23:06:28 +01:00
issue-3272 Use the same rule with macro and function calls with a single chain 2019-01-28 23:05:42 +09:00
issue-3278 add the version gate to the code and test 2019-01-27 14:38:57 +09:00
issue-3295 fix "internal error: left behind trailing whitespace" with long lines 2019-02-01 19:58:38 +09:00
issue-3434 add test for visitor mad from same context 2019-03-22 18:20:00 +09:00
issue-3494 Fix bugs related to file-lines (#3684) 2019-07-15 22:41:56 +09:00
issue-3585 inline the attribute with its item even with the macro_use attribute or when reorder_imports is disabled (#3598) 2019-06-05 00:14:12 +09:00
issue-3665 #3665: Implemented (#3689) 2019-07-17 09:40:33 +09:00
issue-3701 Use correct indent when formatting complex fn type (#3731) 2019-08-16 11:15:28 +09:00
issue-3779 chore: backport 8157a3f0afe978d3e953420577f8344db7e905bf 2020-07-15 09:19:21 -05:00
issue-3840 do not indent impl generics (#3856) 2019-10-11 18:19:44 +09:00
issue-4036 Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
issue-4615 Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue-4656 fix: Avoid incorrect global 'cfg_if' Symbol interning 2021-01-27 19:26:58 -06:00
issue-4791 Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
issue-4816 Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue-4926 Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue-4984 Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue-5042 Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
issue-5088 Merge commit '8da8371857' into sync-rustfmt-subtree 2021-12-02 21:35:30 -06:00
issue-5157 Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
issue-5238 Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
issue-5270 Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
itemized-blocks Revert "Revert "Change config option from format_doc_comments to format_code_in_doc_comments."" 2019-05-10 21:22:52 +08:00
long-fn-1 add the version gate to the code and test 2019-01-27 14:38:57 +09:00
nested_skipped Tidy up and pass tests 2018-03-02 15:07:13 +13:00
nestedmod Tidy up and pass tests 2018-03-02 15:07:13 +13:00
path_clarity Add a test for #3427 2019-03-17 12:21:21 +09:00
single-line-macro Avoid putting a long macro call in a single line 2019-01-28 23:05:39 +09:00
trailing_comments handle hard tabs when formatting trailing comments (#3836) 2019-10-07 16:40:27 +09:00
5131_crate.rs Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
5131_module.rs Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
5131_one.rs Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
array_comment.rs Fix an anomaly with comments and array literals 2018-07-17 15:40:19 +12:00
assignment.rs Add a test for #2791 2018-06-25 15:27:09 +09:00
associated-types-bounds-wrapping.rs removed comment with default: rustfmt-max_width 2018-06-27 01:36:01 +02:00
associated_type_bounds.rs tests: add tests for assoscaited_type_bounds fix 2019-06-29 10:11:20 -05:00
async_block.rs Merge commit '4a053f206f' into sync-rustfmt-subtree 2021-12-29 20:49:39 -06:00
async_fn.rs Fix most recenty nightly breakage due to removed await! support (#3722) 2019-08-02 23:54:39 +09:00
attrib.rs removed bitrig support (#3608) 2019-06-07 16:56:30 +09:00
big-impl-block.rs removed comment with default: rustfmt-indent_style 2018-06-27 01:35:53 +02:00
big-impl-visual.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
binary-expr.rs Add tests for simple binary expressions 2018-05-06 15:14:30 +09:00
break-and-continue.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
catch.rs Accept 2015 and 2018 instead of Edition2015 and Edition2018 for edition option 2018-08-31 00:04:23 -07:00
chains-visual.rs unecessary use of rustfmt-normalize_comments comment 2018-06-27 15:28:33 +02:00
chains.rs add test 2018-10-15 12:09:53 +13:00
chains_with_comment.rs Add a test for #2907 2018-08-31 18:10:47 +09:00
closure-block-inside-macro.rs removed comment with default: rustfmt-indent_style 2018-06-27 01:35:53 +02:00
closure.rs Add rustfmt test for formatting for<> before closures 2022-07-12 21:00:13 +04:00
comment.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
comment2.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
comment3.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
comment4.rs Update uses of rustfmt_skip to rustfmt::skip 2018-05-14 16:25:10 +12:00
comment5.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
comment6.rs Use Unicode-standard char width to wrap comments or strings. (#3275) 2019-01-15 08:41:09 +09:00
comment_crlf_newline.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
const_generics.rs Do not duplicate const keyword on parameters 2021-01-27 18:50:03 -06:00
control-brace-style-always-next-line.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
control-brace-style-always-same-line.rs removed comment with default: rustfmt-control_brace_style 2018-06-27 01:36:02 +02:00
doc-attrib.rs removed bitrig support (#3608) 2019-06-07 16:56:30 +09:00
doc-comment-with-example.rs Revert "Revert "Change config option from format_doc_comments to format_code_in_doc_comments."" 2019-05-10 21:22:52 +08:00
doc.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
dyn_trait.rs Add and update tests for trait with paren 2018-07-25 18:27:02 +09:00
else-if-brace-style-always-next-line.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
else-if-brace-style-always-same-line.rs removed comment with default: rustfmt-control_brace_style 2018-06-27 01:36:02 +02:00
else-if-brace-style-closing-next-line.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
empty-item-single-line-false.rs Merge commit 'ea199bacef' into rustfmt-sync 2021-11-07 20:37:34 -06:00
empty_file.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
enum.rs do not remove discriminant value if exists (#3771) (#3772) 2019-09-04 23:01:04 +09:00
existential_type.rs stop to strip 'impl' from impl trait type alias (#3816) 2019-10-04 11:25:16 +09:00
expr-block.rs lists: Detect block comment by starting from the end. 2018-09-22 12:16:38 +02:00
expr-overflow-delimited.rs Add tests that include comments before the overflow-able params 2018-11-08 19:38:01 -07:00
expr.rs feat: support underscore expressions 2020-11-28 17:41:21 -06:00
extern.rs Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
extern_not_explicit.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
file-lines-1.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
file-lines-2.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
file-lines-3.rs removed comment with default: rustfmt-error_on_line_overflow 2018-06-27 01:36:01 +02:00
file-lines-4.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
file-lines-5.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
file-lines-6.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
file-lines-7.rs Fix bugs related to file-lines (#3684) 2019-07-15 22:41:56 +09:00
file-lines-item.rs removed comment with default: rustfmt-reorder_imports 2018-06-27 15:28:32 +02:00
fn-custom-2.rs removed comment with default: rustfmt-indent_style 2018-06-27 01:35:53 +02:00
fn-custom-3.rs removed comment with default: rustfmt-indent_style 2018-06-27 01:35:53 +02:00
fn-custom-4.rs removed comment with default: rustfmt-indent_style 2018-06-27 01:35:53 +02:00
fn-custom-6.rs removed comment with default: rustfmt-indent_style 2018-06-27 01:35:53 +02:00
fn-custom-7.rs stabilise fn_args_density (#3581) 2019-06-03 22:26:48 +09:00
fn-custom-8.rs removed comment with default: rustfmt-indent_style 2018-06-27 01:35:53 +02:00
fn-custom.rs stabilise fn_args_density (#3581) 2019-06-03 22:26:48 +09:00
fn-param-attributes.rs feat: support parameter attributes (#3793) 2019-09-20 16:11:52 +09:00
fn-simple.rs Remove crate visibility modifier in libs, tests 2022-05-21 00:32:47 -04:00
fn_args_indent-block.rs removed comment with default: rustfmt-indent_style 2018-06-27 01:35:53 +02:00
fn_args_layout-vertical.rs stabilise fn_args_density (#3581) 2019-06-03 22:26:48 +09:00
hard-tabs.rs removed comment with default: rustfmt-error_on_line_overflow 2018-06-27 01:36:01 +02:00
hello.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
hello2.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
hex_literal_lower.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
hex_literal_upper.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
if_while_or_patterns.rs Add tests for #2511 2018-03-06 19:42:38 +09:00
immovable_generators.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
impls.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
imports_granularity_one.rs Merge commit '7b73b60fac' into sync-rustfmt 2022-06-12 22:03:05 -05:00
invalid-rust-code-in-doc-comment.rs Revert "Revert "Change config option from format_doc_comments to format_code_in_doc_comments."" 2019-05-10 21:22:52 +08:00
issue-447.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-510.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-539.rs fix the identification of a block comment. 2018-08-16 19:55:15 +02:00
issue-683.rs fix the identification of a block comment. 2018-08-16 19:55:15 +02:00
issue-811.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-850.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-855.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-913.rs removed comment with default: rustfmt-error_on_line_overflow 2018-06-27 01:36:01 +02:00
issue-945.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-977.rs Implement closing-block procedure without relying on missed_span module (#3691) 2019-07-17 23:07:12 +09:00
issue-1021.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1049.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1111.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1120.rs reverted some defaults for tests that are fixing a specific issue 2018-06-30 17:04:50 +02:00
issue-1124.rs reverted some defaults for tests that are fixing a specific issue 2018-06-30 17:04:50 +02:00
issue-1127.rs formatting 2018-06-27 15:28:32 +02:00
issue-1158.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1177.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1192.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1211.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1216.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1239.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1278.rs reverted some defaults for tests that are fixing a specific issue 2018-06-30 17:04:50 +02:00
issue-1350.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1366.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1468.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1693.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1800.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-1914.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-2025.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-2111.rs removed comment with default: rustfmt-normalize_comments 2018-06-27 01:35:57 +02:00
issue-2164.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-2256.rs Update tests 2018-03-31 13:16:36 +09:00
issue-2342.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-2445.rs fix adds a trailing comma to struct-like macro (#2490) 2018-03-08 18:05:39 +09:00
issue-2446.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-2479.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
issue-2496.rs Add a test for #2496 2018-09-11 08:54:43 +03:00
issue-2520.rs Revert "Revert "Change config option from format_doc_comments to format_code_in_doc_comments."" 2019-05-10 21:22:52 +08:00
issue-2523.rs Revert "Revert "Change config option from format_doc_comments to format_code_in_doc_comments."" 2019-05-10 21:22:52 +08:00
issue-2582.rs Do not turn spaces in the beginning of the file into a newline (#2583) 2018-04-01 23:09:53 +09:00
issue-2641.rs fix: Don't insert an extra brace in macros with native newlines 2018-05-08 20:34:44 +02:00
issue-2644.rs Add test for issue 2644 2018-05-02 10:38:02 +02:00
issue-2728.rs Fix #2728. 2018-06-19 20:51:49 +09:00
issue-2761.rs Add a test for #2761 2018-06-05 13:42:58 +09:00
issue-2781.rs Pick up comments between visibility modifier and item name (#4239) 2020-11-29 13:26:58 -06:00
issue-2794.rs reverted some defaults for tests that are fixing a specific issue 2018-06-30 17:04:50 +02:00
issue-2835.rs Prioritize single_line_fn and empty_item_single_line over brace_style 2019-02-01 00:22:47 +09:00
issue-2863.rs Update rustc-ap-* crates to 581.0.0 (#3783) 2019-09-06 22:41:03 +09:00
issue-2869.rs handle field attributes when aligning a struct's fields (#3513) 2019-10-19 16:56:32 +09:00
issue-2896.rs Add a test for #2896 2018-08-05 10:50:24 +09:00
issue-2916.rs deps: update rustc-ap to v642.0.0 2020-02-08 22:21:37 -06:00
issue-2922.rs Add a test for #2922 2018-08-31 16:25:01 +03:00
issue-2927-2.rs Accept 2015 and 2018 instead of Edition2015 and Edition2018 for edition option 2018-08-31 00:04:23 -07:00
issue-2927.rs Accept 2015 and 2018 instead of Edition2015 and Edition2018 for edition option 2018-08-31 00:04:23 -07:00
issue-2930.rs Add a test for #2930 2018-08-31 15:25:08 +03:00
issue-2936.rs Fixed ellipsis bug where rustfmt was creating code that could not be parsed 2018-08-24 00:58:21 -04:00
issue-2955.rs Merge branch 'master' of https://github.com/rust-lang-nursery/rustfmt into fix-optional-arg-condensing 2018-08-27 13:44:56 -04:00
issue-2973.rs Fix indent computation of a macro with braces. 2018-09-18 00:01:51 +02:00
issue-2985.rs Add a test for #2985 2018-09-11 11:09:31 +03:00
issue-2995.rs Fix indexing panic on unicode whitespaces 2019-03-29 20:12:45 +09:00
issue-3029.rs Avoid control flow expressions conditions to go multi line 2018-10-13 14:12:43 -03:00
issue-3038.rs force a newline after the if condition if there is a different 2018-10-15 23:24:35 +02:00
issue-3049.rs Add a test for #3049 2018-10-06 16:32:27 +03:00
issue-3059.rs try to fix comment bad wrapping (#3099) 2018-10-15 11:18:37 +09:00
issue-3066.rs Add a test for #3066 2018-10-06 10:59:47 +03:00
issue-3131.rs fix the logic for retaining a comment before the arrow in a match 2018-11-07 15:00:33 +01:00
issue-3153.rs trim the start of a line when wrapping an item in preparation for formatting 2018-11-05 20:22:06 +01:00
issue-3158.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue-3194.rs compute the span after a struct-like item based on the ident description 2018-11-13 21:10:30 +01:00
issue-3198.rs leave post comment for self 2019-03-02 17:33:43 +09:00
issue-3217.rs Stabilize #![feature(label_break_value)] 2022-08-23 21:14:12 -05:00
issue-3234.rs add issue-3234 test 2019-02-08 00:05:54 +09:00
issue-3241.rs fix glob and nested global imports 2019-01-27 12:46:14 +01:00
issue-3265.rs Add test cases. 2018-12-24 06:18:00 +09:00
issue-3302.rs fix formatting of strings within a macro 2019-02-07 00:05:05 +01:00
issue-3343.rs removed bitrig support (#3608) 2019-06-07 16:56:30 +09:00
issue-3423.rs remove trailing whitespaces in missing spans 2019-03-16 12:23:02 +01:00
issue-3465.rs Add a test for #3465 2019-03-24 18:43:35 +09:00
issue-3508.rs leave the comment in parentheses of argumentless Fn (#3518) 2019-04-23 16:21:04 -07:00
issue-3515.rs Add and update test for #3515 2019-04-23 08:50:44 +09:00
issue-3532.rs fix Comma in comment causes no formatting 2019-04-29 21:38:38 +09:00
issue-3636.rs Fix bugs related to file-lines (#3684) 2019-07-15 22:41:56 +09:00
issue-3639.rs fix extraction of missing comments when rewriting an empty where clause (#3663) 2019-06-30 12:19:24 +09:00
issue-3651.rs fix internal error for long closure types (#3653) 2019-06-25 23:14:19 +09:00
issue-3672.rs add test for handling double semicolon (#3706) 2019-07-29 05:56:34 +09:00
issue-3675.rs fix 'extra comma inserted due to comment' (#3677) 2019-07-14 22:16:47 +09:00
issue-3709.rs fix: remove trailing space with empty dyn macro arg (#3737) 2019-08-11 12:49:14 +09:00
issue-3740.rs Use the correct BytePos for the opening brace position (#3742) 2019-08-13 23:21:55 +09:00
issue-3750.rs Rename merge_imports to imports_granularity and add a Module option. 2021-01-17 11:48:47 -06:00
issue-3751.rs fix rust code in comment with a line containing only a hash sign (#3818) 2019-10-02 23:58:25 +09:00
issue-3786.rs fix the error with long string in raw string (#3800) 2019-09-18 22:39:27 +09:00
issue-3787.rs improve detection of URL inside a string that is being rewritten. (#3809) 2019-10-07 16:43:50 +09:00
issue-4018.rs Preserve comments in empty statements (#4180) 2020-10-24 11:13:00 -05:00
issue-4079.rs fix: backport fix for #4079 2020-06-11 23:29:51 -05:00
issue-4120.rs Fixed 'Incorrect comment indent inside if/else' issue. (#4459) 2020-11-14 11:50:28 -06:00
issue-4243.rs Comment between typebounds (#4474) 2020-11-29 13:26:58 -06:00
issue-4244.rs Fixed 'Comment removed between type name and =' issue (#4448) 2020-11-29 13:26:58 -06:00
issue-4245.rs Fixed comment dropped between & and type issue (#4482) 2020-11-29 13:26:58 -06:00
issue-4312.rs Add the case in duplicate issue (#4806) to the idempotent tests 2021-04-21 21:30:42 -05:00
issue-4382.rs fixup! Correctly create artificial span for formatting closure body 2020-11-14 11:50:28 -06:00
issue-4398.rs Correctly indent skipped-over code 2020-10-24 11:13:00 -05:00
issue-4427.rs Add the use of rewrite_assign_rhs_with_comments to 1.x 2021-02-17 20:47:20 -06:00
issue-4530.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue-4577.rs Fix rewrite of closures with a return type 2020-12-20 12:05:05 -06:00
issue-4603.rs Fix for issue 4603 about extra macro body indentation (third version) 2021-02-17 20:19:27 -06:00
issue-4646.rs Added 4646 test case 2021-01-27 20:58:42 -06:00
issue-5011.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue-5023.rs Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
issue-5030.rs Merge commit '7b73b60fac' into sync-rustfmt 2022-06-12 22:03:05 -05:00
issue-5260.rs Merge commit '7b73b60fac' into sync-rustfmt 2022-06-12 22:03:05 -05:00
issue_3839.rs fix: handle block comments with trailing line comments (#3842) 2019-10-08 10:12:21 +09:00
issue_3844.rs fix panic on closure with empty block expr (#3846) 2019-10-08 11:00:31 +09:00
issue_3853.rs fix: comments between lhs and rhs 2019-10-17 20:13:11 -05:00
issue_3868.rs chore: backport some empty block check fixes 2021-01-27 20:58:42 -06:00
issue_4032.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue_4057.rs fix: unreachable err on Fn with None block 2020-03-27 22:13:46 -05:00
issue_4086.rs fix: formatting arbitrary extern abi (#4089) 2020-03-31 15:30:26 +09:00
issue_4257.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue_4322.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue_4374.rs tests: add system tests for inverted span issue 2020-08-09 14:32:34 -05:00
issue_4475.rs tests: attributed comment-only blocks 2020-11-14 11:50:28 -06:00
issue_4528.rs fix: don't drop leading comments in extern 2020-11-16 15:48:20 -06:00
issue_4579.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue_4584.rs fix: don't strip nonexistent comma in derive 2020-12-20 12:05:05 -06:00
issue_4636.rs fix: indentation issue on generic bounds 2021-01-16 11:17:23 -06:00
issue_4675.rs tests: add case for issue 4675 2021-01-28 22:01:50 -06:00
issue_4823.rs Merge commit '8da8371857' into sync-rustfmt-subtree 2021-12-02 21:35:30 -06:00
issue_4854.rs Merge commit '5ff7b632a9' into sync-rustfmt-subtree 2022-03-29 23:17:30 -05:00
issue_4911.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue_4943.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue_4954.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue_4963.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
issue_5027.rs Merge commit '8da8371857' into sync-rustfmt-subtree 2021-12-02 21:35:30 -06:00
issue_5086.rs Merge commit '8da8371857' into sync-rustfmt-subtree 2021-12-02 21:35:30 -06:00
item-brace-style-always-next-line.rs Merge commit 'ea199bacef' into rustfmt-sync 2021-11-07 20:37:34 -06:00
item-brace-style-prefer-same-line.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
item-brace-style-same-line-where.rs removed comment with default: rustfmt-brace_style 2018-06-27 01:36:02 +02:00
label_break.rs fix label prefix 2018-05-21 22:37:55 +08:00
large-block.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
large_vec.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
lazy_static.rs Use nested_shape for indenting types of lazy_static 2018-03-07 10:51:28 +09:00
let_else.rs Temporary fix rustfmt for let-else 2021-08-30 20:18:41 -05:00
long-match-arms-brace-newline.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
long-use-statement-issue-3154.rs missed-spans: Fix bogus check. 2018-10-30 03:21:28 +01:00
long_field_access.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
loop.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
macro_not_expr.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
macro_rules.rs Handle raw string literal without any sharps 2018-08-31 10:49:39 +09:00
macros.rs Forbid adding or removing a block from match arms inside macro calls (#3756) 2019-08-28 20:50:41 +09:00
markdown-comment-with-options.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
markdown-comment.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
match-block-trailing-comma.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
match-flattening.rs Add a test for match flattening 2018-09-11 08:54:43 +03:00
match-nowrap-trailing-comma.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
match-nowrap.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
match.rs Merge commit '4a053f206f' into sync-rustfmt-subtree 2021-12-29 20:49:39 -06:00
match_overflow_expr.rs Enable overflow_delimited_expr for structs 2019-03-30 18:37:37 +01:00
max-line-length-in-chars.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
merge_imports_true_compat.rs Rename merge_imports to imports_granularity and add a Module option. 2021-01-17 11:48:47 -06:00
mod-1.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
mod-2.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
mod_skip_child.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
multiple.rs Various cosmetic improvements (#3403) 2019-02-19 11:56:42 +09:00
negative-impl.rs Add negative impl test 2020-11-30 23:24:36 -06:00
nested-if-else.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
no_arg_with_commnet.rs fix not to remove comment in the case of no arg 2019-03-05 00:18:33 +09:00
no_new_line_beginning.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
normalize_doc_attributes_should_not_imply_format_doc_comments.rs Add tests for #3417. 2019-05-01 16:27:34 +08:00
normalize_multiline_doc_attribute.rs Add a test for #3575 2019-05-22 00:10:35 +09:00
one_line_if_v1.rs Format the if expression at the end of the block in a single line (#3338) 2019-03-11 23:18:43 +09:00
one_line_if_v2.rs Format the if expression at the end of the block in a single line (#3338) 2019-03-11 23:18:43 +09:00
other.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
paren.rs removed comment with default: rustfmt-remove_nested_parens 2018-06-27 15:28:32 +02:00
paths.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
pattern-condense-wildcards.rs fix a few typos found via codespell. 2018-10-19 12:28:00 +02:00
pattern.rs Fix broken tuple pattern (#3729) 2019-08-06 11:09:45 +09:00
preserves_carriage_return_for_unix.rs Preserve standalone carriage returns on windows also 2019-04-24 21:01:09 +02:00
preserves_carriage_return_for_windows.rs Preserve standalone carriage returns on windows also 2019-04-24 21:01:09 +02:00
pub-restricted.rs Remove crate visibility modifier in libs, tests 2022-05-21 00:32:47 -04:00
remove_blank_lines.rs fix a few typos found via codespell. 2018-10-19 12:28:00 +02:00
reorder-impl-items.rs fix a few typos found via codespell. 2018-10-19 12:28:00 +02:00
single-line-if-else.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
soft-wrapping.rs Various cosmetic improvements (#3403) 2019-02-19 11:56:42 +09:00
space-not-before-newline.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
spaces-around-ranges.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
statements.rs fix: maintain redundant semis on items in statement pos 2021-01-09 12:11:52 -06:00
static.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
string-lit-2.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
string-lit.rs removed comment with default: rustfmt-error_on_line_overflow 2018-06-27 01:36:01 +02:00
string_punctuation.rs Use Unicode-standard char width to wrap comments or strings. (#3275) 2019-01-15 08:41:09 +09:00
struct-field-attributes.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
struct_field_doc_comment.rs Merge commit '7b73b60fac' into sync-rustfmt 2022-06-12 22:03:05 -05:00
struct_lits.rs removed comment with default: rustfmt-error_on_line_overflow 2018-06-27 01:36:01 +02:00
struct_lits_multiline.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
struct_lits_visual.rs removed comment with default: rustfmt-error_on_line_overflow 2018-06-27 01:36:01 +02:00
struct_lits_visual_multiline.rs removed comment with default: rustfmt-error_on_line_overflow 2018-06-27 01:36:01 +02:00
struct_tuple_visual.rs removed comment with default: rustfmt-error_on_line_overflow 2018-06-27 01:36:01 +02:00
structs.rs feat: support struct/slice destructuring 2020-11-28 17:41:21 -06:00
trailing-comma-never.rs Do not force trailing comma when using mixed layout 2019-01-31 23:44:58 +09:00
trailing_commas.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
trait.rs Merge commit 'efa8f5521d' into rustfmt-subtree 2021-10-20 00:11:59 -05:00
try-conversion.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
try_block.rs Add some basic tests for try{} expressions 2020-11-02 18:31:51 -06:00
tuple.rs feat: v2 support for nested tuples w/o spaces 2020-11-02 18:31:51 -06:00
tuple_v2.rs feat: v2 support for nested tuples w/o spaces 2020-11-02 18:31:51 -06:00
type-ascription.rs Various cosmetic improvements (#3403) 2019-02-19 11:56:42 +09:00
type.rs Fix rustfmt test 2021-08-27 11:53:03 +00:00
type_alias.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
unicode.rs handle unicode chars in closures (#3632) 2019-06-17 08:53:17 +09:00
unions.rs Various cosmetic improvements (#3403) 2019-02-19 11:56:42 +09:00
unsafe-mod.rs Add regression test for unsafe mods 2020-09-23 00:45:18 -05:00
visibility.rs Add tests for #2398 2018-03-06 19:42:55 +09:00
visual-fn-type.rs Add a visual fn type alias test 2018-09-11 12:34:21 +03:00
where-clause-rfc.rs removed comment with default: rustfmt-indent_style 2018-06-27 01:35:53 +02:00
where-clause.rs Tidy up and pass tests 2018-03-02 15:07:13 +13:00
width-heuristics.rs Add test for width heuristics 2018-05-02 11:38:23 +02:00
wrap_comments_should_not_imply_format_doc_comments.rs Add tests for #3417. 2019-05-01 16:27:34 +08:00