diff options
| author | Will Speak <lithiumflame@gmail.com> | 2015-10-06 21:15:04 +0100 |
|---|---|---|
| committer | Will Speak <will.speak@crispthinking.com> | 2015-10-07 11:59:51 +0100 |
| commit | 5d015561836761e7a3d99e46dc91ccc7b6403e73 (patch) | |
| tree | 9bc2a863b6ef4990d8d3bc15dfe7bbfb33fca314 | |
| parent | 799656311c72e8fd9cd7a84a3db8990cf5ef51e1 (diff) | |
| download | rust-5d015561836761e7a3d99e46dc91ccc7b6403e73.tar.gz rust-5d015561836761e7a3d99e46dc91ccc7b6403e73.zip | |
Make `--explain` Handle Partial Error Codes
Currently the explain command requires full erorr codes, complete with the leading zeros and the E at the beginning. This commit changes that, if you don't supply a full erorr code then the error number is padded out to the required size and the E is added to the beginning. This means that where previously you would need to write E0001, you can now write 0001, 001, 01 or jsut 1 to refer to the same error.
| -rw-r--r-- | src/librustc_driver/lib.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index d5644d49e1e..e4f033efb58 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -285,7 +285,12 @@ impl<'a> CompilerCalls<'a> for RustcDefaultCalls { -> Compilation { match matches.opt_str("explain") { Some(ref code) => { - match descriptions.find_description(&code[..]) { + let normalised = if !code.starts_with("E") { + format!("E{0:0>4}", code) + } else { + code.to_string() + }; + match descriptions.find_description(&normalised) { Some(ref description) => { // Slice off the leading newline and print. print!("{}", &description[1..]); |
