The update script now also generates the 'register_removed' section in
`clippy_lints/src/lib.rs`.
Also, instead of using `let mut store ...`, I added a new identifier
line so that the replacement will continue to work in case `let mut
store ...` ever changes.
bors[bot] [Wed, 31 Oct 2018 10:21:51 +0000 (10:21 +0000)]
Merge #3368
3368: added downsides to "known problems" for get_unwrap lint r=flip1995 a=humean
As a beginner I found this lint to be confusing because I was not sure how the `Option` type disappeared as conceptually I know that my `.get()` and Index could fail. Initially I thought maybe the compiler or clippy was smart enough to understand that it was impossible for my `.get()` to fail in this particular case, but it was explained to me that using the Index syntax is just shorthand for directly unwrapping the value:
For beginners or users trying to iterate quickly it seems common to litter your code with `unwrap` or `except` as placeholders for where some explicit error handling might need to take place. I think it should be warned that using Index is merely more concise, but doesn't at all reduce the risk of panics and might in fact cause you to miss handling them in a future refactor.
Co-authored-by: Michael Rutter <michael.john.rutter@gmail.com> Co-authored-by: Michael Rutter <humean@users.noreply.github.com>
Philipp Hansch [Wed, 31 Oct 2018 07:03:50 +0000 (08:03 +0100)]
RIIR update lints: Generate deprecated lints
The update script now also generates the 'register_removed' section in
`clippy_lints/src/lib.rs`.
Also, instead of using `let mut store ...`, I added a new identifier
line so that the replacement will continue to work in case `let mut
store ...` ever changes.
bors[bot] [Sun, 28 Oct 2018 17:13:34 +0000 (17:13 +0000)]
Merge #3217 #3366
3217: Fix string_lit_as_bytes lint for macros r=phansch a=yaahallo
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
3366: Don't expand macros in some suggestions r=oli-obk a=phansch
Jane Lusby [Fri, 5 Oct 2018 16:06:05 +0000 (09:06 -0700)]
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.
bors[bot] [Fri, 26 Oct 2018 10:36:43 +0000 (10:36 +0000)]
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.
bors[bot] [Fri, 26 Oct 2018 09:37:22 +0000 (09:37 +0000)]
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
bors[bot] [Thu, 25 Oct 2018 09:38:00 +0000 (09:38 +0000)]
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
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.
bors[bot] [Wed, 24 Oct 2018 05:45:02 +0000 (05:45 +0000)]
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.
bors[bot] [Wed, 24 Oct 2018 05:16:43 +0000 (05:16 +0000)]
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>