Aaron Christiansen
4c43aa7053
Fix suggestion for async
in redundant_closure_call
...
Fix redundant_closure_call for single-expression async closures
Add Sugg::asyncify
Use Sugg for redundant_closure_call implementation
2022-07-15 15:49:04 +01:00
Philipp Krones
f074034590
Merge remote-tracking branch 'upstream/master' into rustup
2022-07-15 09:49:15 +02:00
bors
6dc9746147
Auto merge of #95956 - yaahc:stable-in-unstable, r=cjgillot
...
Support unstable moves via stable in unstable items
part of https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/moving.20items.20to.20core.20unstably and a blocker of https://github.com/rust-lang/rust/pull/90328 .
The libs-api team needs the ability to move an already stable item to a new location unstably, in this case for Error in core. Otherwise these changes are insta-stable making them much harder to merge.
This PR attempts to solve the problem by checking the stability of path segments as well as the last item in the path itself, which is currently the only thing checked.
2022-07-14 13:42:09 +00:00
Dylan DPC
e275abf92e
Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot
...
Implement `for<>` lifetime binder for closures
This PR implements RFC 3216 ([TI](https://github.com/rust-lang/rust/issues/97362 )) and allows code like the following:
```rust
let _f = for<'a, 'b> |a: &'a A, b: &'b B| -> &'b C { b.c(a) };
// ^^^^^^^^^^^--- new!
```
cc ``@Aaron1011`` ``@cjgillot``
2022-07-14 14:14:21 +05:30
bors
5b7a2d5037
Auto merge of #99210 - Dylan-DPC:rollup-879cp1t, r=Dylan-DPC
...
Rollup of 5 pull requests
Successful merges:
- #98574 (Lower let-else in MIR)
- #99011 (`UnsafeCell` blocks niches inside its nested type from being available outside)
- #99030 (diagnostics: error messages when struct literals fail to parse)
- #99155 (Keep unstable target features for asm feature checking)
- #99199 (Refactor: remove an unnecessary `span_to_snippet`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-07-13 17:13:27 +00:00
bors
a7162f29b4
Auto merge of #9134 - Jarcho:while_let_iter_closure, r=dswij
...
Improve `while_let_on_iterator` suggestion inside an `FnOnce` closure
changelog: Improve `while_let_on_iterator` suggestion inside an `FnOnce` closure
2022-07-13 16:20:14 +00:00
bors
0930ac91b9
Fix typos
...
changelog: none
2022-07-13 14:48:32 +00:00
Maybe Waffle
1c3f62c750
Fix clippy build
2022-07-12 21:00:14 +04:00
ouz-a
9d86ce6533
add new rval, pull deref early
2022-07-12 14:26:41 +03:00
bors
3206fb4eb1
Auto merge of #9138 - Jarcho:branches_sharing_code_2, r=giraffate
...
Fixes for `branches_sharing_code`
fixes #7198
fixes #7452
fixes #7555
fixes #7589
changelog: Don't suggest moving modifications to locals used in any of the condition expressions in `branches_sharing_code`
changelog: Don't suggest moving anything after a local with a significant drop in `branches_sharing_code`
2022-07-12 00:38:54 +00:00
Ding Xiang Fei
af3ba22313
move else block into the Local
struct
2022-07-11 23:20:37 +02:00
Ding Xiang Fei
9225ebd786
lower let-else in MIR instead
2022-07-11 23:20:36 +02:00
Jason Newcomb
55563f9ce1
Fixes for branches_sharing_code
...
* Don't suggest moving modifications to locals used in any of the condition expressions
* Don't suggest moving anything after a local with a significant drop
2022-07-08 20:07:55 -04:00
Jane Lusby
d053a3dae0
add opt in attribute for stable-in-unstable items
2022-07-08 21:18:15 +00:00
Jason Newcomb
d251bd96e7
Add for_each_expr
2022-07-08 12:54:20 -04:00
Jason Newcomb
9fa12def3c
Improve while_let_on_iterator
suggestion inside an FnOnce
closure
2022-07-07 22:10:24 -04:00
Jason Newcomb
196174ddad
Changes to let_unit_value
...
* View through locals in `let_unit_value` when determining if inference is required
* Don't remove typed let bindings for more functions
2022-07-07 20:06:36 -04:00
Andrea Nall
782b484b79
Fix ICE in sugg::DerefDelegate with (named) closures
...
rustc comiler internals helpfully tell us how to fix the issue:
to get the signature of a closure, use `substs.as_closure().sig()` not `fn_sig()`
Fixes ICE in #9041
2022-07-07 16:10:36 -05:00
bors
5483a7dd44
Auto merge of #98827 - aDotInTheVoid:suggest-extern-block, r=nagisa
...
Suggest using block for `extern "abi" fn` with no body
`@rustbot` modify labels: +A-diagnostics
2022-07-07 04:18:47 +00:00
bors
f93d418f17
Auto merge of #9099 - joshtriplett:unnecessary-lazy-eval-then-some, r=flip1995
...
Extend unnecessary_lazy_eval to cover `bool::then` -> `bool::then_some`
fixes #9097
changelog: Extend `unnecessary_lazy_eval` to convert `bool::then` to `bool::then_some`
2022-07-06 09:20:55 +00:00
Josh Triplett
b7230d4f44
Dogfood fixes to use bool::then_some
2022-07-06 02:03:56 -07:00
Josh Triplett
ebff7206bc
Add MSRV check for bool::then_some
2022-07-06 01:00:19 -07:00
Alan Egerton
490c773e66
Update TypeVisitor paths
2022-07-06 06:41:53 +01:00
Alan Egerton
5c35569ff7
Relax constrained generics to TypeVisitable
2022-07-05 22:25:43 +01:00
Serial
de646e10db
Add invalid_utf8_in_unchecked
2022-07-03 15:37:30 -04:00
Nixon Enraght-Moony
ab23b3aa8a
ast: Add span to Extern
2022-07-02 23:30:03 +01:00
Cameron Steffen
5de85902fa
Factor out hir::Node::Binding
2022-07-01 10:04:19 -05:00
Takayuki Nakata
1988375a25
Fix some links
2022-07-01 21:30:59 +09:00
Philipp Krones
09f5df5087
Merge commit '0cb0f7636851f9fcc57085cf80197a2ef6db098f' into clippyup
2022-06-30 10:50:09 +02:00
Philipp Krones
9de1f9f45a
Bump Clippy version -> 0.1.64
2022-06-30 10:29:22 +02:00
Philipp Krones
bf9b39ae7d
Fix dogfood
2022-06-30 10:28:04 +02:00
Philipp Krones
f26cf11fe8
Merge remote-tracking branch 'upstream/master' into rustup
2022-06-30 10:27:25 +02:00
Jason Newcomb
58434ae385
Extract util functions from redundant_pattern_match
2022-06-29 13:42:59 -04:00
bors
4995b4e584
Auto merge of #9046 - xFrednet:rust-97660-expection-something-something, r=Jarcho
...
Fix `#[expect]` for most clippy lints
This PR fixes most `#[expect]` - lint interactions listed in rust-lang/rust#97660 . [My comment in the issue](https://github.com/rust-lang/rust/issues/97660#issuecomment-1147269504 ) shows the current progress (Once this is merged). I plan to work on `duplicate_mod` and `multiple_inherent_impl` and leave the rest for later. I feel like stabilizing the feature is more important than fixing the last few nits, which currently also don't work with `#[allow]`.
---
changelog: none
r? `@Jarcho`
cc: rust-lang/rust#97660
2022-06-28 18:28:38 +00:00
Jason Newcomb
15df2289ea
Code cleanup
2022-06-28 12:48:49 -04:00
Jason Newcomb
8a74d33570
Add explicit_auto_deref
lint
2022-06-28 12:48:24 -04:00
Jason Newcomb
c107c97e69
Better support projection types when finding the signature for an expression
2022-06-28 12:47:26 -04:00
Jason Newcomb
2315f76f9d
Actually check lifetimes in trivially_copy_pass_by_ref
2022-06-27 13:14:25 -04:00
bors
eaa03ea911
Auto merge of #8972 - kyoto7250:use_retain, r=llogiq
...
feat(new lint): new lint `manual_retain`
close #8097
This PR is a new lint implementation.
This lint checks if the `retain` method is available.
Thank you in advance.
changelog: add new ``[`manual_retain`]`` lint
2022-06-27 13:58:26 +00:00
Klim Tsoutsman
65f700fa89
Fix let_undescore_lock
false-positive when binding without locking
...
Signed-off-by: Klim Tsoutsman <klimusha@gmail.com>
2022-06-27 20:35:26 +10:00
kyoto7250
4decfdec76
check msrv
2022-06-27 08:11:58 +09:00
kyoto7250
fd629c0cde
check method
2022-06-27 08:11:58 +09:00
kyoto7250
5f2b8e67b3
feat(new lint): new lint use_retain
2022-06-27 08:11:58 +09:00
xFrednet
4d41a97735
Add note to is_lint_allowed
about lint emission
2022-06-25 14:37:52 +02:00
Evan Typanski
61e1870aff
Add MSRV check for const rem_euclid
2022-06-22 14:23:04 -04:00
Evan Typanski
e5ebd3edab
Implement manual_rem_euclid lint
2022-06-21 14:13:15 -04:00
bors
93c6f9ebed
Auto merge of #9006 - kyoto7250:issue-8836-v2, r=Jarcho
...
feat(fix): ignore `todo!` and `unimplemented!` in `if_same_then_else`
close : #8836
take over: #8853
This PR adds check `todo!` and `unimplemented!` in if_same_then_else.
( I thought `unimplemented` should not be checked as well as todo!.)
Thank you in advance.
changelog: ignore todo! and unimplemented! in if_same_then_else
r? `@Jarcho`
2022-06-20 15:08:32 +00:00
kyoto7250
39ffda014d
check macro in HitEqInterExpr
2022-06-20 11:14:52 +09:00
kyoto7250
46d056e2eb
check last statement
2022-06-20 11:05:40 +09:00
Maybe Waffle
9395c261d6
remove span_lint_and_sugg_for_edges
from clippy utils
2022-06-19 23:21:14 +04:00