Commit Graph

8722 Commits

Author SHA1 Message Date
Matthias Krüger
f1d5cd5d13 add test for compiler output when compiling with rustc/clippy-driver 2020-06-11 12:34:19 +02:00
Matthias Krüger
88ab10400b add test and remove debug print 2020-06-11 12:34:19 +02:00
Matthias Krüger
840786a939 clippy-driver: pass all args after "--rustc" to rustc. 2020-06-11 12:34:19 +02:00
bors
742706511c Auto merge of #5702 - ebroto:5698_mul_not_comm, r=matthiaskrgr
if_same_then_else: don't assume multiplication is always commutative

changelog: Don't assume multiplication is always commutative in [`if_same_then_else`]

Fixes #5698
2020-06-09 22:19:24 +00:00
Eduardo Broto
2f74283fce Add a comment linking to the issue 2020-06-10 00:14:02 +02:00
Eduardo Broto
a083b84b78 if_same_then_else: don't assume multiplication is always commutative 2020-06-09 23:49:21 +02:00
bors
f065d4b887 Auto merge of #5279 - DevinR528:macro-use-sugg, r=flip1995
Macro use sugg

changelog: Add auto applicable suggstion to macro_use_imports

fixes #5275

<s>Where exactly is the `wildcard_imports_helper` I haven't been able to import anything ex.
`use lazy_static;` or something like for that I get version/compiler conflicts?</s>
Found it.

Should we also check for `#[macro_use] extern crate`, although this is still depended on for stuff like `rustc_private`?
2020-06-09 20:49:27 +00:00
Devin R
e521a4ed38 Add enough attrs to the test file so the fix compiles with no errors, fmt/clippy 2020-06-09 16:39:31 -04:00
Devin R
288df59b25 Fix suggestion output, add run-rustfix to test file, stop sorting import segments duh 2020-06-08 16:00:33 -04:00
Devin R
8c5a5a92ec cleaned up import suggestion formatter, look into code reuse with wildcard impotrs 2020-06-08 16:00:33 -04:00
Devin R
d4f60b5ff4 wip: of handling nested import paths for multi-macro paths 2020-06-08 16:00:33 -04:00
Devin R
451363dc59 still working on displaying nested imports 2020-06-08 16:00:33 -04:00
Devin R
8bc106b29d fix some of the review, rename, fmt, refactor 2020-06-08 16:00:33 -04:00
Devin R
1d9e80ad7b remove session 2020-06-08 16:00:33 -04:00
Devin R
8ffbf6f94d use hashset not map for keeping track of seen macro refs
remove stdout, fix clippy warnings, fmtcar
2020-06-08 16:00:33 -04:00
Devin R
ede366be63 collected all the imports and names
how to compare macro to import path

add more imports to test
2020-06-08 16:00:30 -04:00
Devin R
a4b8bb88f2 warn on macro_use attr
cargo dev update lints

use if_chain

clean up alot, span_lint_and_sugg

find imported macros for sugg
2020-06-08 15:59:41 -04:00
bors
ff0993c5e9 Auto merge of #5692 - ebroto:5689_N_dotdot_N, r=yaahc
reversed_empty_ranges: avoid linting N..N except in for loop arguments

changelog: [`reversed_empty_ranges`]: avoid linting N..N except in for loop arguments

r? @yaahc
Fixes #5689
2020-06-08 17:15:45 +00:00
bors
f947644f0d Auto merge of #5680 - ebroto:3792_let_return, r=Manishearth
let_and_return: avoid "does not live long enough" errors

EDIT: Add #3324 to the list of fixes

<details>
<summary>Description of old impl</summary>
<br>
Avoid suggesting turning the RHS expression of the last statement into the block tail expression if a temporary borrows from a local that would be destroyed before.

This is my first incursion into MIR so there's probably room for improvement!
</details>

Avoid linting if the return type of some method or function called in the last statement has a lifetime parameter.

changelog: Fix false positive in [`let_and_return`]

Fixes #3792
Fixes #3324
2020-06-08 16:47:22 +00:00
bors
08b84b3f76 Auto merge of #5378 - Centril:unnested-or-pats, r=flip1995,phansch
New lint: `unnested_or_patterns`

changelog: Adds a lint `unnested_or_patterns`, suggesting `Some(0 | 2)` as opposed to `Some(0) | Some(2)`. The lint only fires on compilers capable of using `#![feature(or_patterns)]`.

- The lint is primarily encoded as a pure algorithm which to unnest or-patterns in an `ast::Pat` (`fn unnest_or_patterns`) through a `MutVisitor`. After that is done, and assuming that any change was detected, then `pprust::pat_to_string` is used to simply convert the transformed pattern into a suggestion.

- The PR introduces a module `utils::ast_utils` with a bunch of functions for spanless & nodeless equality comparisons of ASTs.

cc https://github.com/rust-lang/rust/issues/54883
2020-06-08 13:49:29 +00:00
flip1995
a9ca832b11
Fix rebase fallout 2020-06-07 21:37:55 +02:00
flip1995
ecabed67ec
Apply self-review by Centril 2020-06-07 21:16:05 +02:00
Mazdak Farrokhzad
d6136b92a2
split unnested_or_patterns test 2020-06-07 21:16:05 +02:00
Mazdak Farrokhzad
78f158e80e
dogfood unnested_or_patterns 2020-06-07 21:16:03 +02:00
Eduardo Broto
a664ce7789 Remove unnecessary lifetime parameter 2020-06-07 21:13:13 +02:00
Mazdak Farrokhzad
7b6dc7b33d
add unnested_or_patterns lint 2020-06-07 21:09:47 +02:00
Eduardo Broto
ebfc1da07d reversed_empty_ranges: don't lint N..N except in for loop arg 2020-06-07 21:03:08 +02:00
Eduardo Broto
dac8a3c1ca let_and_return: do not lint if last statement borrows 2020-06-07 20:53:38 +02:00
Eduardo Broto
9c205d7b1b Rename let_and_return test for consistency with the lint name 2020-06-07 20:53:38 +02:00
Eduardo Broto
dc13016ac2 Make let_and_return a late lint pass 2020-06-07 20:53:38 +02:00
bors
67ec96c8f9 Auto merge of #5691 - flip1995:rustup, r=matthiaskrgr
Rustup

changelog: none
2020-06-07 12:55:08 +00:00
flip1995
d9aa26a14d
Temporarily disable RLS integration test 2020-06-07 14:54:21 +02:00
flip1995
5bdbc45ae5
Rustup to rust-lang/rust#71796 2020-06-07 03:07:48 +02:00
flip1995
1a8a69d012
Merge remote-tracking branch 'upstream/master' into rustup 2020-06-07 02:17:49 +02:00
Ralf Jung
161474b7f7 Rollup merge of #72508 - ecstatic-morse:poly-self-ty, r=nikomatsakis
Make `PolyTraitRef::self_ty` return `Binder<Ty>`

This came up during review of #71618. The current implementation is the same as a call to `skip_binder` but harder to audit. Make it preserve binding levels and add a call to `skip_binder` at all use sites so they can be audited as part of #72507.
2020-06-06 21:57:38 +02:00
bors
5699672b5b Auto merge of #5674 - ThibsG:DocTypeDefinesMethod, r=yaahc,phansch,flip1995
Add doc for checking if type defines specific method

This PR adds documentation on how:
- check if a type defines a specific method
- check an expr is calling a specific method

closes: #3843

changelog: none
2020-06-06 10:32:02 +00:00
bors
e6f05ad912 Auto merge of #5528 - phansch:same-tys, r=flip1995
Cleanup: Use rustc's `same_type` for our `same_tys`

This delegates our `same_tys` to [ty::TyS::same_type][same_type] to
remove some duplication.

Our `same_tys` was introduced 4 years ago in #730. Before, it was
building an inference context to be able to call
`can_eq` to compare the types. The `rustc-dev-guide` has some more details
about `can_eq` in [Type Inference -> Trying equality][try_eq].

Now, using the rustc function, we are essentially comparing the `DefId`s
of the given types, which also makes more sense, IMO.

I also confirmed that the FIXME is resolved via a bit of `dbg!`, however
no UI tests seem to have been affected.

[same_type]: 659951c4a0/src/librustc_middle/ty/util.rs (L777)
[try_eq]: https://rustc-dev-guide.rust-lang.org/type-inference.html#trying-equality

---

changelog: none
2020-06-06 10:04:21 +00:00
Philipp Hansch
623faac84e
Cleanup: Use rustc's same_types instead of our same_tys 2020-06-06 11:50:59 +02:00
bors
b059c0a2e6 Auto merge of #72927 - petrochenkov:rustc, r=Mark-Simulacrum
Rename all remaining compiler crates to use the `rustc_foo` pattern

libarena -> librustc_arena
libfmt_macros -> librustc_parse_format
libgraphviz -> librustc_graphviz
libserialize -> librustc_serialize

Closes https://github.com/rust-lang/rust/issues/71177 in particular.
2020-06-06 09:00:51 +00:00
bors
ea7066a01d Auto merge of #5688 - ebroto:fix_cargo_tests_in_rustc, r=flip1995
Fix cargo tests when running inside the rustlang/rust repo

It seems we hit https://github.com/rust-lang/cargo/issues/5418, so I've applied the suggested solution. Also added some more info when cargo-metadata fails to execute.

(there was no open issue for this)

changelog: none
2020-06-05 21:59:37 +00:00
Eduardo Broto
c325c120c2 Fix cargo ui tests when running inside rust repo 2020-06-05 22:30:14 +02:00
Eduardo Broto
413713c884 Add error info when cargo metadata fails to run 2020-06-05 22:28:58 +02:00
bors
b16d10117a Auto merge of #5687 - flip1995:release_doc, r=phansch
Replace all remaining occurrences of submodule with subtree

r? @phansch

I should have included this in #5686, but forgot about it, so here we go again.

changelog: none
2020-06-05 13:34:19 +00:00
flip1995
6b9e2e90bf
Replace all remaining occurrences of submodule with subtree 2020-06-05 14:53:23 +02:00
bors
6fc9939893 Auto merge of #5671 - ebroto:changelog_144_145, r=flip1995
Update changelog for stable:1.44 beta:1.45

[Rendered](https://github.com/ebroto/rust-clippy/blob/changelog_144_145/CHANGELOG.md)

changelog: none
2020-06-05 12:52:23 +00:00
bors
af9a094d98 Auto merge of #5686 - flip1995:release_doc, r=phansch
Reorder sections of release documentation

r? @phansch

[Rendered](https://github.com/flip1995/rust-clippy/blob/release_doc/doc/release.md)

changelog: none
2020-06-05 12:23:13 +00:00
flip1995
9ef15ae7c8
Reorder sections of release documentation
Before tagging a commit the beta branch has to be remerged
2020-06-05 13:56:07 +02:00
bors
f61840d220 Auto merge of #5685 - flip1995:backport_remerge, r=flip1995
Backport remerge

Part of the release process. Nothing to see here (literally).

d4092ac matches the current HEAD of the beta branch

changelog: none
2020-06-05 11:52:27 +00:00
flip1995
17bdc96646
Merge remote-tracking branch 'upstream/beta' into backport_remerge 2020-06-05 13:50:53 +02:00
bors
a8957acb13 Auto merge of #5681 - matthiaskrgr:empty_line, r=phansch
match_wildcard_for_single_variants: remove empty line at start of lint example.

See https://rust-lang.github.io/rust-clippy/master/index.html#match_wildcard_for_single_variants

changelog: none
2020-06-04 09:23:44 +00:00