From d7c89508384737212c0c711def1d408323457a01 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sun, 27 Aug 2023 19:12:42 +0200 Subject: [PATCH 1/2] tell people what to do when removing an error code --- compiler/rustc_error_codes/src/error_codes.rs | 3 ++- src/tools/tidy/src/error_codes.rs | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/compiler/rustc_error_codes/src/error_codes.rs b/compiler/rustc_error_codes/src/error_codes.rs index d104ff0891d34..2daf591bd65be 100644 --- a/compiler/rustc_error_codes/src/error_codes.rs +++ b/compiler/rustc_error_codes/src/error_codes.rs @@ -516,7 +516,8 @@ E0793: include_str!("./error_codes/E0793.md"), E0794: include_str!("./error_codes/E0794.md"), } -// Undocumented removed error codes. Note that many removed error codes are documented. +// Undocumented removed error codes. Note that many removed error codes are kept in the list above +// and marked as no-longer emitted with a note in the markdown file (see E0001 for an example). // E0006, // merged with E0005 // E0008, // cannot bind by-move into a pattern guard // E0019, // merged into E0015 diff --git a/src/tools/tidy/src/error_codes.rs b/src/tools/tidy/src/error_codes.rs index 417ace58c325d..602a0cc847423 100644 --- a/src/tools/tidy/src/error_codes.rs +++ b/src/tools/tidy/src/error_codes.rs @@ -354,7 +354,11 @@ fn check_error_codes_used( for code in error_codes { if !found_codes.contains(code) && !no_longer_emitted.contains(code) { - errors.push(format!("Error code `{code}` exists, but is not emitted by the compiler!")) + errors.push(format!( + "Error code `{code}` exists, but is not emitted by the compiler!\n\ + Please mark the code as no longer emitted by adding the following note to the top of the `EXXXX.md` file:\n\ + `#### Note: this error code is no longer emitted by the compiler`" + )); } if found_codes.contains(code) && no_longer_emitted.contains(code) { From 776466d6b75f9f08700a4a0d8c7de9638971e414 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sun, 27 Aug 2023 20:13:51 +0200 Subject: [PATCH 2/2] also ignore doctests --- src/tools/tidy/src/error_codes.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tools/tidy/src/error_codes.rs b/src/tools/tidy/src/error_codes.rs index 602a0cc847423..3e67bac499b0b 100644 --- a/src/tools/tidy/src/error_codes.rs +++ b/src/tools/tidy/src/error_codes.rs @@ -357,7 +357,8 @@ fn check_error_codes_used( errors.push(format!( "Error code `{code}` exists, but is not emitted by the compiler!\n\ Please mark the code as no longer emitted by adding the following note to the top of the `EXXXX.md` file:\n\ - `#### Note: this error code is no longer emitted by the compiler`" + `#### Note: this error code is no longer emitted by the compiler`\n\ + Also, do not forget to mark doctests that no longer apply as `ignore (error is no longer emitted)`." )); }