1
Fork 0
rust/compiler/rustc_error_codes/src/error_codes
Joshua Nelson 31e39446ec 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
..
E0001.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0002.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0004.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0005.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0007.md Disabled error E0007 from rustc_error_codes 2020-09-15 14:23:20 +08:00
E0009.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0010.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0013.md Edit multiple error code Markdown files 2021-01-30 15:57:46 -08:00
E0014.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0015.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0023.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0025.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0026.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0027.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0029.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0030.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0033.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0034.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0038.md fix(compiler): correct minor typos in some long error code explanations 2022-01-11 10:42:51 +08:00
E0040.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0044.md Update tests for extern block linting 2021-01-13 07:49:16 -05:00
E0045.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0046.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0049.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0050.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0053.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0054.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0055.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0057.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0059.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0060.md Stabilize the bundle native library modifier 2022-06-09 23:12:58 +04:00
E0061.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0062.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0063.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0067.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0069.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0070.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0071.md Do not issue E0071 if a type error has already been reported 2021-09-12 23:07:23 +02:00
E0072.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0073.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0074.md Update docs with powers-of-two 2021-01-24 00:17:40 -05:00
E0075.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0076.md Update docs with powers-of-two 2021-01-24 00:17:40 -05:00
E0077.md Update docs with powers-of-two 2021-01-24 00:17:40 -05:00
E0080.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0081.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0084.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0087.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0088.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0089.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0090.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0091.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0092.md Correct file path after some restructures in compiler 2020-09-20 13:48:16 +00:00
E0093.md Rename/restructure memory ordering intrinsics. 2022-06-28 08:58:27 +02:00
E0094.md Minor adjustments and refactoring 2021-07-01 17:48:19 +02:00
E0106.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0107.md Edit multiple error code Markdown files 2021-01-30 15:57:46 -08:00
E0109.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0110.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0116.md Edit multiple error code Markdown files 2021-01-30 15:57:46 -08:00
E0117.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0118.md Improve the function pointer docs 2022-07-19 08:52:24 -07:00
E0119.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0120.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0121.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0124.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0128.md progress, stuff compiles now 2021-03-23 17:16:20 +00:00
E0130.md Update tests for extern block linting 2021-01-13 07:49:16 -05:00
E0131.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0132.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0133.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0136.md Implement RFC 1260 with feature_name imported_main. 2021-04-29 08:35:08 +08:00
E0137.md Remove #[main] attribute. 2021-04-16 13:04:02 +08:00
E0138.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0139.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0152.md Detect incorrect number of lang item generics 2021-08-23 10:15:25 -04:00
E0154.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0158.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0161.md Change example and tests for E0161. 2021-08-20 15:59:42 +02:00
E0162.md replace if-let and while-let with if let and while let 2021-02-17 19:26:38 +09:00
E0164.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0165.md replace if-let and while-let with if let and while let 2021-02-17 19:26:38 +09:00
E0170.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0178.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0183.md fix(compiler): correct minor typos in some long error code explanations 2022-01-11 10:42:51 +08:00
E0184.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0185.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0186.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0191.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0192.md Add missing E0192 in the error code listing 2022-02-12 00:43:09 +01:00
E0193.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0195.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0197.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0198.md Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
E0199.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0200.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0201.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0203.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0204.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0205.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0206.md Update Copy/Clone documentation WRT arrays 2021-11-08 13:11:59 -05:00
E0207.md Fix spelling in documentation for error E0207 2021-01-24 20:31:42 +01:00
E0210.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0211.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0212.md Add long explanation for E0212 2020-12-04 22:17:06 +09:00
E0214.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0220.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0221.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0222.md Consistently use 'supertrait'. 2021-10-02 08:05:44 +07:00
E0223.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0224.md Fix typos in E0224 2020-09-01 23:05:56 +10:00
E0225.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0226.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0227.md docs(error-codes): Add long error explanation for E0227 2021-12-28 15:46:20 +03:00
E0228.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0229.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0230.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0231.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0232.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0243.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0244.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0251.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0252.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0253.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0254.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0255.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0256.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0259.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0260.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0261.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0262.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0263.md Use the same message as type & const generics. 2022-06-03 08:26:10 +02:00
E0264.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0267.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0268.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0271.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0275.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0276.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0277.md swap function order for better read flow 2021-05-13 13:22:24 +02:00
E0281.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0282.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0283.md Don't use main; improve example 2022-07-19 10:23:34 +02:00
E0284.md Remove out-of-context line at end of E0284 message 2022-03-02 10:09:02 -03:00
E0297.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0301.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0302.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0303.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0307.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0308.md Update description for error E0308 2020-10-25 12:20:25 +01:00
E0309.md Edit multiple error code Markdown files 2021-01-30 15:57:46 -08:00
E0310.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0312.md Fully stabilize NLL 2022-06-03 17:16:41 -04:00
E0316.md Add E0316.md 2021-06-07 14:20:39 +02:00
E0317.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0321.md Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
E0322.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0323.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0324.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0325.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0326.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0328.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0329.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0364.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0365.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0366.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0367.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0368.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0369.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0370.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0371.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0373.md Simplify E0373 async code example 2021-01-15 16:50:48 +11:00
E0374.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0375.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0376.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0378.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0379.md remove const_fn from some error_code descriptions 2021-04-25 12:19:06 +02:00
E0380.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0381.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0382.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0383.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0384.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0386.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0387.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0388.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0389.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0390.md rework error messages for incorrect inherent impls 2022-03-30 11:23:58 +02:00
E0391.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0392.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0393.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0398.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0399.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0401.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0403.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0404.md Mention trait alias on the E0404 note 2021-04-02 04:27:18 +09:00
E0405.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0407.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0408.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0409.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0411.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0412.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0415.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0416.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0422.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0423.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0424.md Fix typo in error code description 2020-10-10 18:02:53 +09:00
E0425.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0426.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0428.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0429.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0430.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0431.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0432.md E0432: rust 2018 -> rust 2018 or later in --explain message 2022-06-06 11:58:49 +02:00
E0433.md Clarify message about unresolved use 2020-09-01 18:38:14 +01:00
E0434.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0435.md Refine E0435 description 2021-01-07 20:20:58 +09:00
E0436.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0437.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0438.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0439.md Allow simd_shuffle to accept vectors of any length 2021-09-11 14:55:14 +00:00
E0445.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0446.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0447.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0448.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0449.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0451.md Fixed several error_codes/Exxxx.md messages which used UpperCamelCase instead of snake_case for module names 2022-06-10 11:25:47 +01:00
E0452.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0453.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0454.md Update tests for extern block linting 2021-01-13 07:49:16 -05:00
E0455.md rustc: Stricter checking for #[link] attributes 2022-05-15 02:45:47 +03:00
E0458.md rustc: Stricter checking for #[link] attributes 2022-05-15 02:45:47 +03:00
E0459.md Update tests for extern block linting 2021-01-13 07:49:16 -05:00
E0463.md Add more information to the error code for 'crate not found' 2021-02-03 11:51:42 -05:00
E0464.md Add long explanation for E0464 2021-10-12 13:10:12 -07:00
E0466.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0468.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0469.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0477.md Fully stabilize NLL 2022-06-03 17:16:41 -04:00
E0478.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0482.md Member constraints already covered all of E0482 already, so that error never occurred anymore 2021-10-18 15:50:56 +00:00
E0491.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0492.md Reinstate the error-code error over the feature gate error 2021-01-01 16:59:12 +00:00
E0493.md Fix typo with custom a custom -> with a custom 2021-06-13 21:21:45 +02:00
E0495.md Fully stabilize NLL 2022-06-03 17:16:41 -04:00
E0496.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0497.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0498.md Mark code as ignored due to requiring external plugin 2021-07-27 19:44:50 +01:00
E0499.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0500.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0501.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0502.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0503.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0504.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0505.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0506.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0507.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0508.md Add destructuring example of E0508 2021-06-22 22:24:46 +10:00
E0509.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0510.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0511.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0512.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0515.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0516.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0517.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0518.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0520.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0521.md fix(compiler): correct minor typos in some long error code explanations 2022-01-11 10:42:51 +08:00
E0522.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0524.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0525.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0527.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0528.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0529.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0530.md Expand explanation of E0530 2021-08-03 11:11:17 +01:00
E0531.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0532.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0533.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0534.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0535.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0536.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0537.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0538.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0539.md Update error code docs 2022-04-14 21:19:46 -04:00
E0541.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0542.md Update error code docs 2022-04-14 21:19:46 -04:00
E0543.md Update error code docs 2022-04-14 21:19:46 -04:00
E0544.md Add long explanation for E0544. 2021-07-26 22:59:16 +01:00
E0545.md fn must be const if marked with stability attribut 2021-07-08 07:52:05 +02:00
E0546.md Improve long explanation for E0542 and E0546 2021-02-11 16:26:07 +01:00
E0547.md fn must be const if marked with stability attribut 2021-07-08 07:52:05 +02:00
E0549.md Update error code docs 2022-04-14 21:19:46 -04:00
E0550.md Add note to E0550 2022-04-14 22:44:21 -04:00
E0551.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0552.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0554.md Stablize non_ascii_idents feature. 2021-04-08 02:52:00 +08:00
E0556.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0557.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0559.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0560.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0561.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0562.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0565.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0566.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0567.md Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
E0568.md Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
E0569.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0570.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0571.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0572.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0573.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0574.md Fixed several error_codes/Exxxx.md messages which used UpperCamelCase instead of snake_case for module names 2022-06-10 11:25:47 +01:00
E0575.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0576.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0577.md E0577 fixed Sea struct CamelCase/sea module snake_case 2022-06-10 14:21:40 +01:00
E0578.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0579.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0580.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0581.md fix(compiler): correct minor typos in some long error code explanations 2022-01-11 10:42:51 +08:00
E0582.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0583.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0584.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0585.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0586.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0587.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0588.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0589.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0590.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0591.md Slightly improve code samples in E0591 2020-11-27 19:07:14 -08:00
E0592.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0593.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0594.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0595.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0596.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0597.md Edit multiple error code Markdown files 2021-01-30 15:57:46 -08:00
E0599.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0600.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0601.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0602.md Error when warnings lint group is used with force-warn 2021-08-18 11:53:59 +02:00
E0603.md Fixed several error_codes/Exxxx.md messages which used UpperCamelCase instead of snake_case for module names 2022-06-10 11:25:47 +01:00
E0604.md #91836: Clarify error on casting larger integers to char 2021-12-14 21:49:49 +00:00
E0605.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0606.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0607.md Add "For example," 2020-09-07 18:48:22 -07:00
E0608.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0609.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0610.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0614.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0615.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0616.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0617.md fix example code for E0617 2021-07-28 16:33:02 -04:00
E0618.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0619.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0620.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0621.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0622.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0623.md Fully stabilize NLL 2022-06-03 17:16:41 -04:00
E0624.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0625.md move full explanation to after erroneous example 2021-08-04 15:49:00 -04:00
E0626.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0627.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0628.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0631.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0632.md Deactivate feature gate explicit_generic_args_with_impl_trait 2022-06-06 12:21:49 +01:00
E0633.md rustc: Fill out remaining parts of C-unwind ABI 2021-08-03 07:06:19 -07:00
E0634.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0635.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0636.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0637.md Update E0637 description to mention & w/o an explicit lifetime name 2021-10-16 02:49:58 +09:00
E0638.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0639.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0641.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0642.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0643.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0644.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0646.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0647.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0648.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0657.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0658.md Edit multiple error code Markdown files 2021-01-30 15:57:46 -08:00
E0659.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0660.md Error codes specific to LLVM-style inline asssembly are no longer emitted 2022-01-12 21:43:36 +01:00
E0661.md Error codes specific to LLVM-style inline asssembly are no longer emitted 2022-01-12 21:43:36 +01:00
E0662.md Error codes specific to LLVM-style inline asssembly are no longer emitted 2022-01-12 21:43:36 +01:00
E0663.md Error codes specific to LLVM-style inline asssembly are no longer emitted 2022-01-12 21:43:36 +01:00
E0664.md Error codes specific to LLVM-style inline asssembly are no longer emitted 2022-01-12 21:43:36 +01:00
E0665.md Indicate E0665 is no longer emitted 2021-07-27 15:47:49 -04:00
E0666.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0667.md Add long error explanation for E0667 2022-03-27 14:09:52 +02:00
E0668.md Error codes specific to LLVM-style inline asssembly are no longer emitted 2022-01-12 21:43:36 +01:00
E0669.md Error codes specific to LLVM-style inline asssembly are no longer emitted 2022-01-12 21:43:36 +01:00
E0670.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0671.md feature(const_generics) -> feature(const_param_types) 2021-08-30 11:00:21 +02:00
E0687.md Remove in-band lifetimes 2022-02-24 18:50:33 -08:00
E0688.md Remove in-band lifetimes 2022-02-24 18:50:33 -08:00
E0689.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0690.md Adjust documentation 2021-06-14 07:42:15 +09:00
E0691.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0692.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0693.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0695.md Stabilize #![feature(label_break_value)] 2022-08-23 21:14:12 -05:00
E0696.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0697.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0698.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0699.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0700.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0701.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0703.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0704.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0705.md Remove ``` `ignore``` from E0705 test 2022-04-30 10:48:38 -05:00
E0706.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0708.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0710.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0712.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0713.md Fully stabilize NLL 2022-06-03 17:16:41 -04:00
E0714.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0715.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0716.md E0716: clarify that equivalent code example is erroneous 2021-07-04 10:04:37 -05:00
E0718.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0719.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0720.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0722.md docs: add newline before example 2021-07-21 10:58:35 +01:00
E0724.md Update tests for extern block linting 2021-01-13 07:49:16 -05:00
E0725.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0726.md Add explanation for E0726 2022-02-28 15:51:05 +01:00
E0727.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0728.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0729.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0730.md update error codes 2020-12-26 18:24:10 +01:00
E0731.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0732.md Revert "Stabilize arbitrary_enum_discriminant" 2021-10-14 10:57:56 -04:00
E0733.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0734.md Update error code docs 2022-04-14 21:19:46 -04:00
E0735.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0736.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0737.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0739.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0740.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0741.md feature(const_param_types) -> feature(adt_const_params) 2021-08-30 12:07:36 +02:00
E0742.md Fixed several error_codes/Exxxx.md messages which used UpperCamelCase instead of snake_case for module names 2022-06-10 11:25:47 +01:00
E0743.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0744.md Update error code description 2021-07-30 00:33:30 +02:00
E0745.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0746.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0747.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0748.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0749.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0750.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0751.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0752.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0753.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0754.md Stablize non_ascii_idents feature. 2021-04-08 02:52:00 +08:00
E0755.md Add error explanation for E0755 2020-09-08 21:07:52 +02:00
E0756.md Add explanation for E0756 2020-09-21 21:04:56 +02:00
E0757.md docs: normalise wording in line with docs 2021-07-21 14:13:46 +01:00
E0758.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0759.md Fully stabilize NLL 2022-06-03 17:16:41 -04:00
E0760.md Revert "Auto merge of #91403 - cjgillot:inherit-async, r=oli-obk" 2022-02-17 16:00:04 +00:00
E0761.md [librustdoc] Reform lang string token splitting 2021-02-12 00:02:52 -08:00
E0762.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0763.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0764.md remove const_fn from some error_code descriptions 2021-04-25 12:19:06 +02:00
E0765.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0766.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0767.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0768.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
E0769.md Clean up E0769 explanation 2020-08-31 20:10:57 +02:00
E0770.md feature(const_generics) -> feature(const_param_types) 2021-08-30 11:00:21 +02:00
E0771.md feature(const_param_types) -> feature(adt_const_params) 2021-08-30 12:07:36 +02:00
E0772.md Fully stabilize NLL 2022-06-03 17:16:41 -04:00
E0773.md Give a better error message for duplicate built-in macros 2020-09-01 08:34:17 -04:00
E0774.md Create new E0774 code error 2020-09-08 21:32:03 +02:00
E0775.md Add more tests and check for ABI 2020-09-30 18:10:17 +01:00
E0776.md Add more tests and check for ABI 2020-09-30 18:10:17 +01:00
E0777.md Create E0777 error code for "invalid literal in derive" 2020-10-01 20:41:57 +02:00
E0778.md Implement the instruction_set attribute 2020-10-08 23:32:20 +01:00
E0779.md Implement the instruction_set attribute 2020-10-08 23:32:20 +01:00
E0780.md Rustdoc render public underscore_imports as Re-exports 2020-12-31 09:07:51 +00:00
E0781.md Add a new ABI to support cmse_nonsecure_call 2021-02-02 13:04:31 +00:00
E0782.md Add compatibility info to lints 2021-04-13 16:55:54 +02:00
E0783.md Add compatibility info to lints 2021-04-13 16:55:54 +02:00
E0784.md Assign E0784 to union expression error 2021-08-02 16:51:39 +02:00
E0785.md Update E0785.md 2021-08-30 22:18:55 -07:00
E0786.md Improve error when an .rlib can't be parsed 2021-11-07 15:03:40 +00:00
E0787.md Reject unsupported naked functions 2022-01-21 17:38:21 +01:00
E0788.md Changes from code review 2022-06-05 22:24:14 -04:00
E0790.md Don't use main; improve example 2022-07-19 10:23:34 +02:00