bors
140c1650e8
Auto merge of #3600 - xfix:cast-ref-to-mut, r=flip1995
...
cast_ref_to_mut lint
I see this pattern way too often, and it's completely wrong. In fact, due to how common this incorrect pattern is, [the Rustonomicon specifically points this out](https://doc.rust-lang.org/nomicon/transmutes.html ).
> - Transmuting an & to &mut is UB
> - Transmuting an & to &mut is always UB
> - No you can't do it
> - No you're not special
This is my first lint.
2019-01-07 18:30:53 +00:00
Konrad Borowski
27ea638a15
Move cast_ref_to_mut list to correctness group
2019-01-07 14:39:56 +01:00
Konrad Borowski
21d30450b5
Don't import ty::Ref in cast_ref_to_mut lint
2019-01-07 14:37:28 +01:00
Konrad Borowski
6faf1330aa
Move a hint to an error message in cast_ref_to_mut lint
...
This matches mem::transmute::<&T, &mut T> lint in rustc.
2019-01-07 14:37:28 +01:00
Konrad Borowski
1cab4d15a2
Add a note to cast_ref_to_mut lint
2019-01-07 14:37:28 +01:00
Konrad Borowski
fd57874106
Use ty::Ref instead of ty::TyKind::Ref
2019-01-07 14:37:28 +01:00
Konrad Borowski
34daf09aa4
cast_ref_to_mut lint
2019-01-07 14:37:28 +01:00
Marcel Hellwig
a3931229c4
Add missing ` in default lint
2019-01-07 14:32:32 +01:00
Wilco Kusee
351688db78
Improve tests and exclude nested impls
2019-01-07 14:11:53 +01:00
A.A.Abroskin
96058616e2
run ./util/dev update_lints
2019-01-07 13:33:06 +03:00
A.A.Abroskin
3d9535a106
Add unreachable!() as option
2019-01-07 13:30:17 +03:00
A.A.Abroskin
98c5f37ad2
Add assert(true) and assert(false) lints
2019-01-07 13:30:17 +03:00
Michael Wright
d2ea6355a8
Update unwrap_get
code review suggestions
2019-01-07 06:22:39 +02:00
Wilco Kusee
7230768998
Update known problems
2019-01-06 15:41:02 +01:00
Wilco Kusee
ff191a808e
Restrict use_self on nested items
2019-01-06 15:34:36 +01:00
Michael Wright
4add1e23f9
Improve get_unwrap
suggestion
...
Handle case where a reference is immediately dereferenced.
Fixes 3625
2019-01-06 11:46:03 +02:00
Matthias Krüger
3389a68834
Revert "Auto merge of #3603 - xfix:random-state-lint, r=phansch"
...
This reverts commit 0a6593cd1b
, reversing
changes made to 5277a1fb6c
.
This hopefully fixes #3628
2019-01-05 10:19:04 +01:00
bors
d264e406be
Auto merge of #3627 - detrumi:use_self_local_macro, r=phansch
...
Trigger `use_self` lint in local macros
Closes #2098
The test currently only covers local macros. #2098 suggested this:
> You could add the macro in question into the `mini_macro` subcrate
But that doesn't work for a `macro_rules`:
```
error: cannot export macro_rules! macros from a `proc-macro` crate type currently
```
So I suggest leaving out the test for external macros, as using `in_external_macro` seems straigtforward enough. Alternatives would be to use to add an additional crate (overkill if you ask me), or test with a `proc-macro`.
2019-01-05 08:51:13 +00:00
Matthias Krüger
a4b99c6d68
rustup https://github.com/rust-lang/rust/pull/56837
2019-01-05 08:21:56 +01:00
Matthias Krüger
33ec4e5220
rustup (don't know the exact PR unfortunately)
2019-01-05 01:12:33 +01:00
bors
194a91c45d
Auto merge of #3601 - xfix:move-constant-write-lint, r=flip1995
...
Move constant write checks to temporary_assignment lint
They make more sense here
cc #3595
2019-01-04 14:59:11 +00:00
Wilco Kusee
407ff74dcc
Trigger use_self
lint in local macros
2019-01-04 13:01:31 +01:00
bors
756b32e1e2
Auto merge of #3623 - phansch:rustup, r=flip1995
...
rustup: https://github.com/rust-lang/rust/pull/55517
None
2019-01-03 22:29:09 +00:00
Philipp Hansch
d1fffe07c5
rustup: https://github.com/rust-lang/rust/pull/55517
2019-01-03 21:54:57 +01:00
bors
c7c75db827
Auto merge of #3621 - Zoxc:parallel, r=phansch
...
Make clippy work with parallel rustc
2019-01-03 19:27:32 +00:00
John Kåre Alsaker
3af68f831a
Make clippy work with parallel rustc
2019-01-03 19:18:06 +01:00
bors
5b8b01e8dc
Auto merge of #3519 - phansch:brave_newer_ui_tests, r=flip1995
...
Integrate rustfix into Clippy test suite
Once the [PR to compiletest-rs](https://github.com/laumann/compiletest-rs/pull/151 ) is reviewed and merged this fixes #2376 .
I will create a separate tracking issue for adding `run-rustfix` to all tests.
2019-01-03 15:08:47 +00:00
bors
0a6593cd1b
Auto merge of #3603 - xfix:random-state-lint, r=phansch
...
random_state lint
2019-01-03 02:00:46 +00:00
bors
84aa027888
Auto merge of #3607 - detrumi:limit_infinite_iter_to_known_types, r=phansch
...
Only trigger `infinite_iter` lint for infinitely allocating `collect()` calls
Fixes #3538
~Oh, I guess this should actually check other methods like `count` as well, not only `collect()`.~
Never mind, `collect` is the only of these functions that allocates a data structure.
2019-01-03 00:12:02 +00:00
Wilco Kusee
f38fb56baf
Limit infinite_iter collect() check to known types
2018-12-31 13:38:31 +01:00
bors
85ba5f0f17
Auto merge of #3608 - phansch:improve_util_docs, r=oli-obk
...
Some improvements to util documentation
None
2018-12-31 12:03:28 +00:00
Philipp Hansch
cc76384807
Some improvements to util documentation
2018-12-31 12:12:50 +01:00
bors
f2fd8e71e9
Auto merge of #3606 - detrumi:blacklisted_name_hashset, r=phansch
...
Use hashset in `blacklisted_name` lint
2018-12-31 10:22:06 +00:00
Wilco Kusee
d1dfd3e96f
Use hashset for name blacklist
2018-12-31 10:44:27 +01:00
bors
6f3912850a
Auto merge of #3590 - jorpic:i3559-if_same_then_else, r=phansch
...
Fix if_same_then_else false positive
This fixes false positive in #3559 .
The problem was that `SpanlessEq` does not check patterns in declarations. So this two blocks considered equal.
```rust
if true {
let (x, y) = foo();
} else {
let (y, x) = foo();
}
```
Not sure if the proposed change is safe as `SpanlessEq` is used extensively in other lints, but I tried hard to come up with counterexample and failed.
2018-12-31 09:25:18 +00:00
bors
529f698c23
Auto merge of #3599 - xfix:use-hash-set-for-valid-idents, r=oli-obk
...
Use an FxHashSet for valid idents in documentation lint
2018-12-30 17:46:01 +00:00
Konrad Borowski
978e3ac2cf
Use node_id_to_type_opt instead of node_it_to_type in random_state
2018-12-30 13:40:27 +01:00
bors
735607c1f9
Auto merge of #3588 - detrumi:tuple_struct_use_self, r=phansch
...
`use_self` for tuple structs
Fixes #3498
2018-12-30 11:12:55 +00:00
Max Taldykin
911a752561
Check pattern equality while checking declaration equality
2018-12-30 14:01:56 +03:00
Konrad Borowski
1130bbc26f
Merge branch 'master' of https://github.com/rust-lang/rust-clippy into random-state-lint
2018-12-30 11:43:20 +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
Wilco Kusee
1d10de66de
Remove false negatives from known problems
2018-12-30 08:23:39 +01:00
Wilco Kusee
ab42ba4f54
Implement use_self for tuple structs
2018-12-30 08:23:38 +01:00
Wilco Kusee
0f3dcdc3aa
Document known problems
2018-12-30 08:20:49 +01:00
Konrad Borowski
a6c4eaa93c
random_state lint
2018-12-30 02:45:34 +01: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
815e434a1f
Move constant write checks to temporary_assignment lint
...
They make more sense here
2018-12-30 00:25:09 +01:00
bors
6cba3da727
Auto merge of #3558 - russelltg:new_without_default_merge, r=flip1995
...
Merge new_without_default_derive into new_without_default
Closes #3525 , deprecating new_without_default_derive and moving both lints into new_without_default.
2018-12-29 17:31:35 +00:00
Konrad Borowski
ab70e0e742
Use an FxHashSet for valid idents in documentation lint
2018-12-29 18:08:53 +01:00
Konrad Borowski
aeabb890d6
Use match ergonomics for booleans lint
2018-12-29 17:38:15 +01:00
Konrad Borowski
13c857b745
Use match ergonomics for block_in_if_condition lint
2018-12-29 17:32:09 +01:00
Konrad Borowski
fe151ebb9c
Use match ergonomics for bit_mask lint
2018-12-29 17:31:32 +01:00
Konrad Borowski
931e2b0026
Use match ergonomics for attrs lint
2018-12-29 17:29:50 +01:00
Konrad Borowski
3bf71a8e62
Use match ergonomics for assign_ops lint
2018-12-29 17:27:26 +01:00
Konrad Borowski
79cd95cf35
Use match ergonomics for artithmetic lint
2018-12-29 17:25:45 +01:00
Konrad Borowski
0ddb628488
Use match ergonomics for approx_const lint
2018-12-29 17:25:07 +01:00
bors
4d60841205
Auto merge of #3596 - xfix:remove-crate-from-paths, r=flip1995
...
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:15:57 +00: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
Konrad Borowski
9fe8a3e52e
Support array indexing expressions in unused write to a constant
2018-12-29 15:34:15 +01:00
Konrad Borowski
847898f18f
Mark writes to constants as side-effect-less
2018-12-29 15:18:51 +01:00
Konrad Borowski
44bf8e0c3d
Remove unsafe from consts clippy lints
2018-12-29 00:50:03 +01:00
Philipp Hansch
298aedf2f8
Fix suggestion for unnecessary_ref lint
2018-12-28 20:54:29 +01:00
Peter Fürstenau
6ee0e22204
Merge remote-tracking branch 'upstream/master'
2018-12-28 20:19:51 +01:00
Russell Greene
d127aed737
Merge new_without_default_derive into new_without_default
2018-12-28 10:57:58 -07:00
flip1995
909bfd3cd8
Match on ast/hir::ExprKind::Err
2018-12-28 13:31:19 +01:00
bors
721f688eff
Auto merge of #3577 - daxpedda:master, r=flip1995
...
Fix false positives for `implicit_return` and `empty_loop` on macro expansion.
This PR only fixes `implicit_return` and `empty_loop`.
But I suspect this bug may affect a lot of other lints.
2018-12-27 15:21:22 +00:00
Matthias Krüger
99454bc9a1
rustup https://github.com/rust-lang/rust/pull/57069
2018-12-27 11:19:20 +01:00
daxpedda
2d96ef1315
Rustfmt.
2018-12-26 18:13:33 +01:00
Matthias Krüger
7f5e17f3f1
fix a couple of ftrivial typos (NFC).
2018-12-25 18:22:34 +01:00
Philipp Krones
197914439a
Fix macro detection in empty_loop
.
...
Co-Authored-By: daxpedda <1645124+daxpedda@users.noreply.github.com>
2018-12-25 12:57:16 +01:00
daxpedda
a77bcadaa5
Changed macro_backtrace()
to in_macro()
.
2018-12-25 12:48:54 +01:00
daxpedda
b5587a894f
Fix lint detection on macro expansion.
2018-12-24 22:06:08 +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
bors
52820e588f
Auto merge of #3573 - Vlad-Shcherbina:map_clone_caveat, r=flip1995
...
Document map_clone known problems #498
(cherry picked from commit ada0d2c548
)
This was lost in relicensing (057243f16b
).
However, I [acknowledged](https://github.com/rust-lang/rust-clippy/issues/3099#issuecomment-416482309 ) relicensing so this cherry pick should be fine I guess.
2018-12-22 15:02:50 +00:00
bors
d9cc71fc42
Auto merge of #3341 - HMPerson1:possibly_missing_else, r=phansch
...
Teach `suspicious_else_formatting` about `if .. {..} {..}`
We essentially treat bare blocks `{..}` identically to `if .. {..}`, except for different lint messages.
Fixes #3044
2018-12-22 13:26:22 +00:00
Vlad-Shcherbina
d2c069de1e
Document map_clone known problems #498
...
(cherry picked from commit ada0d2c548
)
2018-12-22 13:44:35 +03:00
Mark Nieweglowski
c6031221e0
panic at map_unit_fn.rs:202 for map() without args
2018-12-22 00:58:07 -05:00
HMPerson1
05ae391e2c
Workaround rust-lang/rust#43081
2018-12-20 22:45:44 -05:00
HMPerson1
88564b743e
Teach suspicious_else_formatting
about if .. {..} {..}
2018-12-20 22:45:37 -05:00
Daniel Silverstone
5875ba3364
mutex_atomic: Correct location of AtomicBool and friends
...
The AtomicBool, AtomicUsize, and friends, types live in the
`std::sync::atomic` module, rather than `std::atomic` as the lint
help text used to say.
2018-12-19 20:47:50 +00:00
Peter Fürstenau
65c35333a4
Only print out question_mark lint when it actually triggered
2018-12-19 20:55:01 +01:00
Peter Fürstenau
e722b1338e
Reinserted commata
2018-12-19 20:31:08 +01:00
bors
61de562454
Auto merge of #3554 - klausi:module_name_repeat, r=oli-obk
...
chore(module_name_repeat): Rename stutter lint to module_name_repeat to avoid ableist language
See #3521
2018-12-18 13:28:12 +00:00
Peter Fürstenau
ee0856cbeb
Recomend .as_ref()?
in certain situations
2018-12-18 13:57:38 +01:00
Peter Fürstenau
8b0ea22885
Deduplicate some code?
2018-12-18 13:57:38 +01:00
bors
176778fe92
Auto merge of #3556 - lucasloisp:bool-ord-comparison, r=oli-obk
...
Implements lint for order comparisons against bool (#3438 )
As described on issue #3438 , this change implements linting for `>` and `<` comparisons against both `boolean` literals and between expressions.
2018-12-18 10:11:08 +00:00
Wilco Kusee
24ef8db402
Do not mark as_ref as useless if it's followed by a method call
2018-12-17 21:33:50 +01:00
Lucas Lois
de42dfbab7
Changes lint sugg to bitwise and operator &
2018-12-17 15:32:24 -03:00
flip1995
a44adaa5ed
Rename lint to MODULE_NAME_REPETITIONS
2018-12-17 14:29:19 +01:00
flip1995
0516c2e04a
Move renaming to the right place
2018-12-17 13:58:41 +01:00
Lucas Lois
bc48890b47
Implements lint for order comparisons against bool
2018-12-16 21:43:32 -03:00
Klaus Purer
355018d086
fix(module_name_repeat): Try to register renamed lint, not valid yet
2018-12-16 22:49:46 +01:00
daxpedda
35058287ce
Fix implicit_return
false positives.
2018-12-16 15:42:02 +01:00
Klaus Purer
15b9e9f23a
chore(moduel_name_repeat): Rename stutter lint to module_name_repeat to avoid ableist language
2018-12-16 14:10:53 +01:00
bors
a416c5e0f7
Auto merge of #3545 - Kampfkarren:vec_boxed_sized, r=flip1995
...
Adds lint for Vec<Box<T: Sized>>
This adds, and subsequently closes #3530 . This is the first time I've ever worked with anything remotely close to internal Rust code, so I'm very much unsure about the if_chain! to figure this out!
I can't get rustfmt working on WSL with nightly 2018-12-07:
`error: component 'rustfmt' for target 'x86_64-unknown-linux-gnu' is unavailable for download`
2018-12-14 12:10:48 +00:00
flip1995
d866f31678
rustup rust-lang/rust#52994
...
s/trim_left/trim_start/
s/trim_right/trim_end/
2018-12-14 12:35:44 +01:00
Michael Wright
df73348354
Merge branch 'master' into fix-3514
2018-12-14 07:16:26 +02:00
Kampfkarren
985eba08a5
Line length fix
2018-12-13 10:46:21 -08:00
Kampfkarren
db00c3320f
Remove references to sized for end users
2018-12-13 10:18:17 -08:00
Kampfkarren
9fc914cf4d
Remove DUMMY_SP
2018-12-13 09:37:00 -08:00
Kampfkarren
616395f40b
Add suggestion for replacement
2018-12-13 09:34:16 -08:00
Kampfkarren
ab070508be
Lint for Vec<Box<T: Sized>> - Closes #3530
2018-12-13 07:43:13 -08:00
bors
379c934f3f
Auto merge of #3535 - sinkuu:fixes, r=phansch
...
Fix some problems
Fixes #2892 , #3199 , #2841 , #3476
2018-12-12 19:17:09 +00:00
bors
777c9099e7
Auto merge of #3510 - phansch:fix_doc_markdown_mixed_case, r=flip1995
...
Fix doc_markdown mixed case false positive
Fixes #2343
2018-12-12 18:36:38 +00:00
Philipp Hansch
778723630c
Fix doc_markdown mixed case false positive
2018-12-12 19:25:27 +01:00
bors
7c823cabab
Auto merge of #3450 - phansch:structured_sugg_for_explicit_write, r=flip1995
...
Add suggestion for explicit_write lint
Closes #2083
2018-12-12 18:11:13 +00:00
Shotaro Yamada
eba44e1c67
question_mark: Suggest Some(opt?) for if-else
2018-12-12 18:13:21 +09:00
Shotaro Yamada
eb54c1a9a0
redundant_field_names: Do not trigger on path with type params
...
Fixes #3476
2018-12-12 17:41:52 +09:00
Shotaro Yamada
28635ff04b
question_mark: Lint only early returns
2018-12-12 17:41:51 +09:00
Shotaro Yamada
05d07155b7
question_mark: Fix applicability
2018-12-12 17:40:25 +09:00
Philipp Hansch
1cfbadb029
Fix doc_markdown off by one issue
2018-12-12 08:21:13 +01:00
Shotaro Yamada
bcbbb4d09b
new_without_default, partialeq_ne_impl: Use span_lint_node
...
Fixes #2892 , fixes #3199
2018-12-12 16:08:05 +09:00
Philipp Hansch
499aad1e04
cargo fmt and remove stabilized feature
2018-12-12 07:31:04 +01:00
Philipp Hansch
752724546a
Make suggestion Applicability::MachineApplicable
2018-12-12 07:31:04 +01:00
Philipp Hansch
9a6216ed05
Address review feedback
...
* Fix typo
* Handle None value instead of using `unwrap()`
* `pop()` instead of `x.truncate(x.len() - 1)`
2018-12-12 07:31:04 +01:00
Philipp Hansch
5f007a88b4
Extract method
2018-12-12 07:31:04 +01:00
Philipp Hansch
7e7a33c726
Check array lengths to prevent OOB access
2018-12-12 07:31:04 +01:00
Philipp Hansch
c4c9d9fc62
Add suggestion for explicit_write lint
2018-12-12 07:31:01 +01:00
Philipp Hansch
ee2abc36a3
Add 'CamelCase' to doc_valid_idents
2018-12-11 19:37:43 +01:00
Michael Wright
c6505aa160
Fix write_with_newline escaping false positive
...
Fixes #3514
2018-12-11 08:44:49 +02:00
bors
0fd7fe9a77
Auto merge of #3511 - phansch:remove_allow_doc_markdown, r=phansch
...
Remove allow(doc_markdown) in excessive_precision.rs
Closes #3299
2018-12-10 19:21:25 +00:00
bors
ada0b2b095
Auto merge of #3518 - sinkuu:redundant_clone_tw, r=phansch
...
Lint redundant clone of fields
Makes `redundant_clone` warn on unnecessary `foo.field.clone()` sometimes (it can detect an unnecessary clone only if the base of projection, `foo` in this case, is not used at all after that). This is enough for cases like `returns_tuple().0.clone()`.
2018-12-10 18:55:49 +00:00
Shotaro Yamada
e7d18084fb
Only check the assignment found at last
...
If there are more than one such assignment, the last one may be
the one supplied to `clone` method.
Makes `find_stmt_assigns_to` internally reverses the iterator to make
the intent to "iterate statements backward" clear.
2018-12-10 15:59:21 +09:00
Shotaro Yamada
fd9f5df36c
Add comment and rename
2018-12-10 15:48:34 +09:00
Shotaro Yamada
22f396a1c1
Apply redundant_clone on clippy
2018-12-10 08:48:14 +09:00
Shotaro Yamada
109d4b1ab3
Lint redundant clone of projection
2018-12-10 08:48:14 +09:00
Matthias Krüger
273dc82872
run rustfmt
2018-12-09 12:03:10 +01:00
Shotaro Yamada
790e611c9c
Cleanup
2018-12-09 19:18:35 +09:00
Philipp Hansch
fe3519e0dd
Swap if branches
2018-12-08 12:09:32 +01:00
Philipp Hansch
d90cad24a1
Fix c_void false positive caused by libc refactoring
...
The path of `libc::c_void` has changes in 5c1a6b8a6d
The DefId path is now always platform specific like
`libc::windows::c_void`. This fixes our c_void detection to only check
the first and last elements.
2018-12-08 12:05:11 +01:00
Matthias Krüger
f13d23de41
rustup https://github.com/rust-lang/rust/pull/56502 ( .hir -> .hir() )
2018-12-08 12:05:09 +01:00
Philipp Hansch
26602ddff4
Merge pull request #3336 from HMPerson1/clone_on_copy_deref
...
Fix `clone_on_copy` not detecting derefs sometimes
2018-12-08 09:59:02 +01:00
Philipp Hansch
a73d051227
Remove allow(doc_markdown) in excessive_precision.rs
2018-12-07 22:47:12 +01:00
Philipp A
2fed8d9f1d
typo: emum → enum
2018-12-07 12:24:59 +01:00
Matthias Krüger
45cbdf471d
rustup clippy build with latest rustc
...
(breakage due to 08f8faedd0
)
Fixes #3500
2018-12-06 16:44:22 +01:00
Philipp Hansch
c4ef06a9b6
Merge pull request #3497 from daxpedda/master
...
Fix bug in `implicit_return`.
2018-12-06 14:13:20 +01:00
daxpedda
a4ec7be06f
Forgot to remove some debugging code ...
2018-12-06 13:23:42 +01:00
daxpedda
d048e15835
Improved code noted by clippy.
2018-12-06 13:21:04 +01:00
daxpedda
973d676cd1
Fix bug in implicit_return
.
...
Bug was already covered by test, but test was not checked for.
2018-12-06 12:22:54 +01:00
Felix Kohlgrüber
a8a0b236b5
fix #3482 and add ui test for it
2018-12-06 11:07:10 +01:00
Philipp Hansch
f93591294d
Merge pull request #3494 from daxpedda/master
...
Added `IMPLICIT_RETURN` lint.
2018-12-06 07:12:01 +01:00
daxpedda
b0f3ed2b80
Added additional reasoning to Why is this bad?
.
...
Added comment to explain usage of MIR.
2018-12-05 15:01:19 +01:00
daxpedda
aed2b986e6
Renamed to implicit_return
.
...
Covered all other kinds besides `ExprKind::Lit`.
Added check for replacing `break` with `return`.
2018-12-05 14:39:09 +01:00
flip1995
36ee92780d
Fix ty::TyKind usage
2018-12-05 12:47:19 +01:00
flip1995
20a07f6d80
Fix TyKind::<kind> usage in codebase
2018-12-05 12:47:10 +01:00
daxpedda
19db2f1a32
Appeasing the Test Gods.
...
Seems I'm not smart enough to run the tests locally before committing.
2018-12-05 11:26:40 +01:00
daxpedda
978f8c65ee
Renamed forced_return
to missing_returns
.
...
Better clarification in the docs.
Ran `update_lints`.
2018-12-05 10:54:21 +01:00
daxpedda
d5d6692288
Added FORCED_RETURN
lint.
2018-12-05 01:59:09 +01:00
Philipp Krones
3f24cdf10f
Merge pull request #3490 from phansch/extract_single_match_else_ui_test
...
Extract single_match_else UI test
2018-12-04 14:57:19 +01:00
Philipp Hansch
68bb900eba
Merge pull request #3473 from lucasloisp/additional-bool-comparisons
...
Adds inequality cases to bool comparison (#3438 )
2018-12-04 07:26:29 +01:00
Philipp Hansch
8b2eb06df3
Merge pull request #3488 from phansch/fix_cargo_lint_bug
...
Fix wildcard_dependencies false positive
2018-12-04 07:24:11 +01:00
Philipp Hansch
3f72d4d630
Extract single_match_else UI test
...
There's only one test currently.
I also updated the lint doc with a 'good' example and changed the lint
help text a bit.
cc #2038
2018-12-04 07:20:13 +01:00
Philipp Hansch
46ee676139
cargo fmt
2018-12-04 06:47:41 +01:00
Lucas Lois
3930148059
Adds inequality cases to bool comparison lint
...
The lint now checks cases like `y != true`
2018-12-03 16:32:11 -03:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
c00210d7ba
Merge pull request #3478 from dtolnay/setlen
...
Remove unsafe_vector_initialization lint
2018-12-03 12:42:31 +01:00
David Tolnay
e632a1946e
Remove unsafe_vector_initialization lint
2018-12-03 02:48:37 -08:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
13438b6866
Merge pull request #3479 from dtolnay/literal
...
Downgrade large_digit_groups to pedantic
2018-12-03 11:06:56 +01:00
Philipp Hansch
ef64c762d2
Fix wildcard_dependencies false positive
...
This now only checks for wildcard_dependencies if the source is a
non-git source.
I tried adding a compiletest suite for the cargo lints, but I was unable
to override the `Cargo.toml` of the original executable.
I tested this manually by modifying the main `Cargo.toml`.
Fixes #3458
2018-12-03 08:12:35 +01:00
Philipp Hansch
ebd508e0ac
Fix rustfmt format
2018-12-03 07:13:00 +01:00
David Tolnay
c00dcd03d7
Downgrade large_digit_groups to pedantic
...
I believe if the user already decided to put underscores in their
literal, Clippy should be willing to believe that they put a number of
underscores that they felt was readable.
2018-12-01 17:08:42 -08:00
David Tolnay
8b1f69a485
Downgrade unsafe_vector_initialization to restriction
...
This lint looks for:
let mut vec = Vec::with_capacity(len);
vec.set_len(len);
The suggested replacement is `vec![0; len]`.
This is far too opinionated to be a deny-by-default lint because the performance
characteristics of the suggested replacement are totally different.
I am not convinced that this lint has value beyond what deny(unsafe_code) gives
you. Unsafe code is unsafe but please don't deny-by-default lint it if that's
the only reason.
2018-12-01 16:21:02 -08:00
Matthias Krüger
c38bac89e9
remove macro_at_most_once_rep feature attribute since it's stable
...
Warning was:
warning: the feature `macro_at_most_once_rep` has been stable since 1.32.0 and no longer requires an attribute to enable
--> clippy_lints/src/lib.rs:19:12
|
19 | #![feature(macro_at_most_once_rep)]
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: #[warn(stable_features)] on by default
2018-11-30 09:14:18 +01:00
flip1995
63fa5d24e1
Fix some formatting issues
2018-11-27 21:49:09 +01:00
flip1995
1751d2496d
Run rustfmt on clippy_lints
2018-11-27 21:14:15 +01:00
flip1995
87e72a5861
Fix NAIVE_BYTECOUNT applicability
2018-11-27 17:31:17 +01:00
flip1995
6eb8e6d7c5
Fix dogfood error
2018-11-27 16:59:52 +01:00
flip1995
adc638ef33
Change Applicability of MISTYPED_LITERAL_SUFFIX
2018-11-27 16:59:39 +01:00
flip1995
4e74eef6e9
Add applicability level to (nearly) every span_lint_and_sugg function
2018-11-27 15:29:23 +01:00
flip1995
3740da203b
Fix bugs and improve documentation
...
Some bugs and some documentation is unrelated to the Applicability change, but
these bugs were serious and the documentation was kind of required to
understand what's going on.
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
flip1995
fad267c3b3
Introduce snippet_with_applicability and hir_with_applicability functions
2018-11-27 15:29:14 +01:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
1e2291c90c
Merge pull request #3365 from gnieto/lint/slow-initialization
...
Add slow vector initializations lint
2018-11-26 13:37:46 +01:00
Matthias Krüger
ae32c877a5
constants: add u128 i128 builtin types and fix outdated url
2018-11-26 01:12:12 +01:00
Guillem Nieto
dc35841be4
Update lints
2018-11-25 14:36:04 -08:00
Guillem Nieto
5fa04bc3cd
Lint only the first statment/expression after alloc
...
Instead of searching for all the successive expressions after a vector
allocation, check only the first expression.
This is done to minimize the amount of false positives of the lint.
2018-11-25 14:34:23 -08:00
Guillem Nieto
39b02fdcd2
Fix some warnings related to Self
2018-11-25 14:34:23 -08:00
Guillem Nieto
5b77ee95dc
Rename some symbols
...
Renamed some symbols in order to make them a little bit more accurate.
2018-11-25 14:34:23 -08:00
Guillem Nieto
2753f1cbd4
Split lint into slow and unsafe vector initalization
2018-11-25 14:34:23 -08:00
Guillem Nieto
9b4bc3b6ef
Add unsafe set_len initialization
2018-11-25 14:34:23 -08:00
Guillem Nieto
e0ccc9d9af
Add slow zero-filled vector initialization lint
...
Add lint to detect slow zero-filled vector initialization. It detects
when a vector is zero-filled with extended with `repeat(0).take(len)`
or `resize(len, 0)`.
This zero-fillings are usually slower than simply using `vec![0; len]`.
2018-11-25 14:34:23 -08:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
69d09fbfc6
Merge pull request #3439 from dtolnay/npbv
...
Downgrade needless_pass_by_value to allow by default
2018-11-24 10:16:38 +01:00
Philipp Hansch
754b4c0723
Merge pull request #3452 from matthiaskrgr/rustup
...
rustup https://github.com/rust-lang/rust/pull/54071/
2018-11-23 10:38:20 +01:00
Matthias Krüger
311c8e29b1
rustup https://github.com/rust-lang/rust/pull/54071/
2018-11-23 10:05:51 +01:00
Matthias Krüger
1ee0c1a029
dependencies: update pulldown-cmark from 0.1 to 0.2
2018-11-22 18:04:34 +01:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
ff7da3264e
Merge pull request #3447 from phansch/small_rename
...
s/file_map/source_map
2018-11-22 15:08:13 +01:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
87ec0580f9
Merge branch 'master' into version_ids
2018-11-22 10:22:25 +01:00
Philipp Hansch
c4b08a5b0c
s/file_map/source_map
2018-11-22 07:53:59 +01:00
Matthias Krüger
f5929e0797
rust-lang-nursery/rust-clippy => rust-lang/rust-clippy
2018-11-22 04:40:09 +01:00
Wayne Warren
1fed72bad4
Address 'clippy::single-match' dogfood lint
2018-11-21 07:52:02 -06:00
Philipp Krones
d4a6ee4a0c
Fix nit
...
Co-Authored-By: waynr <wayne.warren.s@gmail.com>
2018-11-21 07:52:02 -06:00
Wayne Warren
cb5e327c58
Address travis CI lint failure
2018-11-21 07:52:02 -06:00
Wayne Warren
92f7f9061c
issue#3318 run trivially_copy_pass_by_ref for traits
2018-11-21 07:52:02 -06:00
Oliver Scherer
617d861041
Enable rustup clippy to refer to the correct documentation
2018-11-21 13:33:42 +01:00
Matthias Krüger
4aae76464c
rustup https://github.com/rust-lang/rust/pull/52591
2018-11-21 13:29:23 +01:00
David Tolnay
e4be2b4e64
Downgrade needless_pass_by_value to allow by default
...
I noticed that I suppress this lint in many of my projects.
https://github.com/search?q=needless_pass_by_value+user%3Adtolnay&type=Code
https://github.com/search?q=needless_pass_by_value+user%3Aserde-rs&type=Code
Upon further inspection, this lint has a *long* history of false
positives (and several remaining).
Generally I feel that this lint is the definition of pedantic and should
not be linted by default.
#[derive(Debug)]
enum How {
ThisWay,
ThatWay,
}
// Are we really better off forcing the call sites to write f(&_)...?
fn f(how: How) {
println!("You want to do it {:?}", how);
}
fn main() {
f(How::ThatWay);
}
2018-11-21 03:11:22 -08:00
bors[bot]
64ff255ac6
Merge #3432
...
3432: match_ref_pats: don't emit suggestions inside of a macro r=Manishearth a=flip1995
Fixes #2636
Co-authored-by: flip1995 <hello@philkrones.com>
2018-11-19 21:07:49 +00:00
Matthias Krüger
3a11cd4289
remove unused allow() attributes, NFC
2018-11-17 13:47:46 +01:00
flip1995
1000fc5120
Don't emit suggestion when inside of a macro
2018-11-15 17:03:17 +01:00
Matthias Krüger
2d0d41ff29
rustup https://github.com/rust-lang/rust/pull/55852/
2018-11-15 16:50:28 +01:00