Commit graph

1645 commits

Author SHA1 Message Date
Jay Kickliter
598df08d88 Add lint for mem::replace(.., None).
Suggest `Option::take()` as an alternative.
2018-09-19 14:38:34 -07:00
Eduard-Mihai Burtescu
407ff8d6be Reintroduce extern crate for non-Cargo dependencies, in tests. 2018-09-15 13:37:21 +03:00
Eduard-Mihai Burtescu
85caaf5905 Fix useless_attribute to also whitelist unused_extern_crates. 2018-09-15 11:16:45 +03:00
Oliver Schneider
3e4f7fc4c0 Don't use the old feature gate 2018-09-10 15:44:41 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
1c1030f83f
Merge pull request #3152 from PSeitz/master
fixes #3151 by skipping the lint instead of crashing
2018-09-10 13:44:47 +02:00
Philipp Krones
f30cf51a70
Merge pull request #3135 from JoshMcguigan/explicit_counter_loop-1219
Closes #1219 false positive for explicit_counter_loop
2018-09-09 23:49:03 +02:00
Pascal Seitz
43549ebbf8 fixes #3151 by skipping the lint instead of crashing 2018-09-08 15:30:50 +02:00
Matthias Krüger
160959d27f add tests for #3057 and #2651
Fixes #3057
Fixes #2651
2018-09-08 09:04:04 +02:00
Josh Mcguigan
9168746c38 Corrected explicit_counter_loop behavior with nested loops 2018-09-07 20:46:36 -07:00
Josh Mcguigan
53c262048c Fix #1219 false positive for explicit_counter_loop 2018-09-07 19:58:19 -07:00
flip1995
90f7997771
Add regression test 2018-09-07 17:41:03 +02:00
Josh Mcguigan
ce554267b8 Updated explicit_counter_loop tests based on discussion in #3135 2018-09-07 05:32:56 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
63a46b1e1a
Merge pull request #3129 from mipli/3091-numeric-typo
Add lint for misstyped literal casting
2018-09-07 09:54:43 +02:00
Josh Mcguigan
edfa9feac2 Corrected explicit_counter_loop missing lints if variable used after loop 2018-09-06 06:20:25 -07:00
Matthias Krüger
a0f56edfc3 print_with_newline / write_with_newline: don't warn about string with several \ns in them.
Fixes #3126
2018-09-06 12:59:34 +02:00
Josh Mcguigan
4b668159d2 Closes #1219 false positive for explicit_counter_loop 2018-09-05 19:14:01 -07:00
Michael A. Plikk
38d287fecd Add lint for misstyped literal casting 2018-09-05 19:46:49 +02:00
Josh Mcguigan
0f6d422817 Added test case for ptr_arg 2018-09-05 05:59:07 -07:00
daubaris
db391c4613 Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy into range-plus-one 2018-09-04 18:52:18 +03:00
Josh Holmer
48e6be42d7 Rustup 2018-09-03 23:50:24 -04:00
Josh Holmer
061b2f3057 Apply applicability 2018-09-03 23:29:44 -04:00
Josh Holmer
dfed9751bd Majority of PR changes 2018-09-03 23:29:44 -04:00
Josh Holmer
fbc93c0166 Lint against needless uses of collect()
Handles cases of `.collect().len()`, `.collect().is_empty()`, and
`.collect().contains()`. This lint is intended to be generic enough to
be added to at a later time with other similar patterns that could be
optimized.

Closes #3034
2018-09-03 23:29:44 -04:00
daubaris
1f3676f7d0 Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy into range-plus-one 2018-09-03 18:24:47 +03:00
daubaris
b825578a4a backticks and testcase 2018-09-03 18:24:38 +03:00
Philipp Hansch
c0513097ab
Merge pull request #3092 from illicitonion/issue-2879
default_trait_access skips <F as Default>::default()
2018-09-03 17:24:33 +02:00
daubaris
1615a8a2b6 Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy into range-plus-one 2018-09-03 17:21:13 +03:00
Josh Triplett
779988303a iter conservation efforts: save the endangered .iter() and .into_iter()
Make explicit_iter_loop and explicit_into_iter_loop allow-by-default, so
that people can turn them on if they want to enforce that style; avoid
presenting them as *the* idiomatic Rust style, rather than just *a* style.
2018-09-03 01:24:46 -07:00
Daniel Wagner-Hall
9f0216d520 Merge branch 'master' into issue-2879 2018-09-03 00:01:57 +01:00
daubaris
846c3dba2c resolved conflicts 2018-09-01 09:37:42 +03:00
Manish Goregaokar
c81d70e6bd
Merge pull request #2977 from flip1995/tool_lints
Implement tool_lints
2018-09-01 11:22:23 +05:30
Manish Goregaokar
9abf6fca9c Fix ptr offset tests 2018-08-31 00:38:27 -07:00
Oliver Schneider
73e8416df3
Merge pull request #3081 from mikerite/fix-3078
Fix #3078
2018-08-31 09:05:39 +02:00
daubaris
679bc32f46 range_plus_one suggestion should not remove braces fix 2018-08-30 20:06:13 +03:00
Manish Goregaokar
e0ad732226
Merge pull request #3105 from frewsxcv/frewsxcv-private
Make clippy_lints::{utils,consts} modules private, remove unused items.
2018-08-29 11:24:00 -07:00
flip1995
cfd4c538d4 Adapt ui-toml-tests to the tool_lints 2018-08-29 11:08:29 -07:00
flip1995
ea43fedf9e Adapt run-pass tests to the tool_lints 2018-08-29 11:08:29 -07:00
flip1995
e9af09c274 Adapt the *.stderr files of the ui-tests to the tool_lints 2018-08-29 11:08:29 -07:00
flip1995
1b6f6051a8 Adapt ui-tests to the tool_lints 2018-08-29 11:08:29 -07:00
Corey Farwell
2fa7351c1e suggest wrapping_offset as well 2018-08-29 07:40:00 -05:00
Corey Farwell
5ebae01c1e New lint: Suggest ptr.add([usize]) over ptr.offset([usize] as isize).
First part of #3047.
2018-08-28 23:21:29 -05:00
Corey Farwell
05f637cf88 Make clippy_lints::{utils,consts} modules private, remove unused items. 2018-08-28 21:32:20 -05:00
Daniel Wagner-Hall
350036a0c7 default_trait_access skips <F as Default>::default()
This includes the type name, so is clear, and may be necessary.

There doesn't seem to be an obviously cleaner way to pull out the
literal text of the named type here.

Fixes #2879
2018-08-27 23:22:07 +01:00
Michael Wright
45ceecc79c Fix #3078 2018-08-25 14:49:56 +02:00
Philipp Krones
e91147832c
Merge pull request #3048 from goodmanjonathan/assign_op
deprecate assign_ops lint
2018-08-24 18:29:31 +02:00
Philipp Krones
562c576ed3
Merge pull request #3059 from elpiel/writeln_empty_string_harcoded-suggestion
#3016 writeln_empty_string Hardcoded suggestion
2018-08-24 18:28:50 +02:00
Niklas Fiekas
afdf350060 Add copy_iterator lint (#1534) 2018-08-24 11:57:48 +02:00
flip1995
37099ae034
Remove now stable tool_attributes feature 2018-08-23 15:36:07 +02:00
Lachezar Lechev
76f7bfcefd #3016 Add backticks for the msg 2018-08-20 15:50:15 +02:00
Lachezar Lechev
c292b80783 #3016 Add feedback and implement test for fixed hardcoded suggestion 2018-08-20 15:33:43 +02:00
Manish Goregaokar
76321d3300 codemap -> source_map
https://github.com/rust-lang/rust/pull/52953
2018-08-19 19:06:54 -07:00
Michael Wright
bbd67c9b78 Fix #2927 2018-08-15 08:11:07 +02:00
Philipp Krones
84aa49935d
Merge pull request #3026 from dwijnand/fxhash
Add an internal lint for FxHashMap/FxHashSet
2018-08-14 13:04:48 +02:00
Philipp Krones
72b8c9b211
Merge pull request #3049 from mikerite/fix-2799
Add a test to ensure that #2799 is fixed
2018-08-14 12:55:13 +02:00
Philipp Krones
b2a4013c14
Merge pull request #3014 from estk/allow-write-multi-newline
Allow print/write with multiple newlines
2018-08-14 12:54:05 +02:00
Dale Wijnand
7933d445d1
Move shadow_unrelated to pedantic 2018-08-14 09:52:27 +01:00
Michael Wright
a1f8e129fd Add a test to ensure that #2799 is fixed
Closes #2799
2018-08-14 07:27:56 +02:00
Jonathan Goodman
160b41dae3 deprecate assign_ops lint 2018-08-13 16:12:41 -05:00
Dale Wijnand
1812707d39
Use utils::span_lint_and_sugg in default_hash_types 2018-08-13 11:49:57 +01:00
Dale Wijnand
8fc425b676
Add an internal lint for FxHashMap/FxHashSet 2018-08-12 16:15:36 +01:00
Oliver Schneider
d722489e71
Merge pull request #2823 from flip1995/thingies_things
Replace cfg_attr(rustfmt... with rustfmt::skip
2018-08-08 13:14:20 +02:00
Evan Simmons
550ff84ecd Allow print/write with multiple newlines 2018-08-07 12:01:10 -08:00
Oliver Schneider
328fea3e0d Rustup 2018-08-07 16:34:17 +02:00
Michael Wright
a3d7698fd9 Fix #2971 2018-08-07 05:37:11 +02:00
Oliver Schneider
b18a3c5b60
Merge pull request #3007 from mikerite/issue3000
Fix #3000
2018-08-06 09:16:42 +02:00
Michael Wright
ffce3c77e4 Fix #3000 2018-08-06 08:20:50 +02:00
Philipp Hansch
f6c4e303c9
Merge pull request #2999 from flip1995/single_char_pattern
Fix single_char_pattern lint for escaped chars
2018-08-06 07:05:04 +01:00
Philipp Hansch
32e4897854
Merge pull request #2975 from aaudiber/lint-identity-into-iter
Lint using identity into_iter conversion
2018-08-05 20:38:28 +01:00
Philipp Hansch
a016d4efe0
Merge pull request #2991 from mikerite/issue2979
Fix #2979
2018-08-05 20:35:55 +01:00
flip1995
55672e7e49
Fix single_char_pattern lint for escaped chars 2018-08-03 10:19:29 +02:00
Alex Crichton
8ef759e027 Fix fallout from rust-lang/rust#52841 2018-08-02 18:08:22 -07:00
Alex Crichton
ae6ea84924 Fix tests from 40349b23ea 2018-08-02 14:22:44 -07:00
flip1995
12f2d61fa9
Replace cfg_attr(rustfmt... thingies 2018-08-02 23:04:20 +02:00
Ryan Cumming
08d6b3d2f6 Allow pass by ref when returning ADT with ref
This is a follow-up to #2951 that extends the logic to allow for
returning references inside structs/enums/unions. This was a simple
oversight in the first version and it's surprisingly easy to handle.
2018-08-02 17:57:49 +10:00
Michael Wright
534d546c81 Fix #2979 2018-08-02 08:56:53 +02:00
Philipp Hansch
d7ffaab0fb
Merge pull request #2968 from phansch/first_an_ICE_and_then_some_ice_cream
Fix ICE with 'while let Some(..) = x.iter()'
2018-08-01 06:18:34 +01:00
flip1995
74fcf7de4a
single_char_pattern: lint only on the argument span 2018-07-31 12:20:32 +02:00
Andrew Audibert
0ea1afab3a Lint using identity into_iter conversion 2018-07-29 21:37:31 -07:00
Philipp Hansch
946340acfe
Fix ICE with 'while let (..) = x.iter()' 2018-07-29 11:00:26 +02:00
Michael Wright
8eeb3feadf Merge branch 'master' into issue2894 2018-07-28 08:41:10 +02:00
Oliver Schneider
b0dabce478
Merge pull request #2963 from commandline/master
Fix regression in print_literal
2018-07-26 10:11:34 +02:00
Thomas Gideon
9b11be72c0 Fix copy-paste error 2018-07-25 18:14:11 -04:00
Thomas Gideon
5446e73de6 And the ones annotating the source file name. 2018-07-25 18:00:19 -04:00
Thomas Gideon
457b76cedf Update line numbers 2018-07-25 17:51:04 -04:00
Thomas Gideon
bf3f976a43 Fix regression in print_literal 2018-07-25 17:31:17 -04:00
Matthias Krüger
2665f10662 fix a bunch of typos found by codespell 2018-07-25 20:02:52 +02:00
Matthias Krüger
cfc9b33f17 Merge branch 'master' into typos 2018-07-25 19:54:45 +02:00
Michael Wright
5e23fcec0b Merge branch 'master' into issue2894 2018-07-25 06:27:36 +02:00
Ryan Cumming
0afa5e1e21 Merge branch 'master' into allow-pass-by-ref-on-ref-return 2018-07-24 19:03:43 +10:00
Ryan Cumming
58459abd0c Allow pass by reference if we return a reference
Currently this code will trigger `trivally_copy_pass_by_ref`:

```
struct OuterStruct {
    field: [u8; 8],
}

fn return_inner(outer: &OuterStruct) -> &[u8] {
    &outer.field
}
```

If we change the `outer` to be pass-by-value it will not live long
enough for us to return the reference. The above example is trivial but
I've hit this in real code that either returns a reference to either the
argument or in to `self`.

This suppresses the `trivally_copy_pass_by_ref` lint if we return a
reference and it has the same lifetime as the argument. This will likely
miss complex cases with multiple lifetimes bounded by each other but it
should cover the majority of cases with little effort.
2018-07-23 18:44:40 +10:00
Oliver Schneider
ff0e5f967f Rewrite the print/write macro checks as a PreExpansionPass 2018-07-23 00:19:07 +02: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
Michael Wright
5bb52c4869 Fix use_self regressions 2018-07-17 08:20:49 +02:00
Michael Wright
847e4dcc0d Merge branch 'master' into issue2894 2018-07-17 06:32:39 +02:00
Oliver Schneider
8f61a792f4 Update test output to changes in rustc 2018-07-16 15:43:30 +02:00
csmoe
8e929946fd DeclKind 2018-07-16 11:48:33 +02:00
csmoe
8cf463fe93 StmtKind 2018-07-16 11:48:33 +02:00
csmoe
12ded030b6 TyKind 2018-07-16 11:48:33 +02:00
csmoe
5d4102ee78 BinOpKind 2018-07-16 11:46:37 +02:00
csmoe
1bd17e4fa2 ExprKind 2018-07-16 11:46:37 +02:00