From 7cc1ab4480bcb095642b66d55f3a49e40372a6bb Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Thu, 1 Jun 2017 23:25:13 +0200 Subject: [PATCH] Add E0602 --- src/librustc/diagnostics.rs | 13 +++++++++++++ src/librustc/lint/context.rs | 6 +++--- src/test/compile-fail/E0602.rs | 16 ++++++++++++++++ 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 src/test/compile-fail/E0602.rs diff --git a/src/librustc/diagnostics.rs b/src/librustc/diagnostics.rs index 2beb40d6b2f..800e678405a 100644 --- a/src/librustc/diagnostics.rs +++ b/src/librustc/diagnostics.rs @@ -1900,6 +1900,19 @@ If you don't know the basics of Rust, you can go look to the Rust Book to get started: https://doc.rust-lang.org/book/ "##, +E0602: r##" +An unknown lint was used on the command line. + +Erroneous example: + +```ignore +rustc -D bogus omse_file.rs +``` + +Maybe you just misspelled the lint name or the lint doesn't exist anymore. +Either way, try to update/remove it in order to fix the error. +"##, + } diff --git a/src/librustc/lint/context.rs b/src/librustc/lint/context.rs index 4c25a455f29..2022565d533 100644 --- a/src/librustc/lint/context.rs +++ b/src/librustc/lint/context.rs @@ -746,8 +746,8 @@ pub trait LintContext<'tcx>: Sized { continue; } } - }, - Err(FindLintError::Removed) => { continue; } + } + Err(FindLintError::Removed) => continue, } } }; @@ -1298,7 +1298,7 @@ fn check_lint_name_cmdline(sess: &Session, lint_cx: &LintStore, Some(sess.struct_warn(msg)) }, CheckLintNameResult::NoLint => { - Some(sess.struct_err(&format!("unknown lint: `{}`", lint_name))) + Some(struct_err!(sess, E0602, "unknown lint: `{}`", lint_name)) } }; diff --git a/src/test/compile-fail/E0602.rs b/src/test/compile-fail/E0602.rs new file mode 100644 index 00000000000..cc3e436d433 --- /dev/null +++ b/src/test/compile-fail/E0602.rs @@ -0,0 +1,16 @@ +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// compile-flags:-D bogus + +// error-pattern:E0602 +// error-pattern:requested on the command line with `-D bogus` + +fn main() {}