BO41
b17cb32bcb
Add "could be written as" example to MANUAL_MEMCPY
2019-08-17 13:09:03 +00:00
xd009642
c1e57402d3
Made lint pedantic
2019-08-17 11:45:05 +01:00
bors
49dff2c9f3
Auto merge of #4397 - kraai:remove-a, r=flip1995
...
Remove "a" from single_match_else description
changelog: none
2019-08-16 20:04:39 +00:00
flip1995
2456b355f2
Run rustfmt
2019-08-16 19:05:44 +02:00
KRAAI, MATTHEW [VISUS]
f74d9db7f4
Use outer_expn_data instead of outer_expn_info
2019-08-16 09:31:12 -07:00
KRAAI, MATTHEW [VISUS]
a68abc03a2
Remove "a" from single_match_else description
2019-08-16 05:41:35 -07:00
Lzu Tao
65b906a8fc
Rustup "Remove Spanned
from {ast,hir}::FieldPat
"
2019-08-16 09:32:27 +07:00
Jeremy Stucki
f4f31a4ff4
Implement lint 'suspicious_map'
2019-08-15 22:58:32 +02:00
flip1995
ebd3eeaede
Also specify patch version of toml crate
2019-08-15 15:58:36 +02:00
bors
607b8299c5
Auto merge of #4382 - jeremystucki:unnecessary_fold_span, r=flip1995
...
Change span of unnecessary_fold lint
Resolves #4381
changelog: Change linted span of `unnecessary_fold`
2019-08-15 12:57:51 +00:00
bors
a3da66d6d3
Auto merge of #4348 - phansch:deprecate-unused-unused-collect, r=flip1995
...
Deprecate unused_collect lint
I found this because we only had two test cases in total for this lint.
It turns out the functionality is fully covered by rustc these days.
[Playground Examples](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eb8ee6db389c77180c9fb152d3c608f4 )
changelog: Deprecate `unused_collect` lint. This is fully covered by rustc's `#[must_use]` on `collect`
cc #2846
2019-08-15 10:47:20 +00:00
flip1995
9533fa5b19
Rustup to rust-lang/rust#63543
2019-08-15 10:14:06 +02:00
Philipp Hansch
42f03539ca
Deprecate unused_collect lint
...
I found this because we only had two test cases in total for this lint.
It turns out the functionality is fully covered by rustc these days.
[Playground Examples](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eb8ee6db389c77180c9fb152d3c608f4 )
changelog: Deprecate `unused_collect` lint. This is fully covered by
rustc's `#[must_use]` on `collect`
cc #2846
2019-08-14 21:47:11 +02:00
Jeremy Stucki
fdf82eb1a8
Remove unused import
2019-08-14 20:24:05 +02:00
Jeremy Stucki
08f658bc72
Use different span
2019-08-14 19:35:06 +02:00
bors
dbe2bb4256
Auto merge of #4379 - matthiaskrgr:url_dep, r=phansch
...
update url dependency from 1.7.0 to 2.1.0
changelog: none
2019-08-14 13:07:19 +00:00
bors
06430e7af4
Auto merge of #4363 - phansch:fix_lint_deprecation, r=flip1995
...
Update lint deprecation for tool lints
changelog: Allow tool lints (`clippy::*`) to be deprecated
Our lint deprecation previously didn't work for tool lints, because
`register_removed` was registering lints to be removed _without_ the
`clippy` prefix.
Fixes #4349
2019-08-14 11:37:10 +00:00
Matthias Krüger
37d79d9a29
update url dependency from 1.7.0 to 2.1.0
2019-08-14 13:04:17 +02:00
bors
63d2d066f9
Auto merge of #4369 - mikerite:fix-4293, r=flip1995
...
Fix `wrong_self_convention` issue
Resolves #4293
changelog: Fix `wrong_self_convention` issue
2019-08-14 10:59:36 +00:00
Jeremy Stucki
2bfcf89f82
Merge branch 'origin/master' into flat-map
2019-08-14 07:36:37 +02:00
Jeremy Stucki
d578c43c51
Use correct span
2019-08-13 21:50:42 +02:00
Jeremy Stucki
4275d7b6ac
Run 'update_lints'
2019-08-12 21:47:12 +02:00
Jeremy Stucki
d51136d594
Use 'span_lint_and_sugg'
2019-08-12 21:42:57 +02:00
Jeremy Stucki
3a65e4e75a
Minor refactoring
2019-08-12 21:29:33 +02:00
Philipp Hansch
b50c13c578
Fix invalid_ref deprecation
2019-08-12 19:42:23 +02:00
Philipp Hansch
0b7e2376c8
Keep old deprecated lints deprecated as non-tool, too
2019-08-12 19:42:23 +02:00
Philipp Hansch
5114050839
Update lint deprecation for tool lints
...
Our lint deprecation previously didn't work for tool lints, because
`register_removed` was registering lints to be removed _without_ the
`clippy` prefix.
2019-08-12 19:20:36 +02:00
Jeremy Stucki
09e9568c26
Change lint type from 'pedantic' → 'complexity'
2019-08-12 10:53:23 +02:00
bors
e255f36afe
Auto merge of #4365 - lukas-code:async_new_ret_no_self, r=flip1995
...
new_ret_no_self: allow Self in inner type for impl Trait return types
Check the inner types of associated types of a trait when checking for Self in the return type of a `new` method. This means that the following will no longer warn:
```rust
trait Trait {
type Inner;
}
struct S;
impl S {
fn new() -> impl Trait<Inner = Option<Self>> {
struct TraitImpl;
impl Trait for TraitImpl {
type Inner = Option<S>;
}
TraitImpl
}
}
```
```rust
#![feature(async_await)]
struct Connection;
impl Connection {
async fn new() -> Result<Self, ()> {
Ok(S)
}
}
```
closes #4359
changelog: fix `new_ret_no_self` lint for async `new` functions.
2019-08-12 05:15:16 +00:00
Jeremy Stucki
df9063013e
Update rustdoc
2019-08-11 22:18:58 +02:00
Jeremy Stucki
5fd7d44f36
Refactor if_chain
...
Co-authored-by: Philipp Krones <hello@philkrones.com>
2019-08-11 21:02:01 +02:00
Jeremy Stucki
b651f19eb8
Rename 'flat_map' → 'flat_map_identity'
2019-08-11 20:34:25 +02:00
Jeremy Stucki
f0ce04f814
Handle calls with 'std::convert::identity'
2019-08-11 19:51:43 +02:00
Jeremy Stucki
05d9f884e1
Merge branch 'origin/master' into flat-map
2019-08-11 19:22:40 +02:00
Vallentin
b7460ad70b
Fixed repeated word
2019-08-11 12:56:30 +02:00
Ralf Jung
2dcce60fdc
deprecate invalid_ref lint
2019-08-11 09:31:55 +02:00
Michael Wright
77278ccda9
Fix wrong_self_convention
issue
...
Resolves #4293
2019-08-10 06:01:15 +02:00
Michael Wright
170d4861c6
Simplify wrong_self_convention
code
...
Use actual types instead of hir types.
2019-08-10 06:00:27 +02:00
Michael Wright
ebd24985bf
Rename implitem to impl_item
...
`impl_item` is proper snake case and used everywhere else.
2019-08-10 05:58:52 +02:00
Lukas Markeffsky
d7b9a845aa
new_ret_no_self: walk associated types in impl Trait return types
2019-08-09 17:44:05 +02:00
bors
c55d38ed7a
Auto merge of #4362 - lzutao:expect-on-cstring_as_ptr, r=flip1995
...
Fix lint_cstring_as_ptr for expect
Closes #4312
changelog: none
2019-08-09 09:22:02 +00:00
Lzu Tao
c23a5c586f
Fix lint_cstring_as_ptr for expect
2019-08-09 12:39:33 +07:00
Lzu Tao
30cbdc7491
Fix lint_single_char_pattern on raw string literal
2019-08-09 10:55:30 +07:00
bors
d23e6b396a
Auto merge of #4358 - lzutao:cleanup_implicit_return, r=flip1995
...
Use source_callsite() instead of recursive outer_expn_info()
changelog: none
2019-08-08 16:36:44 +00:00
bors
4465e2fbb8
Auto merge of #4355 - lzutao:macro_expn_try_err, r=flip1995
...
Fix macro expansion in try_err lint
Fixes #4309
changelog: none
2019-08-08 15:16:17 +00:00
Lzu Tao
59a35874c1
Use source_callsite() instead of recursive outer_expn_info()
2019-08-08 21:28:40 +07:00
Lzu Tao
90a7b60413
Use snippet_with_macro_callsite suggested by flip1995
2019-08-08 21:21:59 +07:00
Lzu Tao
0487b58f9a
Fix macro expansion in try_err lint
2019-08-08 20:22:52 +07:00
bors
286d528a45
Auto merge of #4345 - phansch:enum_variants_fix, r=flip1995
...
Don't emit enum_variant_names if remainder starts with a numeric
changelog: Fix false positive in `pub_enum_variant_names` and `enum_variant_names`
As [per the reference](https://doc.rust-lang.org/reference/identifiers.html ), identifiers must start with a letter. So we don't suggest a better
variant naming in case the remainder would start with a numeric.
Fixes #739
2019-08-07 10:22:06 +00:00
Philipp Hansch
0a988c6630
Don't emit enum_variant_names if remainder starts with a numeric
...
As [per the reference](https://doc.rust-lang.org/reference/identifiers.html ),
identifiers must start with a letter. So we don't suggest a better
variant naming in these cases.
Fixes #739
2019-08-06 20:45:36 +02:00
Lzu Tao
e4f8cd9672
Rustup https://github.com/rust-lang/rust/pull/59369
2019-08-06 19:20:41 +07:00
Philipp Hansch
cdfb72a5e1
fmt
2019-08-05 20:53:24 +02:00
Philipp Hansch
4cfb0966a1
Fix needless_bool suggestion with if-else-if-else
...
Closes #4334
2019-08-05 20:52:38 +02:00
Vincent Dal Maso
77b21b644f
Move expression check to LateLintPass
...
Changes:
- Move from EarlyLintPass
- Fix entrypoint check with function path def_id.
2019-08-05 13:23:30 +02:00
Vincent Dal Maso
4eab691db6
Add recursion check on main function
...
Changes:
- Add MainRecursion lint to clippy
- Check for no-std setup
fixes #333
2019-08-05 13:23:30 +02:00
bors
ca6a9beb31
Auto merge of #4338 - flip1995:rollup-9cm4jbr, r=flip1995
...
Rollup of 4 pull requests
Successful merges:
- #4329 (Doctests: Enable running doc tests for pedantic lints)
- #4330 (Doctests: Enable running doc tests for nursery lints)
- #4331 (Doctests: Enable running doc tests for restriction lints)
- #4332 (Split up cast.rs tests, run-rustfix for unnecessary_cast)
Failed merges:
r? @ghost
changelog: none
2019-08-05 09:44:45 +00:00
Philipp Krones
93c3da223f
Rollup merge of #4331 - phansch:doctests_restriction, r=flip1995
...
Doctests: Enable running doc tests for restriction lints
changelog: Enabled remaining doc tests for lint documentation page
master: 202 passed; 0 failed; 122 ignored; 0 measured; 0 filtered out
this PR: 231 passed; 0 failed; 123 ignored; 0 measured; 0 filtered out
Closes #4319 (assuming this is merged after #4329 and #4330 )
2019-08-05 10:50:06 +02:00
Philipp Krones
f5db24a59f
Rollup merge of #4330 - phansch:doctests_nursery, r=flip1995
...
Doctests: Enable running doc tests for nursery lints
changelog: none
master: 202 passed; 0 failed; 122 ignored; 0 measured; 0 filtered out
this PR: 213 passed; 0 failed; 122 ignored; 0 measured; 0 filtered out
cc #4319
2019-08-05 10:50:04 +02:00
Philipp Krones
713ad964af
Rollup merge of #4329 - phansch:doctests_pedantic, r=flip1995
...
Doctests: Enable running doc tests for pedantic lints
changelog: none
master: 202 passed; 0 failed; 122 ignored; 0 measured; 0 filtered out
this PR: 254 passed; 0 failed; 131 ignored; 0 measured; 0 filtered out
cc #4319
2019-08-05 10:50:03 +02:00
bors
a90b3ba301
Auto merge of #4337 - flip1995:let_unit, r=phansch
...
Make let_unit lint suggestion auto applicable
changelog: Make `let_unit` lint suggestion auto applicable
2019-08-05 08:41:24 +00:00
flip1995
c5ad0b075a
Make let_unit lint suggestion auto applicable
2019-08-05 09:31:08 +02:00
Philipp Hansch
71a943820b
Rustup to https://github.com/rust-lang/rust/pull/63213
2019-08-05 07:30:01 +02:00
Philipp Hansch
b608e02e1c
Doctests: Enable running doc tests for restriction lints
2019-08-03 21:24:50 +02:00
Philipp Hansch
2f48effc92
Doctests: Enable running doc tests for nursery lints
2019-08-03 21:01:23 +02:00
Philipp Hansch
1dc9a5012e
Doctests: Enable running doc tests for pedantic lints
2019-08-03 20:36:38 +02:00
bors
5c1e30ab05
Auto merge of #4327 - phansch:doctests_perf, r=flip1995
...
Doctests: Enable running doc tests for perf lints
changelog: none
This should be possible to merge independently of #4325
cc #4319
2019-08-03 14:06:13 +00:00
bors
3dc91838e4
Auto merge of #4325 - phansch:doctests_complexity, r=flip1995
...
Doctests: Enable running doc tests for complexity lints
changelog: none
master: `113 passed; 0 failed; 91 ignored; 0 measured; 0 filtered out`
this PR: `181 passed; 0 failed; 110 ignored; 0 measured; 0 filtered out`
cc #4319
2019-08-03 13:24:07 +00:00
Philipp Hansch
d61df4f609
Rustup to latest rustc master
...
Broken due to:
* https://github.com/rust-lang/rust/pull/63180 (`Existential` -> `OpaqueTy`)
* https://github.com/rust-lang/rust/pull/63121 (New fields for `FormatSpec`)
2019-08-03 08:44:32 +02:00
Philipp Hansch
eb68dc9a1a
Also enable doc tests for internal lints
...
Because there were fixed in the parent commit.
2019-08-03 08:12:53 +02:00
Philipp Hansch
c0cdfd296e
Doctests: Enable running doc tests for perf lints
...
This should be possible to merge independently of #4325
cc #4319
2019-08-03 08:08:00 +02:00
Philipp Hansch
abfa8a952c
Doctests: Fix all complexity lint docs
...
cc #4319
2019-08-02 18:16:35 +02:00
bors
d43ef7aa3f
Auto merge of #4322 - Y0hy0h:patch-1, r=phansch
...
Improve documentation on implicit_hasher lint
Provide an example of how to fix the implicit_hasher lint.
Fixes #3475 .
changelog: none
2019-08-01 18:58:11 +00:00
Y0hy0h
5decadd93e
Fix missing import
2019-08-01 17:54:22 +02:00
bors
18a7dce4da
Auto merge of #4314 - chansuke:add-negation-to-is_empty, r=flip1995
...
Add negation to `len_zero` lint to show more explicit message.
Fixes #4304 I have updated the `len_zero` to show the required negation in case of like the below case.
```
fn main() {
let v = vec![1];
if v.len() > 0 {
}
}
```
changelog: Clarify suggestion of `len_zero` lint.
2019-08-01 14:09:59 +00:00
flip1995
feca48d8a2
Fix doc tests
2019-08-01 15:14:06 +02:00
flip1995
7a73b8fdfa
Remove Known problems for UNNECESSARY_UNWRAP
...
This shouldn't happen with NLL
2019-08-01 15:14:06 +02:00
flip1995
e6a836e2e8
Move UNNECESSARY_UNWRAP to complexity and PANICKING_UNWRAP to correctness
2019-08-01 15:14:06 +02:00
bors
c8e5352d9b
Auto merge of #4318 - izik1:typo, r=phansch
...
Fix `for on` typo
<!--
Thank you for making Clippy better!
We're collecting our changelog from pull request descriptions.
If your PR only updates to the latest nightly, you can leave the
`changelog` entry as `none`. Otherwise, please write a short comment
explaining your change.
If your PR fixes an issue, you can add "fixes #issue_number" into this
PR description. This way the issue will be automatically closed when
your PR is merged.
If you added a new lint, here's a checklist for things that will be
checked during review or continuous integration.
- [ ] Followed [lint naming conventions][lint_naming]
- [ ] Added passing UI tests (including committed `.stderr` file)
- [ ] `cargo test` passes locally
- [ ] Executed `util/dev update_lints`
- [ ] Added lint documentation
- [ ] Run `cargo fmt`
Note that you can skip the above if you are just opening a WIP PR in
order to get feedback.
Delete this line and everything above before opening your PR -->
closes #4317
changelog: minor typo fix
2019-08-01 09:20:32 +00:00
Y0hy0h
d7224a6341
Improve documentation on implicit_hasher lint
...
Provide an example of how to fix the lint.
2019-08-01 10:51:39 +02:00
bors
5d061d7058
Auto merge of #4315 - phansch:fn_to_numeric_cast_applicability, r=flip1995
...
Mark `fn_to_numeric_cast` lints as MaybeIncorrect
At least for now so that `cargo fix --clippy` is not causing problems
with this lint. See #3896 for the remaining problems with the suggestions of this lint.
changelog: none
cc #3630 , #3896
2019-08-01 07:59:51 +00:00
Zachery Gyurkovitz
b8a50cae4c
Fix for on
typo
2019-07-31 22:24:57 -07:00
Michael Wright
be646ac0df
Update formatting
2019-08-01 07:09:57 +02:00
Philipp Hansch
04ca58a691
Mark fn_to_numeric_cast
lints as MaybeIncorrect
...
At least for now so that `cargo fix --clippy` is not causing problems
with this lint.
cc #3630 , #3896
2019-07-31 21:05:31 +02:00
chansuke
2d467dca62
Add required negation in non_zero lint
2019-08-01 00:23:09 +09:00
Jakub Wieczorek
2a13e83f2b
Update all the code to pass the updated use_self
lint.
...
One struct required a temporary `#[allow(dead_code)]` annotation due to
a bug in the Rust compiler: https://github.com/rust-lang/rust/issues/63151 .
2019-07-31 08:50:43 +00:00
Jakub Wieczorek
41110b0039
Extend the use_self
lint to suggest uses of Self::Variant
.
2019-07-31 08:50:43 +00:00
bors
c3e913650e
Auto merge of #3766 - xd009642:issue-3764, r=flip1995
...
trait bounds lint - repeated types
This PR is to tackle https://github.com/rust-lang/rust-clippy/issues/3764 it's still a WIP and doesn't work but this is an initial stab. It builds though I haven't added any tests as I'm not sure where lint tests should go?
Unfortunately, it seems id isn't tied to the type itself but I guess where it is in the AST? Looking at https://manishearth.github.io/rust-internals-docs/syntax/ast/struct.Ty.html I can't see any members that would let me tell if a type was repeated in multiple trait bounds.
There may be other issues with how I've implemented this so any assistance is appreciated!
changelog: Add new lint: `type_repetition_in_bounds`
2019-07-30 12:11:17 +00:00
Michael Wright
2f5c1d031d
Fix breakage due to rust-lang/rust#61856
2019-07-30 06:39:51 +02:00
xd009642
78ebcaa526
Fix dogfood test
2019-07-28 09:31:05 +01:00
xd009642
03c543515a
Hash discriminant of lifetime.name
2019-07-27 23:04:36 +01:00
xd009642
ad637193f0
Hash discriminant of Lifetime::Name
2019-07-27 22:59:46 +01:00
xd009642
925e8207fa
Respond to review comments
...
Update README and CHANGELOG using the util scripts, refine the help message and fix the float_cmp error.
2019-07-27 21:58:29 +01:00
xd009642
5e9906b2c6
Added doc comment fixed type printout
...
Added a doc comment for the lint and fixed the printout of the type so it prints T not type(T)
2019-07-27 12:06:25 +01:00
xd009642
cac69ec063
Respond to comments and improve printout
...
Now get the trait names for the diagnostic message and removed more
`let c: fn(_) -> _ = T; hashes from hir_utils
2019-07-27 11:51:27 +01:00
Matthias Krüger
f195550148
rustup https://github.com/rust-lang/rust/pull/62964
2019-07-26 22:58:31 +02:00
xd009642
7853dac662
Responded to comments and fixed compile bug
...
Removed the hash of `let c: fn(_,_) -> _ = ExprKind::Cast` and
fixed compile issue by collecting HirVec into an actual Vec
2019-07-26 16:46:47 +01:00
xd009642
c0259179c3
Fixed more compile errors
...
Moved to rustc::hir::Ty
2019-07-24 22:59:32 +01:00
xd009642
792153104c
Fix some of the compile errors
2019-07-24 22:27:12 +01:00
xd009642
f3e4467c10
Changed Ty to ty, added lifetime 'tcx
2019-07-24 21:14:21 +01:00
xd009642
f71d59e6a6
Lint for type repetition in trait bounds.
...
This lint adds warning if types are redundantly repeated in trait bounds i.e. `T: Copy, T: Clone` instead of `T: Copy + Clone`. This is a late pass trait lint and has necessitated the addition of code to allow hashing of TyKinds without taking into account Span information.
2019-07-24 21:14:21 +01:00
Matthias Krüger
2221fc8124
rustup https://github.com/rust-lang/rust/pull/62859
2019-07-24 02:20:36 +02:00
bors
d71e9c4f10
Auto merge of #4266 - uHOOCCOOHu:fix/async_fn_lifetime, r=flip1995
...
Ignore generated fresh lifetimes in elision check
<!--
Thank you for making Clippy better!
We're collecting our changelog from pull request descriptions.
If your PR only updates to the latest nightly, you can leave the
`changelog` entry as `none`. Otherwise, please write a short comment
explaining your change.
If your PR fixes an issue, you can add "fixes #issue_number" into this
PR description. This way the issue will be automatically closed when
your PR is merged.
If you added a new lint, here's a checklist for things that will be
checked during review or continuous integration.
- [ ] Followed [lint naming conventions][lint_naming]
- [ ] Added passing UI tests (including committed `.stderr` file)
- [ ] `cargo test` passes locally
- [ ] Executed `util/dev update_lints`
- [ ] Added lint documentation
- [ ] Run `cargo fmt`
Note that you can skip the above if you are just opening a WIP PR in
order to get feedback.
Delete this line and everything above before opening your PR -->
fixes #3988
changelog: Ignore generated fresh lifetimes in elision check.
**HELP**: It seems `tests/ui` are compiled under edition 2015, and I don't know how to add tests for this properly.
Here is the test input it had already passed:
```rust
#![feature(async_await)]
#![allow(dead_code)]
async fn sink1<'a>(_: &'a str) {} // lint
async fn sink1_elided(_: &str) {} // ok
async fn one_to_one<'a>(s: &'a str) -> &'a str { s } // lint
async fn one_to_one_elided(s: &str) -> &str { s } // ok
async fn all_to_one<'a>(a: &'a str, _b: &'a str) -> &'a str { a } // ok
// async fn unrelated(_: &str, _: &str) {} // Not allowed in async fn
// #3988
struct Foo;
impl Foo {
pub async fn foo(&mut self) {} // ok
}
// rust-lang/rust#61115
async fn print(s: &str) { // ok
println!("{}", s);
}
fn main() {}
```
2019-07-23 09:52:18 +00:00
Michael Wright
f05e295685
Fix breakage due to rust-lang/rust#60913
2019-07-21 12:52:14 +02:00
Michael Wright
67db88f645
Fix breakage due to rust-lang/rust#62705
...
Also rename `OUTER_EXPN_INFO` to `OUTER_EXPN_EXPN_INFO` to match new
function names.
2019-07-21 09:36:31 +02:00
Philipp Hansch
8dc6a462f8
Update pulldown-cmark to 0.5.3
2019-07-19 07:29:25 +02:00
bors
d509b5afef
Auto merge of #4274 - daxpedda:implicit_return_fixes, r=flip1995
...
false positives fixes of `implicit_return`
- Handle returning macro statements properly (remove "this error originates in a macro outside of the current crate")
- Handle functions that return never type
- Handle functions that panic but do not return never type
changelog: Fix false positives in `implicit_return` lint pertaining to macros and panics
2019-07-18 18:20:40 +00:00
flip1995
fc57b43f79
Format code
2019-07-18 17:23:22 +02:00
daxpedda
9e5e0f8f84
Improved imports
2019-07-17 20:44:09 +02:00
Darth-Revan
f0dc97965a
Corrections for PR review.
2019-07-17 08:58:36 +02:00
Darth-Revan
0513202d25
Implement lint for inherent to_string() method.
2019-07-17 08:58:32 +02:00
daxpedda
a2b63af746
Removed lintining on never type.
...
Abstracted repeating strings into statics.
2019-07-16 14:46:33 +02:00
Jerry Hardee
8a8eedf388
Lint
2019-07-15 14:00:07 -05:00
Jerry Hardee
8adbf7f2c1
Fix float_cmp false positive when comparing signum
...
f1.signum() == f2.signum()
f1.signum() != f2.signum()
should not trigger a warning.
2019-07-15 12:46:58 -05:00
daxpedda
6c067bf50e
false positives fixes of implicit_return
...
- Handle returning macro statements properly
- Handle functions that return never type
- Handle functions that panic but do not return never type
2019-07-15 16:02:50 +02:00
Michael Wright
b523d35d41
Deny warnings in CI
2019-07-15 07:35:02 +02:00
bors
10b915fa7e
Auto merge of #4268 - mikerite:fix-4260, r=flip1995
...
Fix bug in `implicit_hasher` causing crashes
Skip linting if the type is from an external macro. Closes #4260 .
changelog: Fix bug in `implicit_hasher` causing crashes
2019-07-13 08:59:12 +00:00
Lzu Tao
27c5348793
Rustup macro expansion and resolution
2019-07-12 00:26:36 +07:00
Michael Wright
de7749832c
Fix bug in implicit_hasher
causing crashes
...
Skip linting if the type is from an external macro. Closes #4260 .
2019-07-11 08:47:05 +02:00
uHOOCCOOHu
a9bec0c8a6
Ignore generated fresh lifetimes in elision check.
2019-07-10 01:57:25 +08:00
bors
032ae96856
Auto merge of #4257 - skade:improve-cast-alignment, r=flip1995
...
Improve cast_ptr_alignment lint
<!--
Thank you for making Clippy better!
We're collecting our changelog from pull request descriptions.
If your PR only updates to the latest nightly, you can leave the
`changelog` entry as `none`. Otherwise, please write a short comment
explaining your change.
If your PR fixes an issue, you can add "fixes #issue_number" into this
PR description. This way the issue will be automatically closed when
your PR is merged.
If you added a new lint, here's a checklist for things that will be
checked during review or continuous integration.
- [x] Followed [lint naming conventions][lint_naming]
- [x] Added passing UI tests (including committed `.stderr` file)
- [x] `cargo test` passes locally
- [x] Executed `util/dev update_lints`
- [x] Added lint documentation
- [x] Run `cargo fmt`
Note that you can skip the above if you are just opening a WIP PR in
order to get feedback.
Delete this line and everything above before opening your PR -->
* print alignment in bytes in the lint message
* ignore ZST left-hand types
Fixes #3797 and #4256
changelog:
* `cast_ptr_alignment`: Print alignment in bytes in the lint message
* `cast_ptr_alignment`: Ignore casting from ZST left-hand types
2019-07-09 15:28:26 +00:00
Florian Gilcher
aa72cac87a
Improve cast_ptr_alignment lint
...
* print alignment in bytes in the lint message
* ignore ZST left-hand types
2019-07-09 17:02:26 +02:00
Vinzent Steinberg
f831b0979e
cast_ptr_alignment: Mention legal use under known problems
...
Refs #2881 .
2019-07-09 14:48:48 +02:00
bors
5c921a9f61
Auto merge of #4233 - thiagoarrais:jens1o-fix-1208, r=phansch,flip1995
...
Avoid reporting string_lit_as_bytes for long strings
Port of @jens1o code ([b76f939][jens1o_commit])
Fixes #1208
[jens1o_commit]: b76f939ac2
<!--
Thank you for making Clippy better!
We're collecting our changelog from pull request descriptions.
If your PR only updates to the latest nightly, you can leave the
`changelog` entry as `none`. Otherwise, please write a short comment
explaining your change.
If your PR fixes an issue, you can add "fixes #issue_number" into this
PR description. This way the issue will be automatically closed when
your PR is merged.
If you added a new lint, here's a checklist for things that will be
checked during review or continuous integration.
- [ ] Followed [lint naming conventions][lint_naming]
- [ ] Added passing UI tests (including committed `.stderr` file)
- [ ] `cargo test` passes locally
- [ ] Executed `util/dev update_lints`
- [ ] Added lint documentation
- [ ] Run `cargo fmt`
Note that you can skip the above if you are just opening a WIP PR in
order to get feedback.
Delete this line and everything above before opening your PR -->
changelog: bugfix for long strings as bytes
2019-07-09 09:48:33 +00:00
Thiago Arrais
7d1a9447ea
Extract semantic constant
2019-07-08 17:51:13 -03:00
Bara
2fb73fe037
Use empty block instead of unit type for needless return
2019-07-08 20:45:51 +02:00
Jens Hausdorf
6d1aaac6c3
Avoid reporting string_lit_as_bytes for long strings
...
Port of @jens1o code ([b76f939][jens1o_commit])
Fixes #1208
[jens1o_commit]: b76f939ac2
Co-authored-by: Thiago Arrais <thiago.arrais@gmail.com>
2019-07-08 13:13:01 -03:00
Jeremy Stucki
c7da4c26fb
Implement flat_map lint
2019-07-08 17:11:54 +02:00
Michael Wright
c72be0f65a
rustfmt
2019-07-06 19:43:34 +02:00
Michael Wright
adcc02ed8a
Address reviews
2019-07-06 19:35:08 +02:00
Michael Wright
0579c3e0aa
Fix breakage due to rust-lang/rust#61988
2019-07-06 19:06:49 +02:00
Michael Wright
ce308910fd
Fix unknown lint warnings
2019-07-06 09:15:48 +02:00
Lzu Tao
481499101b
Remove lint for ONCE_INIT
...
ONCE_INIT will be deprecated in rust 1.38.0
2019-07-06 12:34:32 +07:00
Lzu Tao
7293defb34
Rename hir::map::local_def_id_from_hir_id to local_def_id
2019-07-06 10:52:51 +07:00
Michael Wright
c702a623a9
Remove unused import
2019-07-04 06:49:31 +02:00
Matthias Krüger
f18f81d6a6
rustup https://github.com/rust-lang/rust/pull/61995
2019-07-03 18:00:35 +02:00
Michael Wright
8fa023272f
Fix allow bug in trivially_copy_pass_by_ref
...
Closes #3992
2019-07-03 07:15:21 +02:00
Michael Wright
c199d9068e
Fix match_same_arms
false negative
...
Closes #4244
2019-07-02 08:18:55 +02:00
bors
47ada9ae07
Auto merge of #4243 - mikerite:fix-4058, r=flip1995
...
Fix `never_loop` false positive
Closes #4058
changelog: none
2019-07-01 08:10:25 +00:00
bors
ad638a3e42
Auto merge of #4222 - jfrikker:try_err, r=flip1995
...
Adding try_err lint
changelog: Adds the "try_err" lint, which catches instances of the following: Err(x)?
fixes #4212
2019-07-01 07:41:33 +00:00
Michael Wright
7c98915da9
Fix never_loop
false positive
...
Closes #4058
2019-07-01 07:22:04 +02:00
Manish Goregaokar
e3619a6507
fmt
2019-06-25 14:41:10 -07:00
Manish Goregaokar
4a6914bb8c
Remove a hir_to_node_id
2019-06-25 14:34:47 -07:00
Manish Goregaokar
d744dcdaaf
find_by_hir_id -> find
2019-06-25 14:34:07 -07:00
Manish Goregaokar
c47a7e4ef2
get_parent_node_by_hir_id -> get_parent_node
2019-06-25 14:33:51 -07:00
Joe Frikker
8880677b4f
Making try_err machine applicable
2019-06-24 21:28:46 -04:00
flip1995
662037bcf2
Simplify unsugar_if to just an if expr check
2019-06-24 09:51:53 +02:00
flip1995
c192c07930
Remove ast:: prefix from types
2019-06-24 09:40:11 +02:00
Mazdak Farrokhzad
46a0e54361
Put 'if let' back into comment.
2019-06-24 07:20:52 +02:00
Mazdak Farrokhzad
0373b007da
Pacify rustfmt.
2019-06-24 04:54:23 +02:00
Mazdak Farrokhzad
4434bfac01
Fix dogfood test failures.
2019-06-24 04:00:05 +02:00
Joe Frikker
1e6c6976dd
PR comments
2019-06-23 18:02:13 -04:00
Mazdak Farrokhzad
b918594369
Fix fallout from rust-lang/rust PR 60861.
2019-06-23 17:24:45 +02:00
Joe Frikker
60a80849ce
Adding try_err lint
2019-06-22 16:37:05 -04:00
bors
c5d1ecd474
Auto merge of #4220 - d-dorazio:4182-needless-return-void-functions, r=flip1995
...
make needless_return work with void functions
fixes https://github.com/rust-lang/rust-clippy/issues/4181 .
changelog: make needless_return work with void functions.
I don't think the failure is related to my changes, but I'm not sure 🤔
2019-06-22 09:38:53 +00:00
Lzu Tao
6aea41e050
Fix fallout cause NodeId pruning
2019-06-22 13:41:16 +07:00
Daniele D'Orazio
66dbc02b05
more idiomatic code
2019-06-21 14:46:34 +02:00
flip1995
6dc8084788
Remove another unnecessary lifetime
2019-06-21 14:41:52 +02:00
Jeremy Stucki
746fbad98a
Remove needless lifetimes
2019-06-21 14:41:19 +02:00
Daniele D'Orazio
e1a78ae528
update tests and fix lints in clippy
2019-06-21 14:17:59 +02:00
Daniele D'Orazio
6396a7a425
make needless_return work with void functions
2019-06-21 13:58:22 +02:00
flip1995
ca2ba973a7
Remove unnecssary lifetime from trait_ref_of_method
2019-06-21 12:32:39 +02:00
Michael Wright
837b5208f7
Fix breakage due to rust-lang/rust#61968
2019-06-21 08:14:07 +02:00
Lzu Tao
4fa498a3eb
Fix warnings about unnecessary lifetime bounds
...
Rustup https://github.com/rust-lang/rust/pull/61172
2019-06-20 01:36:23 +07:00
Lzu Tao
5e887b2a6a
Fix lifetime mismatch between LateContext and Ty
2019-06-19 17:21:53 +07:00
Lzu Tao
321779979a
Fix missing field in ExprKind::Yield
...
Rustup rust-lang/rust#61941
2019-06-19 16:59:25 +07:00
bors
97f8caabf6
Auto merge of #4210 - dtolnay:division, r=flip1995
...
Downgrade integer_division to restriction
I believe that this lint falls outside of the scope of opinionated pedantism of the other pedantic lints.
changelog: Downgrade integer_division lint from pedantic to restriction
2019-06-19 07:57:27 +00:00
Philipp Hansch
ebce573006
Refactor: Replace NodeSet with HirIdSet
...
This saves us one HirId -> NodeId conversion.
2019-06-18 19:45:01 +02:00
Matthias Krüger
4d984dc6e6
rustup https://github.com/rust-lang/rust/pull/61836/
2019-06-18 11:15:47 +02:00
Daniele D'Orazio
be14ea8c37
fix suggestion for floating points inequality
...
It should be of the form `(a - b).abs() > error` whereas it was
`(a - b).abs() < error` that is instead what should be used for equality.
2019-06-17 16:42:43 +02:00
David Tolnay
f88a387c3f
Downgrade integer_division to restriction
2019-06-15 00:17:04 -07:00
Lzu Tao
9bfdbd13c2
Fix wrong lifetime of TyCtxt
2019-06-14 23:47:48 +07:00
krk
fefa7e7f67
Register rename to the LintStore.
2019-06-14 10:45:03 +02:00
krk
55740219b0
Rename REDUNDANT_STATIC_LIFETIME to REDUNDANT_STATIC_LIFETIMES.
2019-06-14 10:45:03 +02:00
Kerem
3b1080542b
Remove pub from RedundantStaticLifetime.visit_type function.
...
Co-Authored-By: Philipp Krones <hello@philkrones.com>
2019-06-14 10:45:02 +02:00
krk
637e92d44e
Rename const_static_lifetime to redundant_static_lifetime.
2019-06-14 10:45:02 +02:00
krk
b38ce08e76
Merge StaticConst and StaticStatic lints into StaticConst.
2019-06-14 09:41:47 +02:00
krk
87e9dee884
Use RedundantStaticLifetime in StaticStatic.
2019-06-14 09:41:47 +02:00
krk
ff1b533c13
Move type-checking logic in StaticConst to RedundantStaticLifetime.
2019-06-14 09:41:46 +02:00
krk
16bd4796e9
Add lint for statics with explicit static lifetime.
2019-06-14 09:41:46 +02:00
bors
7b2a7a2257
Auto merge of #4201 - mgr-inz-rafal:typos_in_docs, r=matthiaskrgr
...
Typos and minor grammar corrections
Just some minor grammar issues and typos in documentation.
2019-06-13 05:01:02 +00:00
Lzu Tao
3832a8d253
Fix wrong lifetime of TyCtxt
2019-06-13 02:49:02 +07:00
mgr-inz-rafal
7ced26d863
Typos and minor grammar corrections
2019-06-12 20:07:10 +02:00
Thiago Arrais
b364eb7b54
Adds lint for integer division
2019-06-12 09:37:14 -03:00
Grzegorz
d4ad23bb3f
redundant_closure_for_method_calls fixes:
...
lint does not trigger when there is a difference in mutability
lint does not trigger when the method belongs to a trait which is not implemebted directly (Deref)
2019-06-12 13:43:36 +02:00
bors
bd33a97cc4
Auto merge of #4199 - flip1995:implicit_return_docs, r=flip1995
...
Fix implicit_return docs
Resolves #4197
changelog: none
2019-06-12 09:58:24 +00:00
flip1995
310c90abb8
Fix implicit_return docs
2019-06-12 10:51:14 +02:00
Matthias Krüger
7c91fb8ded
rustup https://github.com/rust-lang/rust/pull/61758/files
2019-06-12 10:28:58 +02:00
Lzu Tao
79e3c7cd55
Remove wrong lifetime from LintContext
2019-06-12 10:28:52 +02:00
bors
ba1702a05f
Auto merge of #4190 - projedi:fix-eta, r=flip1995
...
Fixing eta with respect to lazy evaluation.
This fixes #4187
changelog: `redundant_closure`: stop linting on expressions returning a function, which is then directly used by the closure
2019-06-10 19:03:18 +00:00
Alexander Shabalin
86bab94631
Fixing eta with respect to lazy evaluation.
2019-06-10 13:58:40 +03:00
Matthias Krüger
7d83e13660
rustup https://github.com/rust-lang/rust/pull/61669/
2019-06-09 15:21:28 +02:00
Michael Wright
b726b41daf
Add OUTER_EXPN_INFO lint
2019-06-08 13:35:04 +02:00
bors
71be6f62fa
Auto merge of #4177 - mikerite:compiler_lint_functions_fewer_strings, r=phansch
...
Remove `to_string()`s from CompilerLintFunctions
changelog: none
2019-06-06 10:25:13 +00:00
bors
5be4e71262
Auto merge of #4136 - euclio:println-writeln-suggestions, r=flip1995
...
add suggestions for print/write with newline lint
changelog: Add machine-applicable suggestions for `print!`/`write!` with newline lints.
2019-06-06 08:26:48 +00:00
Matthias Krüger
d0ca09883e
rustup https://github.com/rust-lang/rust/pull/57428/
2019-06-06 09:21:19 +02:00
Michael Wright
b36d7a0c61
Remove to_string()
s from CompilerLintFunctions
2019-06-06 07:12:12 +02:00
bors
42f96b2558
Auto merge of #4164 - mikerite:fix-4144, r=mikerite
...
Fix .map(..).unwrap_or_else(..) bad suggestion
Closes #4144
2019-06-04 06:28:23 +00:00
mikerite
3b7d6eeb4f
Fix comment grammar
...
Co-Authored-By: Philipp Krones <hello@philkrones.com>
2019-06-04 08:27:31 +02:00
bors
28a39e9741
Auto merge of #4165 - BO41:needless_range_loop, r=phansch
...
Add example to needless_range_loop
adds a "could be written as" example
btw, is it correct that the lint triggers even if the index is used not just for getting the values by index?
So that I have to add `.iter().enumerate()` to still get an index?
changelog: none
2019-06-03 08:28:15 +00:00
Lzu Tao
6c9ee51ecc
Bump cargo_metadata of clippy_lints
2019-06-03 09:13:33 +07:00
BO41
dd007e4477
Change from ignore to rust
2019-06-02 20:06:50 +02:00
Mateusz Mikuła
a3ace5c3ca
Cargo fmt
2019-06-02 18:58:11 +02:00
Mateusz Mikuła
9fefe36737
Rustup for https://github.com/rust-lang/rust/pull/61276
2019-06-02 18:30:40 +02:00
BO41
bd8f289247
Add example to needless_range_loop
2019-06-02 15:28:32 +02:00
Michael Wright
98585a0324
Fix .map(..).unwrap_or_else(..) bad suggestion
...
Closes #4144
2019-06-02 08:50:20 +02:00
Lzu Tao
f67c3e4b2a
Make use of new outer_expn_info()
function
2019-06-01 16:25:51 +07:00
Andy Russell
2d0c797da6
add suggestions for print/write with newline lint
2019-05-30 13:46:04 -04:00
bors
b1762e3e4a
Auto merge of #4157 - phansch:update_pulldown_cmark2, r=matthiaskrgr
...
Update pulldown_cmark to 0.5.2
Includes various parsing fixes. Most notably [this PR][pr]
changelog: none
[pr]: https://github.com/raphlinus/pulldown-cmark/pull/325
2019-05-30 12:07:48 +00:00
bors
0ab3f1762e
Auto merge of #4113 - rust-lang:author, r=flip1995
...
Fix `Block` dump in author lint
changelog: The `#[clippy::author]` attribute now emits correct pattern code for block expressions
2019-05-30 10:34:56 +00:00
Philipp Hansch
a34991228a
Update pulldown_cmark to 0.5.2
...
Includes various parsing fixes. Most notably [this PR][pr]
[pr]: https://github.com/raphlinus/pulldown-cmark/pull/325
2019-05-30 12:26:22 +02:00
bors
018fa30c56
Auto merge of #4153 - matthiaskrgr:rustup_5, r=flip1995
...
rustup https://github.com/rust-lang/rust/pull/60928
changelog: none
2019-05-29 20:01:57 +00:00
Matthias Krüger
22e77dfa98
rustup https://github.com/rust-lang/rust/pull/60928
2019-05-29 00:41:34 +02:00
Matthias Krüger
c9cc11e9fa
rustup https://github.com/rust-lang/rust/pull/61164
...
(which is included in https://github.com/rust-lang/rust/pull/61274 )
2019-05-28 20:47:16 +02:00
Oliver Scherer
f98e4bd33b
Fix Block
dump in author lint
2019-05-28 13:01:11 +02:00
bors
fb33fad08e
Auto merge of #4142 - agnxy:rename-assoc, r=flip1995
...
Rename "Associated*" to "Assoc*"
This is to fix the breakage introduced by rust-lang/rust#60163 .
changelog: none
2019-05-28 08:59:06 +00:00
bors
d57845ffdf
Auto merge of #4071 - matthiaskrgr:sizeof, r=flip1995
...
trivially_copy_pass_by_ref: print size of type and limit in the lint message
changelog: trivially_copy_pass_by_ref: print size of type and limit in the lint message
2019-05-28 07:56:04 +00:00
Oliver Scherer
73d1830812
Rustup to rustc 1.36.0-nightly (fa40a111f 2019-05-27)
2019-05-27 21:58:54 +02:00
bors
7b501f0f6a
Auto merge of #4137 - euclio:let-return, r=oli-obk
...
tweak `let_and_return` diagnostic
changelog: `let_and_return`: label the unnecessary let binding and convert the note to a structured
suggestion
2019-05-27 13:04:14 +00:00
bors
eb0a2884d2
Auto merge of #4149 - flip1995:rollup-6knpdqb, r=flip1995
...
Rollup of 2 pull requests
Successful merges:
- #4102 (Fix match_same_arms to fail late)
- #4119 (Improve non ascii literal)
Failed merges:
r? @ghost
2019-05-27 11:33:29 +00:00
Philipp Krones
dce670c73c
Rollup merge of #4119 - BO41:non_ascii_literal, r=flip1995
...
Improve non ascii literal
This PR improves the example of the [non_ascii_literal](https://rust-lang.github.io/rust-clippy/master/index.html#non_ascii_literal ) lint.
It also makes it auto-fixable.
Please review. This is my first PR to this project.
(Thanks @flip1995 for the help :)
changelog: none
fixes #4117
2019-05-27 13:09:17 +02:00
Philipp Krones
f0a767352b
Rollup merge of #4102 - Urriel:fix/4096_match_same_arms, r=flip1995
...
Fix match_same_arms to fail late
Changes:
- Add a function search_same_list which return a list of matched expressions
- Change the match_same_arms implementation behavior. It will lint each same arms found.
fixes #4096
changelog: none
2019-05-27 13:09:16 +02:00
bors
cf81a3b6d0
Auto merge of #3832 - HarrisonMc555:use_last, r=flip1995
...
Implement "Use last" lint
Closes #3673
This lint checks the use of `x.get(x.len() - 1)` and suggests `x.last()` (where `x` is a `Vec`).
There's at least one more thing that needs to happen here. I believe I am correctly checking most of the scenarios and avoiding false positives. However, if different `Vec`s are used for the `x.get` and `y.len`, then it will emit a false positive. In other words, I need to check to make sure the `Vec`s are the same.
Also, a lot of these commits were temporary and not helpful to the project history...am I supposed to squash on merge? If so, how do I do that?
changelog: New lint: `get_last_with_len`
2019-05-27 11:04:38 +00:00
Seo Sanghyeon
2c53a3f970
Fix typo in comment
2019-05-27 12:32:04 +09:00
Oliver Scherer
637e656451
Rustfmt
2019-05-26 17:36:21 +02:00
Oliver Scherer
fd2ecfcc89
Rustup to rustc 1.36.0-nightly (2268d9923 2019-05-26)
2019-05-26 16:47:26 +02:00
Andrew Xu
dcf064a4f9
Rename "Associated*" to "Assoc*"
...
This is to fix the breakage introduced by rust-lang/rust#60163 .
2019-05-25 20:31:34 +08:00
Philipp Hansch
a650659d63
Rustup to https://github.com/rust-lang/rust/pull/61026
2019-05-25 09:45:07 +02:00
Andy Russell
effea41fe4
tweak let_and_return
diagnostic
...
Label the unnecessary let binding and convert the note to structured
suggestion.
2019-05-24 14:52:55 -04:00
Matthias Krüger
c67d2b121a
rustup https://github.com/rust-lang/rust/pull/60803/
2019-05-24 15:25:36 +02:00
Philipp Hansch
aca56727db
Rustup to https://github.com/rust-lang/rust/pull/59545
2019-05-24 08:19:51 +02:00
Matthias Krüger
5d58163f7d
trivially_copy_pass_by_ref: print size of type and limit in the lint message
2019-05-23 23:48:20 +02:00
Philipp Hansch
7e9db162b5
Rollup merge of #4129 - matthiaskrgr:if_chain, r=phansch
...
update if_chain to 1.0.0
2019-05-23 21:28:49 +02:00
Philipp Hansch
a316179850
Rustup to https://github.com/rust-lang/rust/pull/60965
2019-05-23 20:19:00 +02:00
Matthias Krüger
655aef7c6c
update if_chain to 1.0.0
2019-05-23 17:23:59 +02:00
Philipp Hansch
edb698105f
cargo fmt
...
Roses are red
Violets are blue
`Add rustfmt to a pre-commit hook` is what I should do.
2019-05-23 07:24:53 +02:00
Philipp Hansch
635a2fa5df
Rustup to https://github.com/rust-lang/rust/pull/60740
...
changelog: none
2019-05-23 07:19:25 +02:00
Manish Goregaokar
a6cf35264f
Rustup to rustc 1.36.0-nightly (dbfe70dfc 2019-05-22)
2019-05-21 21:58:27 -07:00
Vincent Dal Maso
fa9f744c2c
Add the common case search
...
Changes:
- Refactor the common case search into a function.
- Fix the useless Option around the vec in the search_same_list.
2019-05-21 13:08:19 +02:00
Philipp Krones
42d849c185
Formatting inside if_chain! macro
2019-05-21 10:45:38 +02:00
Harrison McCullough
f32c2fcb7e
Implement get_last_with_len lint
2019-05-20 18:01:21 -06:00
BO41
36c8aaba8f
Fix tests and make other ascii lints auto-fixable
2019-05-20 16:02:50 +02:00
BO41
859b329603
Make non_ascii_literal auto-fixable
2019-05-20 15:23:38 +02:00
BO41
874de889dc
Improve verbosity of non_ascii_literal lint example
2019-05-20 15:08:53 +02:00
bors
fd56381015
Auto merge of #4088 - pJunger:check1, r=oli-obk
...
Added lint for TryFrom for checked integer conversion.
works towards #3947
Added lint for try_from for checked integer conversion.
Should recognize simple & straight-forward checked integer conversions.
2019-05-20 09:31:09 +00:00
bors
0417a0ac4d
Auto merge of #4107 - taiki-e:useless_attribute, r=flip1995
...
useless_attribute: Add unreachable_pub to whitelists
Fixes #4106
changelog: `useless_attribute`: whitelist `unreachable_pub` on `use` items
2019-05-19 10:37:09 +00:00
bors
4071b2996e
Auto merge of #4099 - flip1995:ul_4094, r=oli-obk
...
Add macro check for unreadable_literal lint
Closes #4094
changelog: Disable `unreadable_literal` lint inside macros
2019-05-19 08:46:43 +00:00
pJunger
f627fbdc59
Removed symbols again.
2019-05-18 10:54:03 +02:00
pJunger
7e0f2e3f1e
Removed unused lifetime.
2019-05-18 09:34:56 +02:00
pJunger
ce9494a3df
Changed impl to use symbols.
2019-05-18 09:34:56 +02:00
pJunger
00a5ef64a2
Added suggestion for conversion with is_ok.
2019-05-18 09:33:26 +02:00
pJunger
0a43dcfd04
Fixed more lint findings.
2019-05-18 09:33:26 +02:00
pJunger
1c86b3758d
Fixed clippy lints in checked_conversions.rs.
2019-05-18 09:33:26 +02:00
pJunger
14d948c560
Registered lint.
2019-05-18 09:33:25 +02:00
pJunger
47444c44ad
Added lint for TryFrom for checked integer conversion rust-lang#3947.
2019-05-18 09:33:25 +02:00
Taiki Endo
40fc725298
useless_attribute: Add unreachable_pub to whitelists
2019-05-18 14:22:16 +09:00
Oliver Scherer
f49ef0ec04
Dogfood
2019-05-18 01:42:15 +02:00
Oliver Scherer
462df72100
Dogfood and rustfmt
2019-05-18 00:58:25 +02:00
Oliver Scherer
f7f85a0dca
Prevent symbocalypse
2019-05-17 23:53:54 +02:00
Manish Goregaokar
ce63f3ae4d
Add known problems
2019-05-16 09:43:07 -07:00
Manish Goregaokar
373d270673
Rename to redundant_closure_for_method_calls
2019-05-16 09:18:50 -07:00
Vincent Dal Maso
902726c38d
Fix match_same_arms to fail late
...
Changes:
- Add a function search_same_list which return a list of matched expressions
- Change the match_same_arms implementation behaviour. It will lint each same arms found.
2019-05-16 11:27:45 +02:00
Michael Wright
4fcaab3d62
Split redundant_closure lint
...
Move the method checking into a new lint called
`redundant_closures_for_method_calls` and put it in the pedantic group.
This aspect of the lint seems more controversial than the rest.
cc #3942
2019-05-16 08:25:39 +02:00
flip1995
3543f58c84
Add macro check for unreadable_literal lint
...
Closes #4094
2019-05-15 14:57:56 +02:00
flip1995
5dea5d404c
Fix dogfood errors
2019-05-14 15:08:29 +02:00
flip1995
4b4d734758
Also hash mem::discriminant in hash_stmt
2019-05-14 14:13:23 +02:00
Oliver Scherer
f11b236087
mem::discriminant trumps manual discriminant hashing
2019-05-14 14:04:55 +02:00
Oliver Scherer
bc031d4c74
Properly hash enums
2019-05-14 13:57:48 +02:00
bors
501830bf01
Auto merge of #4084 - mikerite:fix-4019, r=oli-obk
...
Fix 4019
Fixes #4019
2019-05-14 11:26:16 +00:00
Oliver Scherer
dfbc74b08b
Rustfmt all the things
2019-05-14 10:33:48 +02:00
Oliver Scherer
af80c53450
Clippy dogfood
2019-05-14 10:33:48 +02:00
Oliver Scherer
b2dbda4d48
Use symbols instead of strings
2019-05-14 10:33:42 +02:00
Manish Goregaokar
42480fd031
Rustup to rustc 1.36.0-nightly (1764b2972 2019-05-12)
2019-05-13 11:39:14 -07:00
Michael Wright
2efd8c6e05
Fix comments; minor refactoring
2019-05-12 10:32:19 +02:00
Michael Wright
e6e3f24e0c
Fix #4019
2019-05-12 10:18:38 +02:00
Manish Goregaokar
abf6481f87
Add in_macro again
2019-05-11 21:39:37 -07:00
Manish Goregaokar
7eb8018554
Rename in_macro to in_macro_or_desugar
2019-05-11 21:39:02 -07:00
Manish Goregaokar
19cfb84405
Start handling desugarings in author lint
2019-05-10 23:43:58 -07:00
Manish Goregaokar
0499184201
Ignore desugarings in macro checks
2019-05-10 23:40:42 -07:00
Manish Goregaokar
5661e5947f
Add IfDesugar to desugaring_name
2019-05-10 23:40:42 -07:00
Manish Goregaokar
26ebc3e9a1
Fix consts.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
c9ed92ce20
More uses of higher::if_block
2019-05-10 23:40:42 -07:00
Manish Goregaokar
69b1da4d82
Remove some unnecessary If arms
2019-05-10 23:40:42 -07:00
Manish Goregaokar
da8b56d99a
Fix needless_bool.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
09a93291ec
Fix question_mark.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
f40c77a776
Fix shadow.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
62897747fd
Fix unwrap.rs
2019-05-10 23:40:42 -07:00
Manish Goregaokar
e7af60f258
Add util function for desugaring if block
2019-05-10 23:40:42 -07:00
Andy Russell
9ede56f383
use derive
feature over serde_derive
crate
2019-05-09 13:05:34 -04:00
Matthias Krüger
857c2c53bf
rustup https://github.com/rust-lang/rust/pull/60586
...
cc https://github.com/rust-lang/rust/issues/60623
2019-05-08 06:58:37 +02:00
Matthias Krüger
d618637c05
Rustup to rustc 1.36.0-nightly (13fde05b1 2019-05-03)
2019-05-03 22:28:34 -07:00
Jean Mertz
ff244b6c43
Fix link in into_iter_on_array documentation
...
The non-inline variant wasn't being rendered correctly.
see: https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array
2019-05-03 17:38:13 +02:00
bors
8b906f94f3
Auto merge of #4053 - euclio:too-many-args-span, r=flip1995
...
remove function body from "too many args" span
changelog: Remove the function body from the "too many arguments" span.
2019-05-03 07:26:55 +00:00
Andy Russell
9253506112
remove function body from "too many args" span
2019-05-02 10:36:59 -04:00
bors
8151a17422
Auto merge of #4049 - airt:fix-4033-search_is_some, r=flip1995
...
Fix #4033 search_is_some
Fixes #4033 .
Suggest `any(|x| ..)` instead of `any(|&x| ..)` for `find(|&x| ..).is_some()` (Lint [search_is_some](https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some ))
FnDecl of `find`:
```rust
fn find<P>(&mut self, mut p: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool
```
FnDecl of `any`:
```rust
fn any<F>(&mut self, mut f: F) -> bool where
F: FnMut(Self::Item) -> bool
```
If match on `|&_|` in closure of `find`, only use `|_|` in the suggestion.
PS. It's the first time that I have used the `hir` API, please correct me if there is any mistake 😺
2019-05-02 08:45:02 +00:00
bors
1cf5d7f04c
Auto merge of #4035 - JoshMcguigan:useless_let_if_seq-3043, r=oli-obk
...
useless_let_if_seq handle interior mutability
fixes #3043
This passes all tests, including a new one specifically dealing with a type with interior mutability. The main thing I'm unsure of is whether the span I used in the call to `is_freeze` is the most appropriate span to use, or if it matters.
2019-05-02 07:03:28 +00:00
Matthias Krüger
f195680edb
more Use->DropTemps fixes
2019-05-01 23:04:35 +02:00
Matthias Krüger
24e856f10a
rustup https://github.com/rust-lang/rust/pull/60417/
...
cc https://github.com/rust-lang/rust/issues/60448
2019-05-01 22:18:16 +02:00
Matthias Krüger
6967cf59a4
clippy-driver: use rustc_tools_util to get version info.
...
This will add git hash information to `clippy-driver -V` output.
2019-05-01 10:43:16 +02:00
airt
d063516c85
check closure arguments before use it
2019-05-01 04:41:00 +08:00
airt
5d6a100f81
format code
2019-05-01 04:03:51 +08:00