Mateusz Mikuła
fb7699d9e5
Rework clippy detection in attribute lint
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
0ea5e38a9e
name -> check_name
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
4bb6c87b08
span -> span()
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
b25564fc8a
name -> ident_str
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
e63a685412
NestedMetaItemKind -> NestedMetaItem
2019-03-18 12:54:10 +01:00
flip1995
31435cd7f5
Reimplement AbsolutePathBuffer
2019-03-15 23:42:46 +01:00
Philipp Hansch
9d97ed6faa
Refactor: Remove utils::opt_def_id
...
This removes some indirection. Probably this method was uplifted to
rustc at some point?
2019-03-08 14:14:41 +01:00
Andy Russell
a9de64a151
fix or ignore failing doc tests
2019-03-05 18:45:08 -05:00
Andy Russell
fe96ffeac9
move lint documentation into macro invocations
2019-03-05 18:45:08 -05:00
Grzegorz
16881390e1
removing redundant closures in the whole project
2019-02-10 13:35:44 +01:00
Matthias Krüger
3a96d6b603
rustup https://github.com/rust-lang/rust/pull/57907/
...
for file in `fd \.rs$` ; do sed -i s/span_suggestion_with_applicability/span_suggestion/g $file ; done
for file in `fd \.rs$` ; do sed -i s/span_suggestion_short_with_applicability/span_suggestion_short/g $file ; done
for file in `fd \.rs$` ; do sed -i s/span_suggestions_with_applicability/span_suggestions/g $file ; done
2019-01-27 13:33:56 +01:00
Matthias Krüger
e9e0a7e3bd
rustup https://github.com/rust-lang/rust/pull/57726
2019-01-27 01:42:34 +01:00
Michael Wright
f51f0178dd
Fixed breakage due to rust-lang/rust#57489
2019-01-20 12:21:30 +02:00
Andy Russell
8fba46aa27
add applicability to lint name suggestion
2019-01-16 15:29:37 -05:00
Wilco Kusee
ea7eb49b47
Disable deprecated_cfg_attr lint for inner attributes
2019-01-13 11:53:43 +01:00
Philipp Hansch
38d4ac7cea
Remove all copyright license headers
...
Discussion previously happened in https://github.com/rust-lang/rust/pull/43498
2019-01-08 21:46:39 +01:00
bors
aee138a7cf
Auto merge of #3597 - xfix:match-ergonomics, r=phansch
...
Match ergonomics (lints from A to B)
2018-12-30 10:40:36 +00:00
Matthias Krüger
e590025f61
rustup https://github.com/rust-lang/rust/pull/56225/
...
item.name -> item.ident.name
2018-12-30 01:09:24 +01:00
Konrad Borowski
931e2b0026
Use match ergonomics for attrs lint
2018-12-29 17:29:50 +01:00
Konrad Borowski
3f62fc3a7e
Remove crate:: prefixes from crate paths
...
This is somewhat misleading, as those are actually external crates,
and don't need a crate:: prefix.
2018-12-29 16:05:49 +01:00
Oliver Scherer
6db409fc0c
FIXME > TODO
2018-12-23 13:29:37 +01:00
Matthias Krüger
ce3e69da1c
rustup https://github.com/rust-lang/rust/pull/56992
2018-12-23 10:42:06 +01:00
Shotaro Yamada
22f396a1c1
Apply redundant_clone on clippy
2018-12-10 08:48:14 +09:00
Matthias Krüger
f13d23de41
rustup https://github.com/rust-lang/rust/pull/56502 ( .hir -> .hir() )
2018-12-08 12:05:09 +01:00
flip1995
1751d2496d
Run rustfmt on clippy_lints
2018-11-27 21:14:15 +01:00
flip1995
4e74eef6e9
Add applicability level to (nearly) every span_lint_and_sugg function
2018-11-27 15:29:23 +01:00
flip1995
9096269610
Add Applicability::Unspecified to span_lint_and_sugg functions
2018-11-27 15:29:23 +01:00
Matthias Krüger
f5929e0797
rust-lang-nursery/rust-clippy => rust-lang/rust-clippy
2018-11-22 04:40:09 +01:00
flip1995
cadb367a5c
Also lint cfg_attr(.., rustfmt::skip)
2018-11-02 19:50:24 +01:00
flip1995
a770d8edd0
Differ between inner and outer attributes
2018-11-02 19:49:58 +01:00
flip1995
e1cf160e2a
Add cfg_attr(rustfmt) lint
2018-11-02 19:49:57 +01:00
flip1995
32396f6e18
Allow single_match_else
2018-11-02 14:00:46 +01:00
flip1995
014cf3d6e0
Fix typos
2018-11-02 13:49:10 +01:00
flip1995
cf89c40e34
Fix dogfood error
2018-11-02 13:49:10 +01:00
flip1995
ea4a80f215
Fix typo and indentation
2018-11-02 13:49:10 +01:00
flip1995
f6d57862c7
Add new lint: unknwon_clippy_lintsg
2018-11-02 13:49:09 +01:00
Manish Goregaokar
e9c025ea70
Add license header to Rust files
2018-10-06 09:43:08 -07:00
Vitaly _Vi Shukela
58729346be
Fill in Applicability from review comments by @flip1995
2018-09-20 14:38:48 +02:00
Vitaly _Vi Shukela
2781cac839
Apply subset of "cargo fmt".
2018-09-20 14:38:47 +02:00
Vitaly _Vi Shukela
92034e20c8
Use span_suggestion_with_applicability instead of span_suggestion
2018-09-20 14:38:47 +02:00
Eduard-Mihai Burtescu
85caaf5905
Fix useless_attribute
to also whitelist unused_extern_crates
.
2018-09-15 11:16:45 +03:00
Eduard-Mihai Burtescu
9219fc6c5c
Reintroduce extern crate
for non-Cargo dependencies.
2018-09-15 11:10:51 +03:00
flip1995
8c07772dbb
Switch to declare_tool_lint macro
2018-08-29 11:08:29 -07:00
Oliver Schneider
d99cea0f16
Update imports and rustup
2018-08-28 13:13:42 +02:00
Manish Goregaokar
76321d3300
codemap -> source_map
...
https://github.com/rust-lang/rust/pull/52953
2018-08-19 19:06:54 -07:00
Oliver Schneider
afd91248ed
Rustup
2018-07-23 13:01:12 +02:00
Manish Goregaokar
1f65617372
Merge branch 'macro-use' into HEAD
2018-07-20 00:52:01 -07:00
Manish Goregaokar
5918a3fc1e
Remove import of if_chain
2018-07-20 00:50:02 -07:00
flip1995
ac77a26b8a
Skip useless_attribute lint on allow(unused_imports) on extern crate items with macro_use
2018-07-19 13:59:25 +02:00
Manish Goregaokar
5d74e2096b
Remove import of rustc
2018-07-19 00:53:23 -07:00
Oliver Schneider
6992937002
Update for hir renamings in rustc
2018-07-16 15:07:39 +02:00
csmoe
8cf463fe93
StmtKind
2018-07-16 11:48:33 +02:00
csmoe
1bd17e4fa2
ExprKind
2018-07-16 11:46:37 +02:00
Mateusz Mikuła
48cb6e273e
Rustup
2018-06-29 09:49:05 +02:00
Mateusz Mikuła
df3b9cc350
Format the code
2018-06-25 21:41:24 +02:00
flip1995
d9a80d2f84
Resolve field, struct and function renaming
...
Addresses the errors produced by (re)moving, merging or renaming
structs, fields and methods by rust-lang/rust#48149 and rust-lang/rust#51580
2018-06-25 12:25:20 +02:00
Wim Looman
621fdcc3bc
Dogfood new trivially_copy_pass_by_ref lint
2018-06-15 16:53:34 +02:00
Mateusz Mikuła
424a33720d
Run rustfix
2018-05-30 10:15:50 +02:00
Mateusz Mikuła
3c6503eb4b
Format code
2018-05-22 10:21:42 +02:00
Mateusz Mikuła
f0c823a85e
Rustup to 2018-05-16
2018-05-17 11:21:15 +02:00
Alexander Regueiro
00b549ad40
Fixed build for latest nightly (again)
2018-05-03 23:28:48 +01:00
Michael Wright
fe8068c41b
Fix compilation for nightly 2018-04-06
...
Breakages for introduced by rust pull request
'AST: Give spans to all identifies' - rust-lang/rust/pull#49154
Closes #2639
2018-04-07 07:32:30 +02:00
Philipp Hansch
bb4af196be
Move empty_line_after_outer_attribute to nursery
...
From the clippy side it's difficult to detect empty lines between
an attributes and the following item because empty lines and comments
are not part of the AST. The parsing currently works for basic cases
but is not perfect and can cause false positives.
Maybe libsyntax 2.0 will fix some of the problems around attributes but
comments will probably be never part of the AST so we would still have
to do some manual parsing.
2018-03-30 12:36:50 +02:00
Philipp Hansch
b7929cafe1
Fix false positive in empty_line_after_outer_attr
...
Before, when you had a block comment between an attribute and the
following item like this:
```rust
\#[crate_type = "lib"]
/*
*/
pub struct Rust;
```
It would cause a false positive on the lint, because there is an empty
line inside the block comment.
This makes sure that basic block comments are detected and removed from
the snippet that was created before.
2018-03-30 12:36:50 +02:00
Oliver Schneider
d6344c47e3
Categorize all the lints!
2018-03-28 15:24:26 +02:00
Philipp Hansch
034c81b761
Fix false positive in empty_line_after_outer_attribute
...
`empty_line_after_outer_attribute` produced a false positive warning when
deriving `Copy` and/or `Clone` for an item.
It looks like the second point in [this comment][that_comment] is related,
as the attribute that causes the false positive has a path of
`rustc_copy_clone_marker`.
Fixes #2475
[that_comment]: https://github.com/rust-lang/rust/issues/35900#issuecomment-245978831
2018-03-26 21:57:42 +02:00
Philipp Hansch
d3d3d7d7be
Lint multiline attributes properly
...
This makes it so that the `empty_line_after_outer_attribute` lint only
checks for newlines between the end of the attribute and the beginning
of the following item.
We need to check for the empty line count being bigger than 2 because
now the snippet of valid code contains only `\n` and splitting it
produces `["", ""]`
Invalid code will contain more than 2 empty strings.
2018-02-21 21:29:05 +01:00
Philipp Hansch
81f5969704
Partly fix incorrect useless_attribute suggestion
...
This fixes an incorrect suggestion from the `useless_attribute` lint
when using `cfg_attr`.
Additionally, it will not show a suggestion anymore, if the attribute
begins on a previous line, because it is much harder to construct the
span of multi-line `cfg_attr` attributes as they don't appear in the AST.
To fix it completely, one would have to parse upwards into the file,
and find the beginning of the `cfg_attr` attribute.
2018-02-06 22:35:11 +01:00
Oliver Schneider
02ee62533d
Merge pull request #2428 from phansch/fix_lint_list_issues
...
Allow empty lines in lint doc examples
2018-02-05 08:18:20 +01:00
Philipp Hansch
5c28cd259a
Allow empty lines in lint doc examples
...
This makes sure that empty lines in lint examples are preserved.
It also fixes the documentation for the invalid_ref lint, which was not
shown because of an extra newline before the lint declaration.
2018-02-01 23:21:36 +01:00
Philipp Hansch
a64724fac4
Fix false positive in empty_line_after_outer_attr
...
Doc comments are syntactic sugar for #[doc] attributes, so this lint was
catching them, too.
This commit makes it so that doc comments are ignored in this lint.
I think, for normal attributes it makes sense to warn about following empty
lines, for doc comments, less. This way the user has some freedom over
the formatting.
2018-02-01 07:43:03 +01:00
Philipp Hansch
3d54e56ed4
Add workaround for hidden outer attribute
...
If the snippet is empty, it's an attribute that was inserted during macro
expansion and we want to ignore those, because they could come from external
sources that the user has no control over.
For some reason these attributes don't have any expansion info on them, so
we have to check it this way until there is a better way.
2018-01-29 10:03:53 +01:00
Philipp Hansch
aade0d563e
Make lint work on all members of ast::Item_
2018-01-29 10:03:52 +01:00
Philipp Hansch
80827c1f74
Warn on empty lines after outer attributes
2018-01-29 10:03:52 +01:00
topecongiro
7a06d312fd
Cargo fmt
2017-11-05 04:55:56 +09:00
Alex Burka
41840ae3c4
mechanically swap if_let_chain -> if_chain
2017-10-23 15:18:02 -04:00
Oliver Schneider
b127ad251f
Rustup
2017-09-12 14:38:59 +02:00
Oliver Schneider
e4524ac4de
Run nightly rustfmt
2017-09-05 12:39:27 +02:00
Oliver Schneider
f3ae929b2d
Rustup
2017-08-15 11:10:49 +02:00
Oliver Schneider
b25b6b3355
Rustfmt
2017-08-14 09:43:26 +02:00
Cameron Steffen
8b00f826d7
Merge branch 'master' into never_loop
2017-06-11 18:25:26 -05:00
Eduard-Mihai Burtescu
e073dfe9a2
Abide by the common rustc::ty conventions.
2017-06-11 05:57:25 +03:00
Cameron Steffen
4f374824b1
fix never_loop
2017-06-01 21:31:42 -05:00
Enrico Schmitz
7a4f7c335b
Remove unused cs parameter for is_macro and friends
2017-04-01 00:14:04 +02:00
Oliver Schneider
0ae1a77a2e
Do some additional cleanup around InternedString
and Symbol
2017-03-30 10:21:13 +02:00
Enrico Schmitz
f8df4aed0f
Fix for rustc 1.17.0-nightly ( 6eb9960d3
2017-03-19)
2017-03-21 00:22:19 +01:00
Mrmaxmeier
d68f0797bf
Rustup to nightly from 2017-01-31
2017-02-03 14:16:14 +01:00
Mrmaxmeier
2216a890a6
TyCtxt::map is now called TyCtxt::hir
2017-02-03 14:16:07 +01:00
Oliver Schneider
d944d7df9a
rustup to 2017-01-12
2017-01-13 17:04:56 +01:00
Josh Holmer
64f5dbc9f8
Rustup to rustc 1.16.0-nightly ( 468227129
2017-01-03): Body fixes for rustup
2017-01-04 15:50:30 -08:00
Manish Goregaokar
f552f170db
Rustup to rustc 1.16.0-nightly ( 468227129
2017-01-03): Fix various type errors for rustup
2017-01-04 15:50:18 -08:00
Oliver Schneider
7a1d85f1de
Merge branch 'master' into allow_deprecated
2016-12-21 15:47:12 +01:00
Oliver Schneider
ed9d71f2c9
remove nondeterminism by adjusting thresholds
2016-12-21 10:25:14 +01:00
Oliver Schneider
4a4e1ea2c5
also run rustfmt on clippy-lints
2016-12-20 18:21:30 +01:00
Oliver Schneider
778ce4dfd3
update to the rust-PR that unblocks clippy
2016-12-07 13:13:40 +01:00
Oliver Schneider
c6e2967b9c
rustup to rustc 1.15.0-dev (3b248a184 2016-12-05)
2016-12-06 11:32:21 +01:00
Wim Looman
919feaaec5
Allow allow(deprecated)
attribute on use
items
...
fixes #1372
2016-12-01 22:36:35 +01:00
Oliver Schneider
59b0077565
WIP compiles and doesn't crash (much) but tests are failing
2016-12-01 22:31:56 +01:00
Oliver Schneider
31e482403c
rustup to rustc 1.15.0-nightly ( d5814b03e
2016-11-23)
2016-11-25 19:24:55 +01:00
mcarton
c35f82b823
Rustup to *rustc 1.15.0-nightly ( 7b3eeea22
2016-11-21)*
2016-11-23 21:31:55 +01:00
mcarton
19c5f5394b
Rustup to rustc 1.15.0-nightly ( 0ed951993
2016-11-14)
2016-11-16 23:05:26 +01:00
mcarton
1c3fce41b6
Rustup to *rustc 1.14.0-nightly ( f09420685
2016-10-20)*
2016-10-22 15:57:19 +02:00
mcarton
3f43996aa5
Rustup to *1.13.0-nightly ( eac41469d
2016-08-30)*
2016-08-31 18:22:35 +02:00
Oliver Schneider
14d2cd0b0a
unused_import
is a valid lint to be changed on use
statements
2016-08-19 17:27:24 +02:00
Oliver Schneider
2d57902a27
don't lint if snippet is shortert than 1 character
...
This happens with various combinations of cfg attributes and macros expansion.
Not linting here is the safe route, as everything else might produce false positives.
2016-08-19 17:27:24 +02:00
Oliver Schneider
3ab6ad59c4
disallow lint attributes on use
and extern crate
items
2016-08-17 11:36:04 +02:00
Georg Brandl
b91c1a509e
Make lint descriptions short and to the point; always fitting the column "triggers on".
2016-08-07 08:09:26 +02:00
Georg Brandl
3b5ff0f813
Make the lint docstrings more consistent.
2016-08-07 08:06:19 +02:00
Oliver Schneider
81c5757f44
lint on by ref patterns for references
2016-08-01 16:59:14 +02:00
mcarton
caa76e119b
Improve docs
2016-07-16 00:26:54 +02:00
Oliver Schneider
bf227f4729
split clippy into lints, plugin and cargo-clippy
2016-05-27 13:03:58 +02:00