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.
This commit is contained in:
parent
c9334404f0
commit
c97c7bfcf3
1 changed files with 17 additions and 0 deletions
|
@ -1136,6 +1136,16 @@ fn usage(verbose: bool, include_unstable_options: bool) {
|
||||||
verbose_help);
|
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. The most used lints that are not
|
||||||
|
enabled by default covered by -Wunused; however, the best practice is to put
|
||||||
|
warning settings in the crate root using `#![warn(unused)]` instead of using
|
||||||
|
the command line flag directly.
|
||||||
|
");
|
||||||
|
}
|
||||||
|
|
||||||
fn describe_lints(sess: &Session, lint_store: &lint::LintStore, loaded_plugins: bool) {
|
fn describe_lints(sess: &Session, lint_store: &lint::LintStore, loaded_plugins: bool) {
|
||||||
println!("
|
println!("
|
||||||
Available lint options:
|
Available lint options:
|
||||||
|
@ -1379,6 +1389,13 @@ pub fn handle_options(args: &[String]) -> Option<getopts::Matches> {
|
||||||
nightly_options::is_unstable_enabled(&matches));
|
nightly_options::is_unstable_enabled(&matches));
|
||||||
return None;
|
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.
|
// Don't handle -W help here, because we might first load plugins.
|
||||||
let r = matches.opt_strs("Z");
|
let r = matches.opt_strs("Z");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue