Auto merge of #45424 - petrochenkov:grlint, r=oli-obk
Add several lints into `unused` lint group Also a couple of obsolete (not reported) lints are removed. r? @oli-obk
This commit is contained in:
commit
dae6868637
@ -47,6 +47,7 @@
|
||||
#![feature(core_intrinsics)]
|
||||
#![feature(i128_type)]
|
||||
#![cfg_attr(windows, feature(libc))]
|
||||
#![feature(macro_vis_matcher)]
|
||||
#![feature(never_type)]
|
||||
#![feature(nonzero)]
|
||||
#![feature(quote)]
|
||||
|
@ -106,12 +106,6 @@ declare_lint! {
|
||||
"unknown crate type found in #[crate_type] directive"
|
||||
}
|
||||
|
||||
declare_lint! {
|
||||
pub FAT_PTR_TRANSMUTES,
|
||||
Allow,
|
||||
"detects transmutes of fat pointers"
|
||||
}
|
||||
|
||||
declare_lint! {
|
||||
pub TRIVIAL_CASTS,
|
||||
Allow,
|
||||
@ -250,7 +244,6 @@ impl LintPass for HardwiredLints {
|
||||
UNUSED_FEATURES,
|
||||
STABLE_FEATURES,
|
||||
UNKNOWN_CRATE_TYPES,
|
||||
FAT_PTR_TRANSMUTES,
|
||||
TRIVIAL_CASTS,
|
||||
TRIVIAL_NUMERIC_CASTS,
|
||||
PRIVATE_IN_PUBLIC,
|
||||
|
@ -84,29 +84,16 @@ impl Lint {
|
||||
}
|
||||
}
|
||||
|
||||
/// Build a `Lint` initializer.
|
||||
#[macro_export]
|
||||
macro_rules! lint_initializer {
|
||||
($name:ident, $level:ident, $desc:expr) => (
|
||||
::rustc::lint::Lint {
|
||||
name: stringify!($name),
|
||||
default_level: ::rustc::lint::$level,
|
||||
desc: $desc,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
/// Declare a static item of type `&'static Lint`.
|
||||
#[macro_export]
|
||||
macro_rules! declare_lint {
|
||||
(pub $name:ident, $level:ident, $desc:expr) => (
|
||||
pub static $name: &'static ::rustc::lint::Lint
|
||||
= &lint_initializer!($name, $level, $desc);
|
||||
);
|
||||
($name:ident, $level:ident, $desc:expr) => (
|
||||
static $name: &'static ::rustc::lint::Lint
|
||||
= &lint_initializer!($name, $level, $desc);
|
||||
);
|
||||
($vis: vis $NAME: ident, $Level: ident, $desc: expr) => (
|
||||
$vis static $NAME: &$crate::lint::Lint = &$crate::lint::Lint {
|
||||
name: stringify!($NAME),
|
||||
default_level: $crate::lint::$Level,
|
||||
desc: $desc
|
||||
};
|
||||
)
|
||||
}
|
||||
|
||||
/// Declare a static `LintArray` and return it as an expression.
|
||||
|
@ -621,12 +621,6 @@ impl EarlyLintPass for AnonymousParameters {
|
||||
}
|
||||
}
|
||||
|
||||
declare_lint! {
|
||||
DEPRECATED_ATTR,
|
||||
Warn,
|
||||
"detects use of deprecated attributes"
|
||||
}
|
||||
|
||||
/// Checks for use of attributes which have been deprecated.
|
||||
#[derive(Clone)]
|
||||
pub struct DeprecatedAttr {
|
||||
@ -645,7 +639,7 @@ impl DeprecatedAttr {
|
||||
|
||||
impl LintPass for DeprecatedAttr {
|
||||
fn get_lints(&self) -> LintArray {
|
||||
lint_array!(DEPRECATED_ATTR)
|
||||
lint_array!()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -28,6 +28,7 @@
|
||||
#![feature(box_patterns)]
|
||||
#![feature(box_syntax)]
|
||||
#![feature(i128_type)]
|
||||
#![feature(macro_vis_matcher)]
|
||||
#![feature(quote)]
|
||||
#![feature(rustc_diagnostic_macros)]
|
||||
#![feature(slice_patterns)]
|
||||
@ -163,7 +164,12 @@ pub fn register_builtins(store: &mut lint::LintStore, sess: Option<&Session>) {
|
||||
UNUSED_UNSAFE,
|
||||
PATH_STATEMENTS,
|
||||
UNUSED_ATTRIBUTES,
|
||||
UNUSED_MACROS);
|
||||
UNUSED_MACROS,
|
||||
UNUSED_ALLOCATION,
|
||||
UNUSED_DOC_COMMENT,
|
||||
UNUSED_EXTERN_CRATES,
|
||||
UNUSED_FEATURES,
|
||||
UNUSED_PARENS);
|
||||
|
||||
// Guidelines for creating a future incompatibility lint:
|
||||
//
|
||||
@ -239,15 +245,15 @@ pub fn register_builtins(store: &mut lint::LintStore, sess: Option<&Session>) {
|
||||
|
||||
// Register renamed and removed lints
|
||||
store.register_renamed("unknown_features", "unused_features");
|
||||
store.register_removed("unsigned_negation",
|
||||
"replaced by negate_unsigned feature gate");
|
||||
store.register_removed("unsigned_negation", "replaced by negate_unsigned feature gate");
|
||||
store.register_removed("negate_unsigned", "cast a signed value instead");
|
||||
store.register_removed("raw_pointer_derive", "using derive with raw pointers is ok");
|
||||
// This was renamed to raw_pointer_derive, which was then removed,
|
||||
// so it is also considered removed
|
||||
store.register_removed("raw_pointer_deriving",
|
||||
"using derive with raw pointers is ok");
|
||||
store.register_removed("raw_pointer_deriving", "using derive with raw pointers is ok");
|
||||
store.register_removed("drop_with_repr_extern", "drop flags have been removed");
|
||||
store.register_removed("fat_ptr_transmutes", "was accidentally removed back in 2014");
|
||||
store.register_removed("deprecated_attr", "use `deprecated` instead");
|
||||
store.register_removed("transmute_from_fn_item_types",
|
||||
"always cast functions before transmuting them");
|
||||
store.register_removed("hr_lifetime_in_assoc_type",
|
||||
|
@ -225,7 +225,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnusedAttributes {
|
||||
}
|
||||
|
||||
declare_lint! {
|
||||
UNUSED_PARENS,
|
||||
pub(super) UNUSED_PARENS,
|
||||
Warn,
|
||||
"`if`, `match`, `while` and `return` do not need parentheses"
|
||||
}
|
||||
@ -350,7 +350,7 @@ impl EarlyLintPass for UnusedImportBraces {
|
||||
}
|
||||
|
||||
declare_lint! {
|
||||
UNUSED_ALLOCATION,
|
||||
pub(super) UNUSED_ALLOCATION,
|
||||
Warn,
|
||||
"detects unnecessary allocations that can be eliminated"
|
||||
}
|
||||
|
@ -140,8 +140,7 @@ impl<'a, 'gcx> CheckCrateVisitor<'a, 'gcx> {
|
||||
self.tcx.lint_node(CONST_ERR,
|
||||
expr.id,
|
||||
expr.span,
|
||||
&format!("constant evaluation error: {}. This will \
|
||||
become a HARD ERROR in the future",
|
||||
&format!("constant evaluation error: {}",
|
||||
err.description().into_oneline()));
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#![feature(plugin_registrar, rustc_private)]
|
||||
#![feature(box_syntax)]
|
||||
#![feature(macro_vis_matcher)]
|
||||
|
||||
#[macro_use] extern crate rustc;
|
||||
extern crate rustc_plugin;
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#![feature(plugin_registrar)]
|
||||
#![feature(box_syntax, rustc_private)]
|
||||
#![feature(macro_vis_matcher)]
|
||||
|
||||
// Load rustc as a plugin to get macros
|
||||
#[macro_use]
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#![feature(plugin_registrar)]
|
||||
#![feature(box_syntax, rustc_private)]
|
||||
#![feature(macro_vis_matcher)]
|
||||
|
||||
extern crate syntax;
|
||||
|
||||
|
@ -82,7 +82,7 @@ const VALS_I64: (i64, i64, i64, i64) =
|
||||
);
|
||||
|
||||
const VALS_U8: (u8, u8, u8, u8) =
|
||||
( //~ WARN constant evaluation error: attempt to subtract with overflow.
|
||||
( //~ WARN constant evaluation error: attempt to subtract with overflow
|
||||
-(u8::MIN as i8) as u8,
|
||||
u8::MIN - 1,
|
||||
//~^ ERROR constant evaluation error
|
||||
@ -96,7 +96,7 @@ const VALS_U8: (u8, u8, u8, u8) =
|
||||
);
|
||||
|
||||
const VALS_U16: (u16, u16, u16, u16) =
|
||||
( //~ WARN constant evaluation error: attempt to subtract with overflow.
|
||||
( //~ WARN constant evaluation error: attempt to subtract with overflow
|
||||
-(u16::MIN as i16) as u16,
|
||||
u16::MIN - 1,
|
||||
//~^ ERROR constant evaluation error
|
||||
@ -110,7 +110,7 @@ const VALS_U16: (u16, u16, u16, u16) =
|
||||
);
|
||||
|
||||
const VALS_U32: (u32, u32, u32, u32) =
|
||||
( //~ WARN constant evaluation error: attempt to subtract with overflow.
|
||||
( //~ WARN constant evaluation error: attempt to subtract with overflow
|
||||
-(u32::MIN as i32) as u32,
|
||||
u32::MIN - 1,
|
||||
//~^ ERROR constant evaluation error
|
||||
@ -124,7 +124,7 @@ const VALS_U32: (u32, u32, u32, u32) =
|
||||
);
|
||||
|
||||
const VALS_U64: (u64, u64, u64, u64) =
|
||||
( //~ WARN constant evaluation error: attempt to subtract with overflow.
|
||||
( //~ WARN constant evaluation error: attempt to subtract with overflow
|
||||
-(u64::MIN as i64) as u64,
|
||||
u64::MIN - 1,
|
||||
//~^ ERROR constant evaluation error
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#![feature(plugin_registrar, rustc_private)]
|
||||
#![feature(box_syntax)]
|
||||
#![feature(macro_vis_matcher)]
|
||||
|
||||
#[macro_use] extern crate rustc;
|
||||
extern crate rustc_plugin;
|
||||
|
@ -8,6 +8,7 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
#![feature(box_syntax, plugin, plugin_registrar, rustc_private)]
|
||||
#![feature(macro_vis_matcher)]
|
||||
#![crate_type = "dylib"]
|
||||
|
||||
#[macro_use]
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#![feature(plugin_registrar)]
|
||||
#![feature(box_syntax, rustc_private)]
|
||||
#![feature(macro_vis_matcher)]
|
||||
|
||||
// Load rustc as a plugin to get macros
|
||||
#[macro_use]
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#![feature(plugin_registrar)]
|
||||
#![feature(box_syntax, rustc_private)]
|
||||
#![feature(macro_vis_matcher)]
|
||||
|
||||
extern crate syntax;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
warning: constant evaluation error: attempt to subtract with overflow. This will become a HARD ERROR in the future
|
||||
warning: constant evaluation error: attempt to subtract with overflow
|
||||
--> $DIR/issue-43197.rs:18:20
|
||||
|
|
||||
18 | const X: u32 = 0-1;
|
||||
@ -6,7 +6,7 @@ warning: constant evaluation error: attempt to subtract with overflow. This will
|
||||
|
|
||||
= note: #[warn(const_err)] on by default
|
||||
|
||||
warning: constant evaluation error: attempt to subtract with overflow. This will become a HARD ERROR in the future
|
||||
warning: constant evaluation error: attempt to subtract with overflow
|
||||
--> $DIR/issue-43197.rs:19:20
|
||||
|
|
||||
19 | const Y: u32 = foo(0-1);
|
||||
|
@ -8,7 +8,7 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#![warn(unused_mut)] // UI tests pass `-A unused`—see Issue #43896
|
||||
#![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896
|
||||
#![feature(no_debug)]
|
||||
|
||||
#[no_mangle] static SHENZHOU: usize = 1; // should suggest `pub`
|
||||
|
@ -4,7 +4,11 @@ warning: unnecessary parentheses around assigned value
|
||||
30 | let mut a = (1); // should suggest no `mut`, no parens
|
||||
| ^^^ help: remove these parentheses
|
||||
|
|
||||
= note: #[warn(unused_parens)] on by default
|
||||
note: lint level defined here
|
||||
--> $DIR/suggestions.rs:11:21
|
||||
|
|
||||
11 | #![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
warning: use of deprecated attribute `no_debug`: the `#[no_debug]` attribute was an experimental feature that has been deprecated due to lack of demand. See https://github.com/rust-lang/rust/issues/29721
|
||||
--> $DIR/suggestions.rs:27:1
|
||||
@ -25,7 +29,7 @@ warning: variable does not need to be mutable
|
||||
note: lint level defined here
|
||||
--> $DIR/suggestions.rs:11:9
|
||||
|
|
||||
11 | #![warn(unused_mut)] // UI tests pass `-A unused`—see Issue #43896
|
||||
11 | #![warn(unused_mut, unused_parens)] // UI tests pass `-A unused`—see Issue #43896
|
||||
| ^^^^^^^^^^
|
||||
|
||||
warning: static is marked #[no_mangle], but not exported
|
||||
|
@ -16,6 +16,8 @@
|
||||
// stripping away any starting or ending parenthesis characters—hence this
|
||||
// test of the JSON error format.
|
||||
|
||||
#![warn(unused_parens)]
|
||||
|
||||
fn main() {
|
||||
// We want to suggest the properly-balanced expression `1 / (2 + 3)`, not
|
||||
// the malformed `1 / (2 + 3`
|
||||
|
@ -1 +1 @@
|
||||
{"message":"unnecessary parentheses around assigned value","code":null,"level":"warning","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":976,"byte_end":989,"line_start":22,"line_end":22,"column_start":14,"column_end":27,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":14,"highlight_end":27}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"#[warn(unused_parens)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove these parentheses","code":null,"level":"help","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":976,"byte_end":989,"line_start":22,"line_end":22,"column_start":14,"column_end":27,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":14,"highlight_end":27}],"label":null,"suggested_replacement":"1 / (2 + 3)","expansion":null}],"children":[],"rendered":null}],"rendered":null}
|
||||
{"message":"unnecessary parentheses around assigned value","code":null,"level":"warning","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":1001,"byte_end":1014,"line_start":24,"line_end":24,"column_start":14,"column_end":27,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":14,"highlight_end":27}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":847,"byte_end":860,"line_start":19,"line_end":19,"column_start":9,"column_end":22,"is_primary":true,"text":[{"text":"#![warn(unused_parens)]","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":null},{"message":"remove these parentheses","code":null,"level":"help","spans":[{"file_name":"$DIR/unused_parens_json_suggestion.rs","byte_start":1001,"byte_end":1014,"line_start":24,"line_end":24,"column_start":14,"column_end":27,"is_primary":true,"text":[{"text":" let _a = (1 / (2 + 3));","highlight_start":14,"highlight_end":27}],"label":null,"suggested_replacement":"1 / (2 + 3)","expansion":null}],"children":[],"rendered":null}],"rendered":null}
|
||||
|
@ -4,7 +4,12 @@ warning: unnecessary parentheses around `return` value
|
||||
18 | return (<T as ToString>::to_string(&arg)); //~WARN unnecessary parentheses around `return` value
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
|
||||
|
|
||||
= note: #[warn(unused_parens)] on by default
|
||||
note: lint level defined here
|
||||
--> $DIR/path-lookahead.rs:13:9
|
||||
|
|
||||
13 | #![warn(unused)]
|
||||
| ^^^^^^
|
||||
= note: #[warn(unused_parens)] implied by #[warn(unused)]
|
||||
|
||||
warning: function is never used: `with_parens`
|
||||
--> $DIR/path-lookahead.rs:17:1
|
||||
|
@ -26,7 +26,7 @@
|
||||
miri = "Broken"
|
||||
|
||||
# ping @Manishearth @llogiq @mcarton @oli-obk
|
||||
clippy = "Compiling"
|
||||
clippy = "Broken"
|
||||
|
||||
# ping @nrc
|
||||
rls = "Testing"
|
||||
|
Loading…
Reference in New Issue
Block a user