Commit Graph

684 Commits

Author SHA1 Message Date
Oliver Schneider
7ee0d4f9c2 Dogfood tests 2017-04-12 10:55:34 +02:00
Oliver Schneider
679e98530a
Merge remote-tracking branch 'origin/master' into yati 2017-04-11 16:16:10 +02:00
Oliver Schneider
5f85ea8ef4 Add newline at end of file 2017-04-11 15:54:48 +02:00
Oliver Schneider
21d8fbd082 Don't lint for lifetime bounds required by traits 2017-04-11 15:44:13 +02:00
Oliver Schneider
856b1f1242 Remove now useless allow(unused_lifetimes) from clippy 2017-04-11 14:46:54 +02:00
Oliver Schneider
2eae102cd1 Don't lint lifetimes after trait objects 2017-04-11 14:29:58 +02:00
Oliver Schneider
8bb0a4d667 Fix more doc issues 2017-04-11 14:10:11 +02:00
Oliver Schneider
9a4c0a1c72 Don't lint about unused lifetimes if the lifetimes are used in the body of the function 2017-04-11 14:09:58 +02:00
Oliver Schneider
38b2215060 Dogfood 2017-04-10 15:14:54 +02:00
Oliver Schneider
03a0b18a85 Fix some doc errors 2017-04-10 15:10:29 +02:00
Oliver Schneider
b76ce176bb Fix op_ref in case of nonexisting operations 2017-04-10 15:10:19 +02:00
Yati Sagade
8ea6d6a8d2 needless_continue: Refactor to use stuff from utils, and move some stuff to utils.
I had my own implementation of what `trim_multiline()` seems to be doing, so
I just started using `trim_multiline()`. Some other functions, like
those block alignment, are general enough to be used elsewhere, so moved
them to utils.
2017-04-09 14:07:11 +02:00
Yati Sagade
38238f576d [needless_continue] Add comments explaining terminology used thoughout in the code. 2017-04-08 23:30:34 +02:00
Yati Sagade
9396120008 More dogfood test fixes. 2017-04-08 23:30:34 +02:00
Yati Sagade
7b4a12fd21 Fix lint warnings from dogfooding tests. 2017-04-08 23:30:34 +02:00
Yati Sagade
240471f926 Needless continue: This is a complete rewrite of this lint as an early-pass lint.
The previous version had troubles computing suggestions without macro expansions
creeping in. This fixes it by using original_sp, which works on AST nodes.
2017-04-08 23:30:34 +02:00
Oliver Schneider
c657d603ba
Bump the version 2017-04-07 11:25:00 +02:00
Oliver Schneider
f1e905f620 Reintroduce #768 so we can publish 2017-04-07 11:21:39 +02:00
Oliver Schneider
3052000c73 Merge pull request #1649 from ensch/master
Fix for rustc 1.18.0-nightly (5c94997b6 2017-03-30)
2017-04-07 11:13:44 +02:00
Oliver Schneider
a679f41fa3 Fix fallout 2017-04-06 16:49:13 +02:00
Oliver Schneider
6d921b4734 fix various rustup failures 2017-04-06 16:48:48 +02:00
Peter Gerber
71a788cbd7 correct error message for option_map_unwrap_or_else lint
Remove erroneous "with " in suggested alternative call.
2017-04-01 15:54:27 +02:00
Enrico Schmitz
7a4f7c335b Remove unused cs parameter for is_macro and friends 2017-04-01 00:14:04 +02:00
Enrico Schmitz
8aef64dfe8 Fix src/needless_bool.rs by using ExprBlock(block) = then 2017-03-31 23:46:08 +02:00
Enrico Schmitz
8297c19fcc Fixing src/copies.rs and src/entries.rs by using ExprBlock(block) = then.node 2017-03-31 23:36:45 +02:00
Enrico Schmitz
8f9fb97eb6 First try for a fix for rustc 1.18.0-nightly (5c94997b6 2017-03-30 2017-03-31 19:23:35 +02:00
Oliver Schneider
0ae1a77a2e Do some additional cleanup around InternedString and Symbol 2017-03-30 10:21:13 +02:00
Oliver Schneider
d9e69a70df
Fix fallout 2017-03-30 09:46:04 +02:00
Oliver Schneider
5de367f793
Don't create additional references when invoking binary operators 2017-03-30 09:46:00 +02:00
Oliver Schneider
5547fbb770 Fix accidental newline in diagnostic and missing entries in lint_array! 2017-03-24 10:21:12 +01:00
Oliver Schneider
8ae82eb4ab
Merge remote-tracking branch 'origin/master' into 1537-drop_copy 2017-03-24 10:11:46 +01:00
Oliver Schneider
4f473f7f60 Merge pull request #1617 from sinkuu/proc_macro_pass_by_value
Filter out proc_macro_derive functions
2017-03-24 10:10:24 +01:00
Oliver Schneider
b1b43da20a Merge pull request #1627 from Manishearth/dont-panic
Don't panic if traits not found
2017-03-24 10:09:59 +01:00
sinkuu
a712271df6 Filter out proc_macro_derive functions (fixes #1615) 2017-03-21 17:09:21 +09:00
Oliver Schneider
f2e8f526e6 Run rustfmt 2017-03-21 08:57:54 +01:00
Oliver Schneider
9bdd84cfdb
Bump the version 2017-03-21 08:57:19 +01:00
Enrico Schmitz
fa0a670201 Simplify attr_is_cfg in returns.rs 2017-03-21 00:34:05 +01:00
Enrico Schmitz
f8df4aed0f Fix for rustc 1.17.0-nightly (6eb9960d3 2017-03-19) 2017-03-21 00:22:19 +01:00
Andre Bogus
30e0c0fc96 fix typos 2017-03-17 21:21:32 +01:00
Andre Bogus
c2ff30375a Don't panic if traits not found 2017-03-16 08:57:17 +01:00
Andre Bogus
bc934a3ed9 Rustup: Add ExprKind::Catch 2017-03-16 00:56:21 +01:00
Oliver Schneider
4c6e225830
Run rustfmt 2017-03-13 11:40:56 +01:00
Oliver Schneider
49dd2dda57
Bump the version 2017-03-13 11:40:56 +01:00
Oliver Schneider
2d145b2ef5 don't lint macro_rules! in items_after_statements 2017-03-13 11:09:56 +01:00
Oliver Schneider
40d50fe8b2 Don't lint nan_cmp and zero_ptr in constants 2017-03-07 12:58:07 +01:00
Oliver Schneider
2a8fca599b Mostly apply rustfmt 2017-03-05 10:27:20 +01:00
Oliver Schneider
484e219b93
Bump the version 2017-03-05 10:26:01 +01:00
Enrico Schmitz
1f8b212298 CFG::new now wants Body instead of Expr 2017-03-05 02:15:39 +00:00
Oliver Schneider
ac48e09255 Simplify snippet body by forwarding to snippet_opt 2017-03-03 16:56:35 +01:00
Oliver Schneider
a33930f815 Fix single-match-else in the presence of macros expressions expanding to blocks 2017-03-03 16:56:16 +01:00
Oliver Schneider
a161d3f8f4 deduplicate single_match_else reporting 2017-03-03 15:44:23 +01:00
Oliver Schneider
26270c7451 Fix ice 2017-03-03 14:46:33 +01:00
Sander Maijers
5ab8e7d95a Add ECMAScript to default doc-valid-idents
FYI, https://en.wikipedia.org/wiki/ECMAScript .
2017-03-03 12:28:15 +01:00
Oliver Schneider
dee7d76772
Bump the version 2017-03-02 12:27:32 +01:00
Oliver Schneider
51295960bf Fix invalid_upcast_comparisons lint for same size sign casts 2017-03-02 10:41:20 +01:00
Oliver Schneider
7bfa53f504 Almost there 2017-03-01 18:46:18 +01:00
Enrico Schmitz
6f0fd15da9 Handle all types in to_const_range 2017-03-01 16:17:30 +01:00
Enrico Schmitz
353945a01b Use expect instead of unwrap to make clippy happy 2017-03-01 15:42:58 +01:00
Enrico Schmitz
0cf7990e72 Also handle ConstFloat::F32 in is_allowed 2017-03-01 15:33:32 +01:00
Enrico Schmitz
7ba3a713a1 Using to_u128_unchecked and int_type instead of creating a ConstantInt 2017-03-01 15:26:40 +01:00
Enrico Schmitz
63296f0393 Handle signed types in node_as_const_fullint 2017-03-01 15:06:53 +01:00
Enrico Schmitz
7e24e1db09 Using f.unsafety() instead of f.skip_binder().unsafety 2017-03-01 14:46:35 +01:00
Enrico Schmitz
8380dd31da Fix wrong life time for all_ranges 2017-03-01 14:45:45 +01:00
Enrico Schmitz
38251dccb0 Array lengths are usize, so you need ConstInt::Usize(...) 2017-03-01 14:44:52 +01:00
Oliver Schneider
a1dc49c51b Remove unused import 2017-03-01 14:07:08 +01:00
Enrico Schmitz
f66e0aad84 Fix for rustc 1.17.0-nightly (be760566c 2017-02-28) 2017-03-01 13:24:19 +01:00
Oliver Schneider
e53575b871
Bump the version 2017-02-28 14:27:54 +01:00
Oliver Schneider
d53b878af6 Merge branch 'master' into 1537-drop_copy 2017-02-27 12:36:34 +01:00
Oliver Schneider
07698d1574 Run rustfmt 2017-02-27 09:49:02 +01:00
Oliver Schneider
1369569ac7
Bump the version 2017-02-27 09:48:13 +01:00
Oliver Schneider
b9f183d31f rustup 2017-02-27 09:45:02 +01:00
Tristian Celestin
12af338150 Add space between colon and type annotation
Wrapped string in Rust don't require a backslash
2017-02-26 23:07:53 -05:00
Tristian Celestin
75e28610a7 Merged drop_forget_ref.rs with drop_forget_copy.rs.
Moved constant message strings out of declare_lint! macros.
2017-02-26 21:57:47 -05:00
Tristian Celestin
3075b01d8c Stored linter messages in constants.
Use is_copy() function instead of calling moves_by_default()
2017-02-26 17:57:56 -05:00
Tristian Celestin
aa037d1ef0 Merge branch 'master' into 1537-drop_copy 2017-02-25 23:11:21 -05:00
Tristian Celestin
b8defc6cc4 Warn on calls to std::mem::drop or std::mem::forget with a Copy type 2017-02-25 23:05:37 -05:00
sinkuu
5906639af5 Enable len_zero for slices 2017-02-25 12:26:33 +09:00
Steve Klabnik
c37d5f2563 update semver version 2017-02-22 15:52:57 -05:00
Oliver Schneider
19929790aa Merge pull request #1561 from Manishearth/zero_ptr
New zero_ptr lint.
2017-02-22 13:34:28 +01:00
sinkuu
1e26c44010 Suggest assert_ne for assert!(x != y) 2017-02-22 16:47:18 +09:00
Andre Bogus
3c04109fcc fix German keyboard fail 2017-02-21 17:28:17 +01:00
Oliver Schneider
d032b8967c Merge pull request #1491 from Manishearth/into_iter_on_ref
fix explicit_into_iter_loop on references
2017-02-21 14:55:52 +01:00
Oliver Schneider
27aa309b3d Merge pull request #1556 from sinkuu/take_by_value
Lint needless take-by-value
2017-02-21 13:07:25 +01:00
Oliver Schneider
42c451c122
update help message to match the suggestion 2017-02-21 12:04:48 +01:00
Oliver Schneider
21a0b16aee
adjust messages in tests 2017-02-21 12:04:29 +01:00
Oliver Schneider
c46178c518
rustfmt 2017-02-21 12:01:41 +01:00
Oliver Schneider
c1cf5a2cde
cleanup and create another helper function that we should use more often 2017-02-21 12:01:41 +01:00
Oliver Schneider
0bea3e76d4
fix explicit_into_iter_loop on references
fixes #1398
2017-02-21 12:01:41 +01:00
sinkuu
bf21c84629 Ensure deref_span is empty for Vec and String 2017-02-21 19:45:45 +09:00
sinkuu
cb86c57c5f Integrate suggestion spans 2017-02-21 19:03:50 +09:00
sinkuu
3516d45d7c Use multispan_sugg 2017-02-21 18:44:31 +09:00
Oliver Schneider
f07f793fa8 Merge pull request #1544 from bood/master
Add lint for unnecessary casts (cast to same type)
2017-02-21 09:16:07 +01:00
Andre Bogus
2f7babba82 New zero_ptr lint.
This fixes #1047. I did not bother to add a full suggestion,
because replacing with `std::ptr::null()` may still lead to
inference failures.
2017-02-21 04:36:59 +01:00
sinkuu
627d24c80f Fix suggestion for let <pat> 2017-02-21 00:27:12 +09:00
sinkuu
f1b0b774e7 Support non-moving usages at match
This `match` is not moving the `String`:

```rust
fn foo(x: Option<String>) -> i32 {
    match x {
        Some(_) => 1,
        None => 2,
    }
}
```

With this change, it will be linted and suggested to add `*` to deref it.

```rust
fn foo(x: &Option<String>) -> i32 {
    match *x {
        Some(_) => 1,
        None => 2,
    }
}
```
2017-02-20 16:45:37 +09:00
sinkuu
0a6bc6031a Rename lint to needless_take_by_value
And fixes false-positives for generics and `match`
2017-02-20 16:02:48 +09:00
Phil Ellison
2dd45b7317 Use span of impl/trait in len_without_is_empty error message, rather than the span of the len method 2017-02-19 15:14:30 +00:00
sinkuu
d2f73e7818 Add explanation 2017-02-19 18:07:37 +09:00
sinkuu
d81d961ba7 Lint needless take-by-value 2017-02-19 07:59:44 +09:00
Bood Qian
97d46232b4 Merge branch 'master' of github.com:Manishearth/rust-clippy 2017-02-18 11:12:13 +08:00
sinkuu
d2b9b7ece2 Fix language & if_let_chain usage 2017-02-18 10:14:25 +09:00
sinkuu
8cb2ec804d Support generic type 2017-02-18 10:14:25 +09:00
sinkuu
16e53c9868 Run update_lints.py 2017-02-18 10:14:20 +09:00
sinkuu
6bb426b0e3 Add should_assert_eq lint (fixes #641) 2017-02-18 10:13:56 +09:00
Oliver Schneider
9d8dc689c7 rustfmt again 2017-02-17 13:41:59 +01:00
Oliver Schneider
b1f766b37b fix dogfood tests 2017-02-17 13:23:19 +01:00
Andre Bogus
6c8a6c18ab deal with binary op short-circuit 2017-02-17 08:49:34 +01:00
Andre Bogus
505eb53d29 New never loop lint
This lint detects loops that unconditionally break or return.

Closes #257
2017-02-17 04:53:14 +01:00
Bood Qian
05a6945adc Rust fmt 2017-02-17 08:39:58 +08:00
Ben Boeckel
84509ca48a typos: coma -> comma 2017-02-16 11:23:28 -05:00
Bood Qian
2f00ea3a07 Suppress lint for unsuffixed number casts 2017-02-16 22:55:41 +08:00
Bood Qian
afce85e96d Add lint for unnecessary casts (cast to same type) 2017-02-15 22:20:20 +08:00
Oliver Schneider
40ea5e8c5d run util/update_lint 2017-02-13 11:40:27 +01:00
Oliver Schneider
2265babe6a
Merge remote-tracking branch 'origin/master' into clonedCollect 2017-02-13 11:40:02 +01:00
Oliver Schneider
b13d206a22 run rustfmt 2017-02-13 11:18:03 +01:00
Oliver Schneider
637a4590f6
Merge remote-tracking branch 'origin/master' 2017-02-13 11:15:12 +01:00
Martin Carton
9a7597d5af Merge pull request #1528 from Manishearth/mut-from-ref
New `mut_from_ref` lint
2017-02-12 16:01:15 +01:00
Andre Bogus
2a0bfdcd72 rustfmt 2017-02-12 14:11:18 +01:00
Andre Bogus
36b8554cf1 add notes for immutable inputs 2017-02-12 13:53:30 +01:00
f001
b3570db094 update via comments 2017-02-12 20:40:38 +08:00
f001
5a039f68f7 format adjust 2017-02-12 17:24:59 +08:00
f001
98aa0db0ac Add a lint for slice.iter().cloned().collect()
If one uses `slice.iter().cloned().collect()` to create a new `Vec`,
it should be `slice.to_owned()`.

Fix #1292
2017-02-12 17:03:09 +08:00
Bood Qian
9824c997fe Remove unnecessary ref 2017-02-12 09:16:37 +08:00
Bood Qian
1c381ec642 Move more into if_let_chain 2017-02-11 22:11:19 +08:00
Bood Qian
12c53752b8 Apply rustfmt 2017-02-11 21:47:26 +08:00
Bood Qian
64d2f8af8e Lint on panic! only 2017-02-11 21:42:42 +08:00
Bood Qian
a2d752807a Lint on Err(_) arm of a match 2017-02-11 14:57:50 +08:00
Owen Sanchez
8fb582ea1c rustfmt 2017-02-10 21:08:50 -07:00
Owen Sanchez
45a7012fd9 Search directly for the largest and smallest variants instead of sorting 2017-02-10 18:12:32 -07:00
Owen Sanchez
1938904fcd Change large_enum_variant to lint against size differences rather than size 2017-02-10 18:12:32 -07:00
Owen Sanchez
7e4b633417 Add some writes to a log file for debugging 2017-02-10 18:11:10 -07:00
Andre Bogus
bff4c30ac7 added test, fixed message & description, rustfmt 2017-02-11 00:32:12 +01:00
Andre Bogus
5650a599a8 New mut_from_ref lint
This fixes #1507.
2017-02-10 19:39:03 +01:00
Martin Carton
37a0e52a1e Merge pull request #1520 from Manishearth/rustup
rustup and compile-fail -> ui test move
2017-02-08 21:07:19 +01:00
Nathan Musoke
f2603ba2b2 doc-markdown: Allow LaTeX-related words
Add "TeX", "LaTeX", "BibTeX" and "BibLaTeX" to the default list of allowed
words.
2017-02-08 09:14:18 +13:00
Oliver Schneider
fd1351f6e3 rustup and compile-fail -> ui test move 2017-02-07 21:05:30 +01:00
Martin Carton
4ee839857b Merge pull request #1506 from bood/master
Lint for possible missing comma in an array #1177
2017-02-07 18:56:38 +01:00
Owen Sanchez
59e0ae75d0 Make rustfmt happy 2017-02-05 09:51:31 -07:00
Owen Sanchez
31919aff3b Revert changes from accidentally running rustfmt 2017-02-04 22:22:33 -07:00
Owen Sanchez
c922eb9db5 Suggest to use a wrapper in the wiki for the empty_enum lint 2017-02-04 22:09:54 -07:00
Owen Sanchez
1193f4fb68 Run update_lints.py 2017-02-04 21:54:21 -07:00
Owen Sanchez
49238ad1d2 Implement empty_enum lint and add a test 2017-02-04 21:52:44 -07:00
Owen Sanchez
e88e637b67 Add empty_enum lint (just a copy of large_enum_variant for now) 2017-02-04 21:07:54 -07:00
Bood Qian
4b4dc0a4d3 Fix lint name in comment too 2017-02-05 11:06:19 +08:00
Oliver Schneider
d198b99472 fix false negatives introduced in the rustup 2017-02-04 16:59:06 +01:00
Bood Qian
9ace6c7ffc Consider expression with macro for possible missing comma lint 2017-02-04 21:13:36 +08:00
Oliver Schneider
7fbc7c0bb2 version bump 2017-02-04 13:42:13 +01:00
Oliver Schneider
384eb82526 don't record elided lifetimes on trait objects 2017-02-04 13:18:51 +01:00
Bood Qian
97301434cd Fix abbreviations in document 2017-02-04 20:11:43 +08:00
Bood Qian
25fd8c6ba1 Shorten lint name for possible missing comma 2017-02-04 20:05:25 +08:00