mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-31 14:31:55 +00:00
Remove all mention and testing of #[plugin(clippy)] and warn if used
This commit is contained in:
parent
654ff18588
commit
fd8a1d20cc
@ -151,13 +151,7 @@ Therefore you should use `tests/ui/update-all-references.sh` (after running
|
||||
Manually testing against an example file is useful if you have added some
|
||||
`println!`s and test suite output becomes unreadable. To try clippy with your
|
||||
local modifications, run `cargo run --bin clippy-driver -- -L ./target/debug input.rs` from the
|
||||
working copy root. Your test file, here `input.rs`, needs to have clippy
|
||||
enabled as a plugin:
|
||||
|
||||
```rust
|
||||
#![feature(plugin)]
|
||||
#![plugin(clippy)]
|
||||
```
|
||||
working copy root.
|
||||
|
||||
### How Clippy works
|
||||
|
||||
|
@ -73,7 +73,7 @@ SYSROOT=/path/to/rustc/sysroot cargo install clippy
|
||||
|
||||
### Running clippy from the command line without installing it
|
||||
|
||||
To have cargo compile your crate with clippy without clippy installation and without needing `#![plugin(clippy)]`
|
||||
To have cargo compile your crate with clippy without clippy installation
|
||||
in your code, you can use:
|
||||
|
||||
```terminal
|
||||
|
@ -14,10 +14,11 @@ extern crate clippy_lints;
|
||||
pub fn plugin_registrar(reg: &mut Registry) {
|
||||
reg.sess.lint_store.with_read_lock(|lint_store| {
|
||||
for (lint, _, _) in lint_store.get_lint_groups() {
|
||||
reg.sess
|
||||
.struct_warn("the clippy plugin is being deprecated, please use cargo clippy or rls with the clippy feature")
|
||||
.emit();
|
||||
if lint == "clippy" {
|
||||
reg.sess
|
||||
.struct_warn("running cargo clippy on a crate that also imports the clippy plugin")
|
||||
.emit();
|
||||
// cargo clippy run on a crate that also uses the plugin
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1,2 +0,0 @@
|
||||
#![feature(plugin)]
|
||||
#![plugin(clippy(conf_file = "./auxiliary/conf_whitelisted.toml"))]
|
@ -1,6 +1,3 @@
|
||||
#![feature(plugin)]
|
||||
#![plugin(clippy)]
|
||||
|
||||
#[allow(dead_code)]
|
||||
enum Baz {
|
||||
One,
|
||||
@ -12,7 +9,9 @@ struct Test {
|
||||
b: Baz,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
fn main() { }
|
||||
|
||||
pub fn foo() {
|
||||
use Baz::*;
|
||||
let x = Test { t: Some(0), b: One };
|
||||
|
@ -1,5 +1,3 @@
|
||||
#![feature(plugin)]
|
||||
#![plugin(clippy)]
|
||||
#![deny(clippy)]
|
||||
|
||||
#[allow(dead_code)]
|
||||
@ -15,3 +13,5 @@ impl Iterator for Foo {
|
||||
}
|
||||
|
||||
impl ExactSizeIterator for Foo {}
|
||||
|
||||
fn main() {}
|
@ -1,5 +1,3 @@
|
||||
#![feature(plugin)]
|
||||
#![plugin(clippy)]
|
||||
#![allow(warnings)]
|
||||
|
||||
// this should compile in a reasonable amount of time
|
@ -1,12 +1,11 @@
|
||||
#![feature(plugin)]
|
||||
#![plugin(clippy)]
|
||||
#![deny(mut_mut, zero_ptr, cmp_nan)]
|
||||
#![allow(dead_code)]
|
||||
|
||||
#[macro_use]
|
||||
extern crate lazy_static;
|
||||
// compiletest + extern crates doesn't work together
|
||||
//#[macro_use]
|
||||
//extern crate lazy_static;
|
||||
|
||||
use std::collections::HashMap;
|
||||
//use std::collections::HashMap;
|
||||
|
||||
// ensure that we don't suggest `is_nan` and `is_null` inside constants
|
||||
// FIXME: once const fn is stable, suggest these functions again in constants
|
||||
@ -17,6 +16,7 @@ static mut BUH: bool = 42.0 < std::f32::NAN;
|
||||
|
||||
#[allow(unused_variables, unused_mut)]
|
||||
fn main() {
|
||||
/*
|
||||
lazy_static! {
|
||||
static ref MUT_MAP : HashMap<usize, &'static str> = {
|
||||
let mut m = HashMap::new();
|
||||
@ -26,6 +26,7 @@ fn main() {
|
||||
static ref MUT_COUNT : usize = MUT_MAP.len();
|
||||
}
|
||||
assert_eq!(*MUT_COUNT, 1);
|
||||
*/
|
||||
// FIXME: don't lint in array length, requires `check_body`
|
||||
//let _ = [""; (42.0 < std::f32::NAN) as usize];
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
#![feature(plugin)]
|
||||
#![plugin(clippy)]
|
||||
|
||||
|
||||
|
||||
#[macro_use]
|
||||
extern crate serde_derive;
|
||||
@ -16,3 +16,5 @@ struct MacroAttributesTest {
|
||||
fn macro_attributes_test() {
|
||||
let _ = MacroAttributesTest { _foo: 0 };
|
||||
}
|
||||
|
||||
fn main() {}
|
1
tests/run-pass/whitelist/conf_whitelisted.rs
Normal file
1
tests/run-pass/whitelist/conf_whitelisted.rs
Normal file
@ -0,0 +1 @@
|
||||
fn main() {}
|
@ -1,6 +1,6 @@
|
||||
// error-pattern: error reading Clippy's configuration file
|
||||
|
||||
|
||||
#![plugin(clippy(conf_file="../ui/conf_bad_toml.toml"))]
|
||||
|
||||
|
||||
fn main() {}
|
0
tests/ui/bad_toml/conf_bad_toml.stderr
Normal file
0
tests/ui/bad_toml/conf_bad_toml.stderr
Normal file
@ -1,6 +1,6 @@
|
||||
// error-pattern: error reading Clippy's configuration file: `blacklisted-names` is expected to be a `Vec < String >` but is a `integer`
|
||||
|
||||
|
||||
#![plugin(clippy(conf_file="../ui/conf_bad_type.toml"))]
|
||||
|
||||
|
||||
fn main() {}
|
0
tests/ui/bad_toml_type/conf_bad_type.stderr
Normal file
0
tests/ui/bad_toml_type/conf_bad_type.stderr
Normal file
@ -1,6 +0,0 @@
|
||||
// error-pattern: `conf_file` must be a named value
|
||||
|
||||
|
||||
#![plugin(clippy(conf_file))]
|
||||
|
||||
fn main() {}
|
@ -1,11 +0,0 @@
|
||||
error[E0658]: compiler plugins are experimental and possibly buggy (see issue #29597)
|
||||
--> $DIR/conf_bad_arg.rs:4:1
|
||||
|
|
||||
4 | #![plugin(clippy(conf_file))]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: add #![feature(plugin)] to the crate attributes to enable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
@ -1,11 +0,0 @@
|
||||
error[E0658]: compiler plugins are experimental and possibly buggy (see issue #29597)
|
||||
--> $DIR/conf_bad_toml.rs:4:1
|
||||
|
|
||||
4 | #![plugin(clippy(conf_file="../ui/conf_bad_toml.toml"))]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: add #![feature(plugin)] to the crate attributes to enable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
@ -1,11 +0,0 @@
|
||||
error[E0658]: compiler plugins are experimental and possibly buggy (see issue #29597)
|
||||
--> $DIR/conf_bad_type.rs:4:1
|
||||
|
|
||||
4 | #![plugin(clippy(conf_file="../ui/conf_bad_type.toml"))]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: add #![feature(plugin)] to the crate attributes to enable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
@ -1,11 +0,0 @@
|
||||
error[E0658]: compiler plugins are experimental and possibly buggy (see issue #29597)
|
||||
--> $DIR/conf_french_blacklisted_name.rs:2:1
|
||||
|
|
||||
2 | #![plugin(clippy(conf_file="../auxiliary/conf_french_blacklisted_name.toml"))]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: add #![feature(plugin)] to the crate attributes to enable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
@ -1,5 +0,0 @@
|
||||
#![feature(attr_literals)]
|
||||
|
||||
#![plugin(clippy(conf_file=42))]
|
||||
|
||||
fn main() {}
|
@ -1,11 +0,0 @@
|
||||
error[E0658]: compiler plugins are experimental and possibly buggy (see issue #29597)
|
||||
--> $DIR/conf_path_non_string.rs:3:1
|
||||
|
|
||||
3 | #![plugin(clippy(conf_file=42))]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: add #![feature(plugin)] to the crate attributes to enable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
@ -1,11 +0,0 @@
|
||||
error[E0658]: compiler plugins are experimental and possibly buggy (see issue #29597)
|
||||
--> $DIR/conf_unknown_key.rs:4:1
|
||||
|
|
||||
4 | #![plugin(clippy(conf_file="../auxiliary/conf_unknown_key.toml"))]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: add #![feature(plugin)] to the crate attributes to enable
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0658`.
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, custom_attribute)]
|
||||
#![feature(custom_attribute)]
|
||||
|
||||
#![allow(clippy)]
|
||||
#![warn(cyclomatic_complexity)]
|
||||
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, custom_attribute)]
|
||||
#![feature(custom_attribute)]
|
||||
|
||||
#![warn(cyclomatic_complexity)]
|
||||
#![warn(unused)]
|
||||
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, never_type)]
|
||||
#![feature(never_type)]
|
||||
|
||||
#![warn(diverging_sub_expression)]
|
||||
#![allow(match_same_arms, logic_bug)]
|
||||
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, alloc)]
|
||||
#![feature(alloc)]
|
||||
#![feature(associated_type_defaults)]
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, non_ascii_idents)]
|
||||
#![feature(non_ascii_idents)]
|
||||
|
||||
#![warn(clippy, pub_enum_variant_names)]
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, box_syntax)]
|
||||
#![feature(box_syntax)]
|
||||
|
||||
#![allow(warnings, clippy)]
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, custom_attribute)]
|
||||
#![feature(custom_attribute)]
|
||||
#![warn(excessive_precision)]
|
||||
#![allow(print_literal)]
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, custom_attribute)]
|
||||
#![feature(custom_attribute)]
|
||||
|
||||
|
||||
use std::collections::*;
|
||||
|
@ -4,8 +4,8 @@
|
||||
#![allow(unused, no_effect, unnecessary_operation)]
|
||||
#![warn(mut_mut)]
|
||||
|
||||
//#![plugin(regex_macros)]
|
||||
//extern crate regex;
|
||||
|
||||
|
||||
|
||||
fn fun(x : &mut &mut u32) -> bool {
|
||||
**x > 0
|
||||
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, const_fn)]
|
||||
#![feature(const_fn)]
|
||||
|
||||
|
||||
#![allow(dead_code)]
|
||||
|
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, box_syntax)]
|
||||
#![feature(box_syntax)]
|
||||
|
||||
|
||||
#![warn(no_effect, unnecessary_operation)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
#![plugin(clippy(conf_file="../auxiliary/conf_french_blacklisted_name.toml"))]
|
||||
|
||||
|
||||
#![allow(dead_code)]
|
||||
#![allow(single_match)]
|
@ -1,6 +1,6 @@
|
||||
// error-pattern: error reading Clippy's configuration file: unknown key `foobar`
|
||||
|
||||
|
||||
#![plugin(clippy(conf_file="../auxiliary/conf_unknown_key.toml"))]
|
||||
|
||||
|
||||
fn main() {}
|
0
tests/ui/toml_unknown_key/conf_unknown_key.stderr
Normal file
0
tests/ui/toml_unknown_key/conf_unknown_key.stderr
Normal file
@ -1,4 +1,4 @@
|
||||
#![feature(plugin, custom_attribute, stmt_expr_attributes)]
|
||||
#![feature(custom_attribute, stmt_expr_attributes)]
|
||||
|
||||
#![allow(unused_parens)]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user