diff options
| author | xFrednet <xFrednet@gmail.com> | 2022-11-25 21:50:38 +0100 |
|---|---|---|
| committer | xFrednet <xFrednet@gmail.com> | 2022-11-26 11:55:25 +0100 |
| commit | 459621d31be6f9b177372feae3a37a872a630f58 (patch) | |
| tree | 1450a38065b28aa5ca35b8276aab38bb45870631 | |
| parent | 6d0b4e3a0933efd924981a2e86bc9f9cbef54158 (diff) | |
| download | rust-459621d31be6f9b177372feae3a37a872a630f58.tar.gz rust-459621d31be6f9b177372feae3a37a872a630f58.zip | |
Improve `EXIT` lint docs
| -rw-r--r-- | clippy_lints/src/exit.rs | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/clippy_lints/src/exit.rs b/clippy_lints/src/exit.rs index 407dd1b3957..9c8b0d076df 100644 --- a/clippy_lints/src/exit.rs +++ b/clippy_lints/src/exit.rs @@ -7,21 +7,34 @@ use rustc_session::{declare_lint_pass, declare_tool_lint}; declare_clippy_lint! { /// ### What it does - /// `exit()` terminates the program and doesn't provide a - /// stack trace. + /// Detects calls to the `exit()` function which terminates the program. /// /// ### Why is this bad? - /// Ideally a program is terminated by finishing + /// Exit terminates the program at the location it is called. For unrecoverable + /// errors `panics` should be used to provide a stacktrace and potentualy other + /// information. A normal termination or one with an error code should happen in /// the main function. /// /// ### Example - /// ```ignore + /// ``` /// std::process::exit(0) /// ``` + /// + /// Use instead: + /// + /// ```ignore + /// // To provide a stacktrace and additional information + /// panic!("message"); + /// + /// // or a main method with a return + /// fn main() -> Result<(), i32> { + /// Ok(()) + /// } + /// ``` #[clippy::version = "1.41.0"] pub EXIT, restriction, - "`std::process::exit` is called, terminating the program" + "detects `std::process::exit` calls" } declare_lint_pass!(Exit => [EXIT]); |
