Commit Graph

1330 Commits

Author SHA1 Message Date
Oliver Schneider
8217e33718
Only suggest implementing Copy if it can actually be done 2018-01-18 14:27:47 +01:00
Ryan Cumming
7467b83377 Suggest removing inline attributes
This adds a `suggest_remove_item` helper that will remove an item and
all trailing whitespace. This should handle both attributes on the same
line as the function and on a separate line; the function takes the
position of the original attribute.
2018-01-18 20:02:42 +11:00
Ryan Cumming
5f3c340bfb Lint for trait methods without bodies
As discussed in rust-lang/rust#47475 the #[inline] attribute is
currently allowed on trait methods without bodies (i.e. without a
default implementation). This is misleading as it could be interpreted
as affecting the implementations of the trait method. Add a lint for any
use of #[inline] on a trait method without a body.

Fixes rust-lang/rust#47475
2018-01-18 20:01:24 +11:00
Manish Goregaokar
552e950080 needless_pass_by_value: Whitelist RangeArgument (fixes #2357) 2018-01-18 14:30:53 +05:30
Manish Goregaokar
2a30c8a194 needless_pass_by_value: Add suggestion for implementing Copy (fixes #2222) 2018-01-18 14:30:47 +05:30
Manish Goregaokar
cf1fbaa36a needless_pass_by_value: Ignore for extern funcs (fixes #1844) 2018-01-18 14:30:32 +05:30
Michael Wright
d13af87d8a Fixed tests 2018-01-18 07:48:03 +02:00
Michael Wright
ec60baa864 Merge branch 'master' into option_option_pr 2018-01-18 07:21:48 +02:00
Phil Ellison
b73efad600 Add some reviewer comments 2018-01-17 21:06:16 +00:00
Phil Ellison
29a2dd4cb8 Fix bug. Don't expect lint when acc is on rhs 2018-01-17 20:11:40 +00:00
Phil Ellison
1cac693bc7 Lint on folds implementing .all, .sum and .product 2018-01-17 19:12:44 +00:00
Oliver Schneider
4f21b5b112
Update changed ui tests 2018-01-17 14:44:40 +01:00
Oliver Schneider
a2fdfc05d7
Merge pull request #2298 from goodmanjonathan/else_if_without_else
add new lint else_if_without_else
2018-01-17 09:35:58 +01:00
Michael Wright
e7567f2eac Made requested changes 2018-01-17 07:24:33 +02:00
Michael Wright
21fde9a9d1 Merge branch 'master' into option_option_pr 2018-01-17 06:52:00 +02:00
Phil Ellison
a64d19cc0e Fix error span to play nicely with rustfix 2018-01-16 21:20:55 +00:00
Manish Goregaokar
37f62a54f8 Show wider and more accurate suggestion for const_static_lifetime
fixes #2365
2018-01-16 20:46:44 +05:30
flip1995
877321ba32 Add macro check to precedence lint 2018-01-16 15:52:16 +01:00
flip1995
647da97622 Lint for numeric literals that have a better representation in another format 2018-01-16 14:01:07 +01:00
Oliver Schneider
61e2b7a4d6
Merge pull request #2355 from alusch/clone_on_ref_ptr_restriction
Fix #2048: Move `clone_on_ref_ptr` to the restriction lints
2018-01-16 10:40:12 +01:00
Oliver Schneider
28c3d0321a Update changed test output from rustc 2018-01-16 08:52:14 +01:00
Jonathan Goodman
40c6f431da add new lint else_if_without_else 2018-01-14 22:53:00 -06:00
Adam Lusch
f343cd22f6 Adds the missing turbofish 2018-01-14 20:19:55 -08:00
Adam Lusch
30de2e7106 Update UI test expected output 2018-01-14 20:10:36 -08:00
Adam Lusch
1615813960 Moves clone_on_ref_ptr to be a restriction lint
Also updates the suggestion to include the full type (e.g. `Arc<Foo>::clone(&rc)`)
and adds a case using trait objects to the UI tests.
2018-01-14 19:58:09 -08:00
Phil Ellison
ad164939ed Check that we're calling Iterator::fold 2018-01-14 20:04:34 +00:00
Phil Ellison
70a5535ffa Address some review comments 2018-01-14 18:18:09 +00:00
Oliver Schneider
2f62d803ab
Merge pull request #2349 from rust-lang-nursery/no-main-doc
Don't warn about missing docs for main()
2018-01-14 13:16:54 +01:00
Phil Ellison
1feb9fd550 Tidy using if_chain and snippet function. Actually check that the initial fold value is false. Remove some unwraps 2018-01-14 09:30:08 +00:00
Phil Ellison
f6e56d2559 First pass at linting for .any expressed as a .fold 2018-01-14 08:27:53 +00:00
Manish Goregaokar
7e63f93d81 Don't warn about missing docs for main()
Fixes #2348
2018-01-14 11:35:08 +05:30
Oliver Schneider
cc9008b7d4
Merge pull request #2347 from kimsnj/extrem_comp
Fix #1159: avoid comparing fixed and target sized types in lint
2018-01-13 12:27:36 +01:00
kimsnj
53c0ae0169 Fix #1159: avoid comparing fixed and target sized types in lint 2018-01-12 18:33:25 +01:00
Oliver Schneider
b863a00a4e
Merge pull request #2344 from HMPerson1/svar_to_cfn
Add lint to replace `const`s with `const fn`s
2018-01-12 14:59:06 +01:00
Oliver Schneider
7e21663f75
Merge pull request #2296 from DarrenTsung/test_types
Start regression tests for types.rs
2018-01-12 14:55:39 +01:00
HMPerson1
8505ee7028 Add lint to replace consts with const fns 2018-01-11 12:03:46 -05:00
Oliver Schneider
1245de1e46
Don't suggest changing explicit Clone impls if they have generics 2018-01-11 10:28:42 +01:00
Philipp Hansch
fded77d85e
Split up casting UI tests
Part of #2038
2018-01-06 11:22:20 +01:00
Pascal Hertleif
82d91c5fcb Add auto-fixable println!() suggestion
Fixes #2319
2018-01-04 12:46:26 +01:00
Michael Wright
6737bae9b1 Implemented option_option lint 2017-12-26 09:24:12 +02:00
Darren Tsung
0f4c40b229 Start regression tests for types.rs 2017-12-23 10:15:11 -08:00
Darren Tsung
50eb48e42b Create failing test for equal inside macro 2017-12-22 10:37:44 -08:00
Oliver Schneider
2179f4d790
Merge pull request #2284 from rust-lang-nursery/new-macro
Move mini-macro to proc macro
2017-12-20 21:56:00 +01:00
Manish Goregaokar
775372db90 Move mini-macro to proc macro
We can add a bang-style proc macro again once it stabilizes (we can use
the proc macro hack, but it's unnecessary for now)
2017-12-20 08:16:44 -08:00
Wilco Kusee
a6ccc6fe3d Also suggest as_mut for match_as_ref 2017-12-20 10:39:48 +01:00
Wilco Kusee
919601bc51 Lint for matching option as ref 2017-12-19 23:51:06 +01:00
Oliver Schneider
8ddcb81a15
Rustup and lazy_static version mismatch fix
fixes #2274
2017-12-15 10:05:32 +01:00
Oliver Schneider
f5f0273f53
Update ui tests to latest rustc changes 2017-12-07 11:21:37 +01:00
laurent
6c18811764 Revert the regex test change. 2017-12-01 19:59:40 +00:00
laurent
904f27a2ea Do raise a same-arms warning when the two arms are separated by an arm with a guard, fix #1996. 2017-12-01 19:25:43 +00:00
HMPerson1
c2c324ec65 Update ui test 2017-11-30 19:50:31 -05:00
HMPerson1
e2bc383383 Add linting for empty blocks too 2017-11-30 19:40:40 -05:00
HMPerson1
5fca6eb89e Fix #2160 2017-11-30 15:31:56 -05:00
Oliver Schneider
7d7fef1690
Fix #1925 2017-11-30 10:55:06 +01:00
Oliver Schneider
1c95a7cf35
Merge pull request #2251 from LaurentMazare/master
Add a couple small tests to the match-same-arm lint + fix a small issue in search_same.
2017-11-30 10:53:48 +01:00
Oliver Schneider
4d9c41f566
Use latest compiletest 2017-11-30 09:31:23 +01:00
laurent
c3ae2ddeb3 Fix a bug in search_same + add a test case. 2017-11-29 21:42:58 +00:00
laurent
3eb642bcdd Add another test. 2017-11-29 20:52:49 +00:00
laurent
f8dbd32433 Add a couple small tests to the match-same-arm lint. 2017-11-29 20:42:37 +00:00
Oliver Schneider
273ddafac5
Fix #2188 2017-11-29 17:20:00 +01:00
Oliver Schneider
d5b73c184b
Fix placement of new_without_default suggestion 2017-11-29 17:10:53 +01:00
Oliver Schneider
317e97bae7
Fix #2196 2017-11-29 17:06:27 +01:00
Oliver Schneider
e62727ee51
Add regression test (fixes #2234) 2017-11-29 16:05:13 +01:00
Oliver Schneider
0b0337d258
Fix #2247 2017-11-29 15:52:57 +01:00
Oliver Schneider
ad63e4eaef
Update ui output to latest nightly 2017-11-29 15:45:12 +01:00
Oliver Schneider
34da5d93ef
Merge pull request #2246 from lukasstevens/master
Check for word beginning in stutter lint
2017-11-27 11:05:37 +01:00
Oliver Schneider
656df3c5ed
Update stderr output to rustc changes 2017-11-27 10:20:38 +01:00
Lukas Stevens
d55d4e5144 Update ui tests 2017-11-26 18:57:34 +01:00
Oliver Schneider
af718413db
Rustup 2017-11-22 10:55:12 +01:00
Oliver Schneider
c5fa86da04
Merge pull request #2203 from clippered/float_cmp_const
Fix #1142 float constant comparison lint
2017-11-20 09:51:12 +01:00
Laurent Mazare
e7f4a9bb46 Fix for the new nightly version. 2017-11-20 07:47:28 +00:00
laurent
41a6d015ff More tests. 2017-11-19 11:29:25 +00:00
laurent
ed202b6055 Bugfix + add test. 2017-11-19 11:29:25 +00:00
Georg Brandl
76324851b5 tests: fixup arg handling for update-all-references
This script does not take any args, so $1 being empty is expected.
2017-11-18 16:11:55 +01:00
Georg Brandl
296edda3a9 const_static_lifetime: this applies not only to path types
For example, &'static [u8] or &'static (t1, t2).
2017-11-18 16:10:29 +01:00
Oliver Schneider
f975fb54f8
Merge pull request #2216 from LaurentMazare/master
Handle methods with an obvious negation in the non-minimal bool lint
2017-11-15 09:08:36 +01:00
laurent
25783fa485 Raise a lint when suggest has simplified the expression. 2017-11-14 21:14:08 +00:00
Oliver Schneider
bdf3887d22
Move 'handle_method_call_in_not' code into 'suggest' 2017-11-14 17:07:04 +01:00
Oliver Schneider
561d47f338
Merge remote-tracking branch 'origin/master' into laurent_master 2017-11-14 16:46:56 +01:00
Oliver Schneider
b464432972 Merge branch 'master' of github.com:Manishearth/rust-clippy into rust-test 2017-11-14 16:31:52 +01:00
Oliver Schneider
127c41f700
Apply changes that were required for running in the rustc test suite 2017-11-14 14:56:00 +01:00
Oliver Schneider
09d988521d
Merge pull request #2214 from rust-lang-nursery/nrlfp
Improve `needless_range_loop`
2017-11-10 10:11:20 +01:00
Oliver Schneider
299f1270a6
Rustup 2017-11-10 08:58:54 +01:00
Shotaro Yamada
b17899878f Build path from current_dir 2017-11-09 14:47:14 +09:00
Shotaro Yamada
5c0b99820b Use compiletest 0.3 2017-11-09 11:05:49 +09:00
laurent
82793768b7 Handle methods with an immediate negation in the non-minimal boolean lint, fixes #1930. 2017-11-07 21:43:24 +00:00
Oliver Schneider
1b323b9f35
Don't lint mixed slice indexing and usize indexing in needless_range_loop 2017-11-07 15:32:52 +01:00
Oliver Schneider
652df0fb79
Differentiate between mutable iteration and immutable iteration in needless_range_loop 2017-11-07 14:41:54 +01:00
Oliver Schneider
088555c4ea
Merge pull request #2209 from sinkuu/trait_methods
Fix false positive in needless_pass_by_value trait methods
2017-11-07 08:26:32 +01:00
laurent
c9681905ba Fix broken tests. 2017-11-06 23:26:44 +00:00
laurent
e2b9cf836a Fix merge issues. 2017-11-06 23:22:19 +00:00
sinkuu
6fb736bd42 Fix false positive in needless_pass_by_value trait methods 2017-11-07 06:33:49 +09:00
sinkuu
00081be73d Rustup 2017-11-07 06:32:12 +09:00
clippered
66bc12564a put back negative tests but allow float_cmp 2017-11-06 21:34:30 +11:00
clippered
ddaf8580d5 remove duplicate tests with float_cmp 2017-11-06 20:23:18 +11:00
clippered
cd3106d99f add more negative tests 2017-11-06 20:02:42 +11:00
Oliver Schneider
ed589761e6
Merge pull request #2202 from topecongiro/format
Run `cargo fmt`
2017-11-06 08:35:52 +01:00
Oliver Schneider
4018b0a495
Merge pull request #2197 from AlexEne/dissalow-underscores-and-numbrers
Warns if variable name is composed only of underscores and digits.
2017-11-06 08:11:45 +01:00
laurent
bcdf57e220 Refactor the never-loop detection, fixes #1991. 2017-11-05 14:43:28 +00:00
clippered
2787a60fc2 Fix #1142 float constant comparison lint 2017-11-05 09:37:17 +11:00
topecongiro
7a06d312fd Cargo fmt 2017-11-05 04:55:56 +09:00
Alexandru Ene
f92c91601e Addressed PR comments 2017-11-03 20:54:33 +00:00
sinkuu
d88cc5376e Add test to take Self as an argument 2017-11-03 17:56:26 +09:00
sinkuu
be7c4b4862 Fix test 2017-11-03 17:36:38 +09:00
sinkuu
cad33c0306 Extend needless_pass_by_value to methods 2017-11-03 17:36:38 +09:00
cgm616
3902b836e7 Update tests 2017-11-02 23:54:35 -05:00
cgm616
ee289c9f88 Merge branch 'master' of github.com:rust-lang-nursery/rust-clippy 2017-11-02 22:57:07 -05:00
Alexandru Ene
9d01468bc7 Warns if variable name is composed only of underscores and digits. 2017-11-03 01:01:41 +00:00
Oliver Schneider
cabbc781ca
Merge pull request #2189 from gendx/pr-1590
Start working on #1590
2017-11-02 10:29:30 +01:00
sinkuu
7fa27d9387 Lint transmute::<&[u8], &str> 2017-11-01 18:05:46 +09:00
kennytm
44d3ea5308 Fix lint_without_lint_pass 2017-10-31 10:04:02 -07:00
Manish Goregaokar
c526c51923 Update clippy for rustc 1.23.0-nightly (f0fe716db 2017-10-30) 2017-10-31 00:07:10 -07:00
G. Endignoux
87fd68731d Update UI tests. 2017-10-30 14:10:38 +01:00
G. Endignoux
f0a1eff1c4 Start working on #1590 2017-10-30 13:08:09 +01:00
Manish Goregaokar
09143cdaf0 Update tests; make it work with generics on context 2017-10-29 05:19:24 -04:00
cgm616
fed5a89076 Add tests for pub_restricted 2017-10-28 13:24:39 -05:00
cgm616
d094f98f0b Merge branch 'master' of github.com:rust-lang-nursery/rust-clippy 2017-10-28 12:55:16 -05:00
Alex Burka
2153d1e560 manual fixups if_let_chain -> if_chain 2017-10-23 17:53:30 -04:00
Oliver Schneider
2771378620 Merge pull request #2136 from ykrivopalov/identity_op_fixing
Identity/erasing operation lints
2017-10-23 09:25:08 +02:00
Oliver Schneider
b96639f23a Merge pull request #2143 from HMPerson1/master
Add lint for fallible impls of `From`
2017-10-23 09:21:31 +02:00
Oliver Schneider
6d89798119 Merge pull request #2163 from HMPerson1/useless_asref
Add lint for useless `as_ref` calls
2017-10-23 09:16:44 +02:00
cgm616
29626b883e Merge branch 'master' of github.com:rust-lang-nursery/rust-clippy 2017-10-22 10:14:44 -04:00
HMPerson1
bfa7a9b138 Add tests for generic code 2017-10-21 13:55:12 -04:00
cgm616
60c7bd47a5 Prevent should_implement_trait on private method
This should close #2159.
2017-10-21 07:53:57 -04:00
sinkuu
00d35eea26 Fix typo 2017-10-21 19:16:13 +09:00
HMPerson1
7206023b1b Change to TryFrom 2017-10-20 20:47:51 -04:00
HMPerson1
e5076d06db Add lint for From<String> 2017-10-20 20:47:30 -04:00
HMPerson1
ff4a850353 Add lint for useless as_ref calls 2017-10-20 20:33:19 -04:00
Oliver Schneider
0e489f3221 Merge pull request #2146 from MaloJaffre/println_empty_string
Add PRINTLN_EMPTY_STRING lint.
2017-10-20 17:39:34 +02:00
Malo Jaffré
22f3ca0e2c Add PRINTLN_EMPTY_STRING lint. 2017-10-20 16:45:32 +02:00
Paul Florence
acdd93a5cc Final .stderr for const_static_lifetime. 2017-10-20 10:17:55 -04:00
Paul Florence
0928168a79 Remove "#![feature(plugin)]" in the test". 2017-10-20 10:17:41 -04:00
Paul Florence
4bbda68d56 Better linting : use of span_lint_and_then. 2017-10-20 10:17:41 -04:00
Paul Florence
fbce504664 Added the test results. 2017-10-20 10:17:41 -04:00
Paul Florence
322effe415 Implementation of the const_static_lifetime lint. 2017-10-20 10:17:41 -04:00
Oliver Schneider
9293188b65 Merge pull request #2156 from cgm616/master
Deprecate should_assert_eq lint
2017-10-20 15:24:52 +02:00
Oliver Schneider
281bd790de Merge pull request #2148 from sinkuu/proc_macro
needless_pass_by_value false-positive in annotation
2017-10-20 11:12:21 +02:00
cgm616
4960d9de86 Deprecate should_assert_eq lint
This should close #2090.
2017-10-19 23:42:04 -05:00
sinkuu
9221bd9c97 Add test 2017-10-18 14:06:38 +09:00
clippered
dfa4cb7ade Fix #2123 : check that the source and destination are different for manual memcpy 2017-10-18 07:06:01 +11:00
Oliver Schneider
f01e45faa4 Merge pull request #2131 from devonhollowood/suggest-print
Suggest print
2017-10-17 15:26:41 +02:00
Oliver Schneider
343e438f9d Merge pull request #2120 from sinkuu/implicit_hasher
Implicit hasher lint
2017-10-17 15:24:20 +02:00
sinkuu
eea30777dd Type parameter change and type change are now in a multispan suggestion 2017-10-17 21:40:46 +09:00
sinkuu
a4f45e85b1 Use cx.access_levels.exported() instead of visibility 2017-10-17 21:13:17 +09:00
Yury Krivopalov
7b16f4d7ff Clarify message for erasing_op lint 2017-10-15 10:32:47 +03:00
Devon Hollowood
eda013d3af Change lint filename
suggest_print.rs -> explicit_write.rs
2017-10-14 21:42:14 -03:00
Devon Hollowood
aeeb38dab1 Change lint name
From `suggest_print` to `explicit_write`
2017-10-14 21:26:50 -03:00
Yury Krivopalov
033c99b1ba Add erasing_op lint
For expressions that can be replaced by a zero.
2017-10-14 12:34:37 +03:00
Yury Krivopalov
f68e408cb6 identity_op lint fix for '&' with unsigned types 2017-10-14 12:21:23 +03:00
sinkuu
c3332ca92e Fix panic with fake Range type 2017-10-13 21:51:57 +09:00