diff options
| author | kennytm <kennytm@gmail.com> | 2018-03-14 16:29:42 +0800 |
|---|---|---|
| committer | kennytm <kennytm@gmail.com> | 2018-03-15 00:15:44 +0800 |
| commit | 4ea78d4c844bfff0efbc5043efd04f40e44c9b01 (patch) | |
| tree | 9f91c28c792977f97cb136370e64f9b6ad64e876 /src | |
| parent | d089fe974edc53fa34384e8e76eeb1eca0d89042 (diff) | |
| parent | c1337cda4ccf349b8a5a80156e32c2499520b621 (diff) | |
| download | rust-4ea78d4c844bfff0efbc5043efd04f40e44c9b01.tar.gz rust-4ea78d4c844bfff0efbc5043efd04f40e44c9b01.zip | |
Rollup merge of #48765 - Phlosioneer:10234-wall-help-message, r=estebank
Add info message for -Wall command Users coming from other languages (namely C and C++) often expect to use a -Wall flag. Rustc doesn't support that, and previously it simply printed that it didn't recognize the "all" lint. This change makes rustc print out a help message, explaining: - Why there is no -Wall flag - How to view all the available warnings - Point out that the most commonly used warning is -Wunused - Instead of using a command-line flag, the user should consider a !#[warn(unused)] directive in the root of their crate. I tried to keep the language consistent with the other usage help. Comment if I should change anything. closes #10234, if accepted.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_driver/lib.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index 04513bfa53d..4974e6f24a8 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -1147,6 +1147,15 @@ fn usage(verbose: bool, include_unstable_options: bool) { verbose_help); } +fn print_wall_help() { + println!(" +The flag `-Wall` does not exist in `rustc`. Most useful lints are enabled by +default. Use `rustc -W help` to see all available lints. It's more common to put +warning settings in the crate root using `#![warn(LINT_NAME)]` instead of using +the command line flag directly. +"); +} + fn describe_lints(sess: &Session, lint_store: &lint::LintStore, loaded_plugins: bool) { println!(" Available lint options: @@ -1391,6 +1400,13 @@ pub fn handle_options(args: &[String]) -> Option<getopts::Matches> { return None; } + // Handle the special case of -Wall. + let wall = matches.opt_strs("W"); + if wall.iter().any(|x| *x == "all") { + print_wall_help(); + return None; + } + // Don't handle -W help here, because we might first load plugins. let r = matches.opt_strs("Z"); if r.iter().any(|x| *x == "help") { |
