Dylan DPC
72649cf2a6
Rollup merge of #99186 - camsteffen:closure-localdefid, r=cjgillot
...
Use LocalDefId for closures more
2022-07-31 17:36:40 +05:30
Cameron Steffen
62907727af
Use LocalDefId for closures more
2022-07-30 15:59:17 -05:00
Miguel Guarniz
ce5fa10cce
Change enclosing_body_owner to return LocalDefId
...
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
2022-07-29 18:26:10 -04:00
Philipp Krones
67c405cc1d
Merge commit '3c7e7dbc1583a0b06df5bd7623dd354a4debd23d' into clippyup
2022-07-28 19:08:22 +02:00
Philipp Krones
0905ec465d
Merge remote-tracking branch 'upstream/master' into rustup
2022-07-28 18:55:32 +02:00
Jason Newcomb
ab6463e9d9
Fix ICE in miri_to_const
2022-07-24 18:23:33 -04:00
Oli Scherer
bcd2241c9a
Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank"
...
This reverts commit 6f8fb911ad504b77549cf3256a09465621beab9d, reversing
changes made to 7210e46dc69a4b197a313d093fe145722c248b7d.
2022-07-20 07:55:58 +00:00
Jason Newcomb
95c759157c
Check for todo!
on every expression in SpanlessEq
2022-07-19 09:57:18 -04:00
Philipp Krones
7d4daaa8fa
Merge commit 'fdb84cbfd25908df5683f8f62388f663d9260e39' into clippyup
2022-07-18 09:39:37 +02:00
Jason Newcomb
84e03b6215
Don't lint explicit_auto_deref
on dyn Trait
return
2022-07-17 11:14:07 -04:00
Caio
f88a1399bb
Stabilize let_chains
2022-07-16 20:17:58 -03:00
Oli Scherer
417a600c30
Introduce opaque type to hidden type projection
2022-07-15 15:49:22 +00:00
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
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