Commit graph

4785 commits

Author SHA1 Message Date
Jane Lusby
19ac2e94c6 fix: correctly reconstruct raw strings 2018-10-26 09:12:01 -07:00
Jane Lusby
f9020bb2dd fix: extra semicolon, only create callsite once 2018-10-26 09:12:01 -07:00
Jane Lusby
c209fc9349 Fix string_lit_as_bytes lint for macros
Prior to this change, string_lit_as_bytes would trigger for constructs
like `include_str!("filename").as_bytes()` and would recommend fixing it
by rewriting as `binclude_str!("filename")`.

This change updates the lint to act as an EarlyLintPass lint. It then
differentiates between string literals and macros that have bytes
yielding alternatives.

Closes #3205
2018-10-26 09:12:01 -07:00
bors[bot]
457e7f12e9 Merge #3355
3355: Lint to remove redundant `clone()`s r=oli-obk a=sinkuu

This PR adds lint `redundant_clone`. It suggests to remove redundant `clone()` that clones a owned value that will be dropped without any usage after that.

Real-world example: https://github.com/rust-lang/rust/compare/7b0735a..sinkuu:redundant_clone2

Co-authored-by: Shotaro Yamada <sinkuu@sinkuu.xyz>
2018-10-26 10:36:43 +00:00
bors[bot]
5e1c736600 Merge #3359
3359: ci: allow all branches except trying.tmp and staging.tmp to be built r=phansch a=matthiaskrgr

r? @flip1995 

The problem was that with the current configuration, if I made a branch `feature1` and pushed it to travis to have it checked before making a PR, travis would skip it because it only built the 3 branches that were specified when setting up bors.

The change allows all branch names to be build by default again, except for travis.tmp.
The gh-pages branch is skipped as per travis-ci defaults: https://docs.travis-ci.com/user/customizing-the-build/#safelisting-or-blocklisting-branches

Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de>
2018-10-26 09:37:22 +00:00
bors[bot]
ead29847ff Merge #3357
3357: Check existential types in `use_self` r=oli-obk a=HMPerson1

Fixes #3231

Co-authored-by: HMPerson1 <hmperson1@gmail.com>
2018-10-26 08:48:12 +00:00
bors[bot]
9d69da7d0e Merge #3362
3362: travis: work around temporary test failure due to rustc crashing on hyper r=phansch a=matthiaskrgr

Upstream ticket: https://github.com/rust-lang/rust/issues/55376

Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de>
2018-10-26 08:01:48 +00:00
Matthias Krüger
326270ad12 travis: work around temporary test failure due to rustc crashing on hyper.
Upstream ticket: https://github.com/rust-lang/rust/issues/55376
2018-10-26 09:57:20 +02:00
Matthias Krüger
9e15791f0a ci: allow all branches except trying.tmp and staging.tmp to be built 2018-10-25 23:35:13 +02:00
Shotaro Yamada
9034b87a53 Move in_macro check 2018-10-26 03:07:29 +09:00
Shotaro Yamada
a828692780 Use BasicBlockData::terminator 2018-10-26 01:27:28 +09:00
Shotaro Yamada
6d6ff88585 Refactor 2018-10-26 01:16:14 +09:00
Shotaro Yamada
9a150b4aa1 Use lint_root 2018-10-26 01:16:14 +09:00
Shotaro Yamada
24d3f5b48f Implement visit_basic_block_data 2018-10-26 01:16:14 +09:00
Shotaro Yamada
105ae712f4 update_references indexing_slicing 2018-10-26 01:16:14 +09:00
Shotaro Yamada
5285372f68 Run update_lints 2018-10-26 01:16:14 +09:00
Shotaro Yamada
3ca0895920 Add redundant_clone lint 2018-10-26 01:15:55 +09:00
bors[bot]
4a7601bd55 Merge #3358
3358: Revert "new_ret_no_self: add sample from #3313 to Known Problems section." r=oli-obk a=matthiaskrgr

This reverts commit fd2f6dd382.

Issue #3313 has been fixed.

Co-authored-by: Matthias Krüger <matthias.krueger@famsik.de>
2018-10-25 11:43:09 +00:00
Matthias Krüger
b8a9099011 Revert "new_ret_no_self: add sample from #3313 to Known Problems section."
This reverts commit fd2f6dd382.

Issue #3313 has been fixed.
2018-10-25 13:39:02 +02:00
bors[bot]
a87e1b02ab Merge #3331
3331: Disable arithmetic lints in constant items r=oli-obk a=pengowen123

Currently this will not catch cases in associated constants. I'm not sure whether checking spans is the best way to solve this issue, but I don't think it will cause any problems.
Fixes #1858

Co-authored-by: Owen Sanchez <pengowen816@gmail.com>
2018-10-25 09:38:00 +00:00
bors[bot]
757750d389 Merge #3346
3346: Add lint for calling `mem::discriminant` on a non-enum type r=flip1995 a=HMPerson1

Also, if the type is a reference to an enum, we suggest removing `&`s and/or dereferencing.

Fixes #3342

Co-authored-by: HMPerson1 <hmperson1@gmail.com>
Co-authored-by: Philipp Krones <hello@philkrones.com>
2018-10-25 06:43:32 +00:00
HMPerson1
d53e6f87e9
Add tests for more than one level of reference 2018-10-24 23:39:55 -04:00
HMPerson1
1a6bfecf38
Add test case for mem::discriminant inside a macro 2018-10-24 23:39:55 -04:00
Philipp Krones
5dbca1f6b1
Add Applicability 2018-10-24 23:39:54 -04:00
HMPerson1
aabf8083bd
Add lint for calling mem::discriminant on a non-enum type 2018-10-24 23:39:54 -04:00
HMPerson1
3db14f182c
Check existential types in use_self 2018-10-24 23:32:33 -04:00
Owen Sanchez
0b9e9c9e3d Disable arithmetic lints in constant items 2018-10-24 20:27:26 -07:00
bors[bot]
4c6201dceb Merge #3312
3312: OUT_OF_BOUNDS_INDEXING false negative r=phansch a=JoshMcguigan

fixes #3102

Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2018-10-24 21:17:43 +00:00
bors[bot]
44fb29a356 Merge #3356
3356: Fix warnings introduced by #3349 r=flip1995 a=flip1995

I missed these warnings during review, should have checked the Travis log first.

Co-authored-by: flip1995 <hello@philkrones.com>
2018-10-24 15:25:12 +00:00
bors[bot]
bce190558f Merge #3338
3338: new_ret_no_self false positives r=flip1995 a=JoshMcguigan

~~WORK IN PROGRESS~~

I plan to fix all of the false positives in #3313 in this PR, but I wanted to open it now to start gathering feedback.

In this first commit, I've updated the lint to allow tuple return types as long as `Self` shows up at least once, in any position of the tuple. I believe this is the broadest possible interpretation of what should be allowed for tuple return types, but I would certainly be okay making the lint more strict. 

fixes #3313 

Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2018-10-24 14:42:40 +00:00
flip1995
57a18b6520
Fix warnings introduced by #3349 2018-10-24 16:18:01 +02:00
Josh Mcguigan
30ffc17ef7 new_ret_no_self added test cases 2018-10-24 06:43:21 -07:00
bors[bot]
319b75c75b Merge #3349
3349: Fixes #3347: Lint for wildcard dependencies in Cargo.toml r=ordovicia a=ordovicia

Add a lint for wildcard dependencies in Cargo.toml.
How should I write a test for this lint?

Fixes #3347

Co-authored-by: Hidehito Yabuuchi <hdht.ybuc@gmail.com>
2018-10-24 12:21:19 +00:00
Hidehito Yabuuchi
99b78f0650 Replace remaining krate.span with DUMMY_SP 2018-10-24 21:15:27 +09:00
Hidehito Yabuuchi
0d577c36a9 Use DUMMY_SP in multiple_crate_versions 2018-10-24 20:22:38 +09:00
Hidehito Yabuuchi
663f2cff7e Some fixes for wildcard_dependencies 2018-10-24 20:19:13 +09:00
bors[bot]
03f8899fa5 Merge #3350
3350: Don't emit `new_without_default_derive` if an impl of Default exists regardless of generics r=oli-obk a=pengowen123

Fixes #2226

Co-authored-by: Owen Sanchez <pengowen816@gmail.com>
2018-10-24 07:59:06 +00:00
Hidehito Yabuuchi
d334fab4d0 Run util/update_lints.py 2018-10-24 15:00:28 +09:00
Hidehito Yabuuchi
fa6c9f838c Minor changes on clippy_lints/src/wildcard_dependencies.rs 2018-10-24 15:00:28 +09:00
Hidehito Yabuuchi
0263ddde92 Lint for wildcard dependencies in Cargo.toml 2018-10-24 15:00:28 +09:00
bors[bot]
122da1de3b Merge #3339
3339: Check for known array length in `needless_range_loop` r=phansch a=HMPerson1

In `VarVisitor`, we now keep track of the type of the thing that was directly indexed and, if it's an array, check if the range's end is (or is past) the array's length.

Fixes  #3033

Co-authored-by: HMPerson1 <hmperson1@gmail.com>
2018-10-24 05:45:02 +00:00
bors[bot]
3ff2c1f053 Merge #3348
3348: Setup bors for Clippy r=phansch a=flip1995

Since [bors-ng](https://app.bors.tech/repositories/3993) is already installed for this repo for a while (https://github.com/rust-lang-nursery/rust-clippy/pull/3279#issuecomment-427645938), the only thing missing, before we can use it, is the `bors.toml`. (bors-ng [docs](https://bors.tech/documentation/getting-started/))

If we want to move forward with this and this gets merged, the only thing left to do is to create the branches `staging` and `trying`.

@phansch @oli-obk 

Co-authored-by: flip1995 <hello@philkrones.com>
Co-authored-by: Philipp Krones <hello@philkrones.com>
2018-10-24 05:16:43 +00:00
Philipp Hansch
304b5f1e45
Merge pull request #3352 from gnieto/fix/doc-inspector
Fix inspector pass documentation
2018-10-24 07:02:20 +02:00
Owen Sanchez
50b9e7aebc Don't emit new_without_default_derive if an impl of Default exists 2018-10-23 20:44:31 -07:00
Guillem Nieto
fd3651a551 Fix inspector pass documentation
When using `#[clippy_dump]`, the compiler complains about an unknown
attribute. The correct one seems to be `#[clippy::dump]`.
2018-10-23 23:03:23 +02:00
Philipp Krones
9086730dc4
Add branch configuration to appveyor.yml 2018-10-22 17:30:01 +02:00
flip1995
8fc84b1f55
Setup bors 2018-10-22 13:09:48 +02:00
Josh Mcguigan
a624583557 new_ret_no_self added test cases 2018-10-20 06:29:17 -07:00
Josh Mcguigan
079f9f45b5 new_ret_no_self walk return type to check for self 2018-10-19 17:54:25 -07:00
HMPerson1
553d01d9c7
Update ui/for_loop test output 2018-10-19 17:17:13 -04:00