Commit Graph

12263 Commits

Author SHA1 Message Date
hamidreza kalbasi 5aff720e1a fix derivable impl false positives 2021-09-10 19:49:02 +04:30
bors d5595e55a2 Auto merge of #7649 - flip1995:backport_remerge, r=flip1995
Backport remerge

This is to keep the backported commit in the repository before force pushing the new beta branch.

r? `@ghost`

changelog: none
(literally none)
2021-09-09 14:47:28 +00:00
flip1995 f402edec1b Merge remote-tracking branch 'upstream/beta' into backport_remerge 2021-09-09 16:45:20 +02:00
bors 1a524783b1 Auto merge of #7610 - Labelray:master, r=camsteffen
Add new lint `iter_not_returning_iterator`

Add new lint [`iter_not_returning_iterator`] to detect method `iter()` or `iter_mut()` returning a type not implementing `Iterator`
changelog: Add new lint [`iter_not_returning_iterator`]
2021-09-09 01:47:08 +00:00
bors 36e6469301 Auto merge of #7621 - azdavis:master, r=camsteffen
Allow giving reasons for `disallowed_methods`

Fixes #7609.

This permits writing the config for `disallowed-methods` as either a list of strings (like before) or a list of tables, where each table gives the path to the disallowed method and an optional reason for why the method is disallowed.

changelog: Allow giving reasons for [`disallowed_methods`]
2021-09-09 01:31:15 +00:00
Labelray 8f88acdbfa add new lint iter_not_returning_iterator 2021-09-09 09:21:38 +08:00
Ariel Davis 293db0d33c Allow giving reasons for disallowed_methods 2021-09-08 21:12:02 -04:00
bors 27afd6ade4 Auto merge of #7631 - camsteffen:depinfo, r=flip1995
Use binary-dep-depinfo to resolve UI test dependencies

Closes #7343
Closes #6809
Closes #3643

changelog: none

r? `@flip1995`
cc `@Jarcho`
2021-09-08 13:30:11 +00:00
Cameron Steffen 5d3fc6fc08 Deny warnings in test modules 2021-09-08 08:21:06 -05:00
Cameron Steffen 8c05a15f0a Use binary-dep-depinfo to resolve UI dependencies 2021-09-08 11:13:45 +02:00
Cameron Steffen ffe21e58a0 Remove unused dependencies 2021-09-08 11:13:44 +02:00
bors 5458358461 Auto merge of #7644 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2021-09-08 09:00:54 +00:00
flip1995 563a00b2a0 Bump Clippy Version -> 0.1.57 2021-09-08 10:59:04 +02:00
flip1995 3cb1d283d6 Bump nightly version -> 2021-09-08 2021-09-08 10:58:51 +02:00
flip1995 4962608ca6 Merge remote-tracking branch 'upstream/master' into rustup 2021-09-08 10:51:27 +02:00
bors f35678401c Auto merge of #7607 - dswij:mut-range-bound-break, r=flip1995
`mut_range_bound` check for immediate break after mutation

closes #7532

`mut_range_bound` ignores mutation on range bounds that is placed immediately before break. Still warns if the break is not always reachable.

changelog: [`mut_range_bound`] ignore range bound mutations before immediate break
2021-09-08 08:14:17 +00:00
dswij dc6f7dc6bf Add known problems to mut_range_bound docs 2021-09-08 11:00:27 +08:00
dswij 7515d9c6f7 Update test output for mut_range_bound 2021-09-08 10:41:37 +08:00
dswij 8fbf75e0f9 mut_range_bound to check for immediate break from loop 2021-09-08 10:41:37 +08:00
dswij 290fb8de66 Add additional test for broken loop in mut_range_bound 2021-09-08 10:41:37 +08:00
bors b7c25e1679 Auto merge of #7642 - mikerite:fix-7641, r=flip1995
Add `TAU` to `approx_constant`

changelog: [`approx_constant`]: Add `TAU`
2021-09-07 08:16:36 +00:00
Michael Wright a7a5a5d9b0 Add TAU to approx_constant 2021-09-07 05:50:04 +02:00
bors 17294b8161 Auto merge of #7634 - chansuke:update-eval-order-depends-docs, r=Manishearth
Fix documentation of eval_order_dependence

Fixes #7624.

changelog: fix documentation of eval_order_dependence
2021-09-06 07:51:55 +00:00
bors f7aaa2a200 Auto merge of #88493 - chenyukang:fix-duplicated-diagnostic, r=estebank
Fix #88256 remove duplicated diagnostics

Fix #88256
2021-09-06 00:14:41 +00:00
bors 7a0d7d8283 Auto merge of #7596 - lengyijun:option_needless_deref, r=llogiq
New lint: option_needless_deref

changelog: [`option_needless_deref`]
fix #7571
2021-09-05 18:11:56 +00:00
bors 051286d7ec Auto merge of #7638 - xFrednet:7569-avoid-indexing-in-clippy, r=Manishearth
Avoid slice indexing in Clippy (down with the ICEs)

While working on #7569 I got about 23 lint reports where we can avoid slice indexing by destructing the slice early. This is a preparation PR to avoid fixing them in the lint PR. (The implementation already takes about 300 lines without tests 😅). Either way, this should hopefully be easy to review 🙃

---

changelog: none
2021-09-05 17:01:50 +00:00
bors ad8610d11c Auto merge of #88499 - eddyb:layout-off, r=nagisa
Provide `layout_of` automatically (given tcx + param_env + error handling).

After #88337, there's no longer any uses of `LayoutOf` within `rustc_target` itself, so I realized I could move the trait to `rustc_middle::ty::layout` and redesign it a bit.

This is similar to #88338 (and supersedes it), but at no ergonomic loss, since there's no funky `C: LayoutOf<Ty = Ty>` -> `Ty: TyAbiInterface<C>` generic `impl` chain, and each `LayoutOf` still corresponds to one `impl` (of `LayoutOfHelpers`) for the specific context.

After this PR, this is what's needed to get `trait LayoutOf` (with the `layout_of` method) implemented on some context type:
* `TyCtxt`, via `HasTyCtxt`
* `ParamEnv`, via `HasParamEnv`
* a way to transform `LayoutError`s into the desired error type
  * an error type of `!` can be paired with having `cx.layout_of(...)` return `TyAndLayout` *without* `Result<...>` around it, such as used by codegen
  * this is done through a new `LayoutOfHelpers` trait (and so is specifying the type of `cx.layout_of(...)`)

When going through this path (and not bypassing it with a manual `impl` of `LayoutOf`), the end result is that only the error case can be customized, the query itself and the success paths are guaranteed to be uniform.

(**EDIT**: just noticed that because of the supertrait relationship, you cannot actually implement `LayoutOf` yourself, the blanket `impl` fully covers all possible context types that could ever implement it)

Part of the motivation for this shape of API is that I've been working on querifying `FnAbi::of_*`, and what I want/need to introduce for that looks a lot like the setup in this PR - in particular, it's harder to express the `FnAbi` methods in `rustc_target`, since they're much more tied to `rustc` concepts.

r? `@nagisa` cc `@oli-obk` `@bjorn3`
2021-09-05 16:14:41 +00:00
bors df7e63b381 Auto merge of #7627 - xFrednet:0000-updating-issue-templates-again, r=llogiq
Updating issue templates again for rustbot

It turns out that our current issue template can sometimes trigger a rustbot error message, as can be seen in [#7626](https://github.com/rust-lang/rust-clippy/issues/7626). I originally tested this in #7599, but it's apparently a bit inconsistent. This PR adds backticks to the commands, as correctly suggested by `@mikerite` in the comments. (Thank you!)

``@rustbot` label +S-blocked`

---

Now I also pushed a tiny link fix as well. 🙃

---

changelog: none
2021-09-05 14:53:33 +00:00
bors e5ae3f5491 Auto merge of #7629 - mikerite:fix-7623-2, r=xFrednet
Make `approx_const` MSRV aware

changelog: [`approx_const`]: Add MRSV checks for LOG10_2 and LOG2_10.

Fixes #7623
2021-09-05 13:17:02 +00:00
xFrednet 62b46125cb Avoid slice indexing in Clippy (down with the ICEs) 2021-09-05 14:50:13 +02:00
Michael Wright 19d8a3e53c Improve approx_constant output 2021-09-05 08:47:45 +02:00
Michael Wright 4ee9ec960e Add MSRV to approx_constant documentation 2021-09-05 08:44:37 +02:00
lyj 37af742bbb Update clippy_lints/src/needless_option_as_deref.rs
Co-authored-by: llogiq <bogusandre@gmail.com>
2021-09-05 08:33:04 +08:00
bors a8c269ad50 Auto merge of #7570 - HKalbasi:derivable-impls, r=camsteffen
Add the `derivable_impls` lint

Fix #7550

changelog: Add new derivable_impls lint. mem_replace_with_default now covers non constructor cases.
2021-09-04 21:40:04 +00:00
bors f7719279db Auto merge of #7584 - shepmaster:unnecessary_expect, r=camsteffen
Extend unnecessary_unwrap to look for expect in addition to unwrap

changelog: Extend ``[`unnecessary_unwrap`]`` to also check for `Option::expect` and `Result::expect`. Also give code suggestions in some cases.

Fixes #7581
2021-09-04 21:25:55 +00:00
hamidreza kalbasi 8221f9e795 add derivable impls lint 2021-09-05 01:25:59 +04:30
lengyijun 4184cc369a needless_option_as_deref 2021-09-04 22:18:23 +08:00
chansuke b2f01ef6f6 Fix documentation of eval_order_dependence 2021-09-04 21:07:25 +09:00
yukang 6764fde913 Fix #88256, remove duplicated diagnostic 2021-09-04 19:26:25 +08:00
Fridtjof Stoldt 169aea615c Correct link in documentation for the file clippy_lints::utils::conf 2021-09-03 15:58:01 +02:00
xFrednet 9ebd012c78 Updating issue templates again for rustbot 2021-09-03 15:58:01 +02:00
Michael Wright a23af89447 Make approx_const MSRV aware
Fixes #7623.
2021-09-03 08:34:34 +02:00
Michael Wright 265b8ec622 Reorder approx_consts constant to match rust docs 2021-09-03 06:41:30 +02:00
Jake Goulding b4775435e8 Adjust the output of unnecessary_unwrap and provide a suggestion 2021-09-02 20:52:16 -04:00
Jake Goulding 03d3131cb4 Extend unnecessary_unwrap to look for expect in addition to unwrap
Closes #7581
2021-09-02 20:44:39 -04:00
bors a0152da5ae Auto merge of #88363 - michaelwoerister:remapped-diagnostics, r=estebank
Path remapping: Make behavior of diagnostics output dependent on presence of --remap-path-prefix.

This PR fixes a regression (#87745) with `--remap-path-prefix` where the flag stopped causing diagnostic messages to be remapped as well. The regression was introduced in https://github.com/rust-lang/rust/pull/83813 where we erroneously assumed that remapping of diagnostic messages was not desired anymore (because #70642 partially undid that functionality with nobody objecting).

The issue is fixed by making `--remap-path-prefix` remap diagnostic messages again, including for paths that have been remapped in upstream crates (e.g. the standard library). This means that "sysroot-localization" (implemented in #70642) is also disabled if `rustc` is invoked with `--remap-path-prefix`. The assumption is that once someone starts explicitly remapping paths they also don't want paths to their local Rust installation in their build output.

In the future we might want to give more fine-grained control over this behavior via compiler flags (see https://github.com/rust-lang/rfcs/pull/3127 for a related RFC). For now this PR is intended as a regression fix.

This PR is an alternative to https://github.com/rust-lang/rust/pull/88191, which makes diagnostic messages be remapped unconditionally. That approach, however, would effectively revert #70642.

Fixes https://github.com/rust-lang/rust/issues/87745.

cc `@cbeuw`
r? `@ghost`
2021-09-03 00:23:10 +00:00
bors a8c2c7b712 Auto merge of #7604 - flip1995:rustup, r=Manishearth
Rustup

I'll write some TODOs later. This time I'll need a review for this Rustup

r? `@ghost`  (for now)

changelog: none
2021-09-02 15:30:12 +00:00
flip1995 01b17af108 Fix fallout from re-applying patches 2021-09-02 13:04:47 +01:00
flip1995 fb6839db2d Bump nightly version -> 2021-09-02 2021-09-02 12:45:45 +01:00
xFrednet 8bf2940abb Fix matadata collection configuration formatting 2021-09-02 12:42:00 +01:00