@@ -70,14 +70,23 @@ example of how to trigger it and advice on how to fix it.
70
70
Please read [ RFC 1567] for details on how to format and write long error
71
71
codes.
72
72
73
- The descriptions are written in markdown , and all of them are linked in the
73
+ The descriptions are written in Markdown , and all of them are linked in the
74
74
[ ` rustc_error_codes ` ] crate.
75
75
76
- TODO: When should an error use an error code, and when shouldn't it?
76
+ As a general rule, give an error a code (with an associated explanation) if the
77
+ explanation would give more information than the error itself. A lot of the time
78
+ it's better to put all the information in the emitted error itself. However,
79
+ sometimes that would make the error verbose or there are too many possible
80
+ triggers to include useful information for all cases in the error, in which case
81
+ it's a good idea to add an explanation.[ ^ estebank ]
82
+ As always, if you are not sure, just ask your reviewer!
83
+
84
+ [ ^ estebank ] : This rule of thumb was suggested by ** @estebank ** [ here] [ estebank-comment ] .
77
85
78
86
[ `rustc_error_codes` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_error_codes/error_codes/index.html
79
87
[ error index ] : https://doc.rust-lang.org/error-index.html
80
88
[ RFC 1567 ] : https://github.com/rust-lang/rfcs/blob/master/text/1567-long-error-codes-explanation-normalization.md
89
+ [ estebank-comment ] : https://github.com/rust-lang/rustc-dev-guide/pull/967#issuecomment-733218283
81
90
82
91
### Lints versus fixed diagnostics
83
92
0 commit comments