Dylan DPC
9ae329232b
Rollup merge of #101142 - nnethercote:improve-hir-stats, r=davidtwco
...
Improve HIR stats
#100398 improve the AST stats collection done by `-Zhir-stats`. This PR does the same for HIR stats collection.
r? `@davidtwco`
2022-09-05 14:15:51 +05:30
Cameron Steffen
e5f30f4dfa
clippy: BindingAnnotation change
2022-09-02 13:03:11 -05:00
dswij
f0d642ea38
Use macro source when creating Sugg
helper
2022-09-01 18:46:53 +08:00
Jason Newcomb
d4a0785464
Correctly handle unescape warnings
2022-09-01 00:00:37 -04:00
Jason Newcomb
7bd5b012c7
Use CountIsStart
in clippy
2022-08-31 09:45:51 -04:00
Jason Newcomb
fb41bfa774
Merge commit 'f51aade56f93175dde89177a92e3669ebd8e7592' into clippyup
2022-08-31 09:24:45 -04:00
Lukas Lueg
66a97055b2
Initial implementation of result_large_err
2022-08-30 17:39:40 +02:00
Nilstrieb
ce847beb47
Revert let_chains stabilization
...
This reverts commit 326646074940222d602f3683d0559088690830f4.
This is the revert against master, the beta revert was already done in #100538 .
2022-08-29 19:34:11 +02:00
Nicholas Nethercote
3ce109e12d
Use &'hir Ty
everywhere.
...
For consistency, and because it makes HIR measurement simpler and more
accurate.
2022-08-29 06:35:14 +10:00
Nicholas Nethercote
3b80e994d5
Use &'hir Expr
everywhere.
...
For consistency, and because it makes HIR measurement simpler and more
accurate.
2022-08-29 06:35:14 +10:00
Jason Newcomb
3ad398d9b0
Merge branch 'master' into rustup
2022-08-28 06:44:13 -04:00
dswij
51e9113c60
Add span_contains_comments
util
2022-08-28 00:07:00 +08:00
Tomasz Miąsko
e4eddc611a
Replace Body::basic_blocks()
with field access
2022-08-26 14:27:08 +02:00
Michael Wright
a0afbdfbec
Replace contains_ty(..)
with Ty::contains(..)
...
This removes some code we don't need and the method syntax is
also more readable IMO.
2022-08-24 08:11:29 +02:00
Nicholas Nethercote
06d7119f40
Remove the symbol from ast::LitKind::Err
.
...
Because it's never used meaningfully.
2022-08-23 16:56:24 +10:00
alex-semenyuk
2781ad0e9e
Fix typos
2022-08-20 12:31:29 +03:00
bors
2091142f5d
Auto merge of #9258 - Serial-ATA:unused-peekable, r=Alexendoo
...
Add [`unused_peekable`] lint
changelog: Add [`unused_peekable`] lint
closes : #854
2022-08-19 18:30:13 +00:00
Alex Macleod
4f049f5a69
Refactor FormatArgsExpn
2022-08-19 15:35:26 +00:00
Serial
2666c38acb
Add [unused_peekable
] lint
2022-08-19 08:05:59 -04:00
bors
868dba9f65
Auto merge of #9295 - Guilherme-Vasconcelos:manual-empty-string-creation, r=dswij
...
Add `manual_empty_string_creations` lint
Closes #2972
- [x] Followed [lint naming conventions][lint_naming]
- [x] Added passing UI tests (including committed `.stderr` file)
- [x] `cargo test` passes locally
- [x] Executed `cargo dev update_lints`
- [x] Added lint documentation
- [x] Run `cargo dev fmt`
changelog: [`manual_empty_string_creations`]: Add lint for empty String not being created with `String::new()`
2022-08-19 11:19:06 +00:00
Samuel E. Moelius III
a05cb74d30
Enhance needless_borrow
to consider trait implementations
2022-08-16 18:34:51 -04:00
Nicholas Nethercote
6e5f90ae46
Shrink ast::Attribute
.
2022-08-16 11:10:13 +10:00
Guilherme-Vasconcelos
80826c3944
Implement clippy::manual_empty_string_creations lint
2022-08-14 12:45:24 -03:00
Mark Rousskov
1a3192a331
Adjust cfgs
2022-08-12 16:28:15 -04:00
bors
9ac237dce5
Auto merge of #100419 - flip1995:clippyup, r=Manishearth
...
Update Clippy
r? `@Manishearth`
2022-08-12 00:12:51 +00:00
Philipp Krones
dc29cfb8d5
Merge commit '2b2190cb5667cdd276a24ef8b9f3692209c54a89' into clippyup
2022-08-11 19:42:16 +02:00
Philipp Krones
280b527821
Bump Clippy version -> 0.1.65
2022-08-11 19:26:38 +02:00
Philipp Krones
879855bbaf
Merge remote-tracking branch 'upstream/master' into rustup
2022-08-11 19:26:04 +02:00
Camille GILLOT
cf3f71d2a2
Do not consider method call receiver as an argument in AST.
2022-08-10 18:34:54 +02:00
dAxpeDDa
fd60581628
Address review take 2
2022-08-09 05:14:03 +02:00
dAxpeDDa
6f5d64842b
Address review
2022-08-09 04:56:04 +02:00
dAxpeDDa
8d4f2ac381
Use check_proc_macro
for missing_const_for_fn
2022-08-09 03:41:59 +02:00
bors
4912c0ece4
Auto merge of #9126 - Jarcho:auto_deref_sugg, r=Manishearth
...
`explicit_auto_deref` changes
fixes #9123
fixes #9109
fixes #9143
fixes #9101
This avoid suggesting code which hits a rustc bug. Basically `&{x}` won't use auto-deref if the target type is `Sized`.
changelog: Don't suggest using auto deref for block expressions when the target type is `Sized`
changelog: Include the borrow in the suggestion for `explicit_auto_deref`
changelog: Don't lint `explicit_auto_deref` on `dyn Trait` return
changelog: Don't lint `explicit_auto_deref` when other adjustments are required
changelog: Lint `explicit_auto_deref` in implicit return positions for closures
2022-08-08 15:20:24 +00:00
Jason Newcomb
ecb51fe6a5
Lint explicit_auto_deref
in implicit return positions for closures
2022-08-08 10:25:05 -04:00
bors
0ee702514e
Auto merge of #9303 - Jarcho:ice_9297, r=Alexendoo
...
Fix ICE when reading literals with weird proc-macro spans
fixes #9297
changelog: Fix ICE when reading literals with weird proc-macro spans
2022-08-08 11:36:27 +00:00
Jason Newcomb
99abd4a9f6
Fix ICE when reading literals with weird proc-macro spans
2022-08-07 22:22:17 -04:00
Jason Newcomb
745b194292
Small cleanup for check_proc_macro.rs
2022-08-07 21:55:10 -04:00
Jason Newcomb
8dda974a27
Add note to the docs on is_from_proc_macro
2022-08-07 21:55:10 -04:00
Jason Newcomb
670efd5720
Don't lint default_trait_access
in proc-macro expansions
2022-08-07 21:55:08 -04:00
Jason Newcomb
4ae582ef88
Don't lint missing_docs_in_private_items
on proc-macro output
2022-08-07 21:53:51 -04:00
Jason Newcomb
37e838f759
Use new util function in suspicious_else_formatting
2022-08-07 21:52:27 -04:00
Jason Newcomb
2ae8b300a7
Don't lint unit_arg
when expanded from a proc-macro
2022-08-07 21:52:25 -04:00
bors
05e7d5481b
Auto merge of #9053 - AaronC81:fix-9052, r=flip1995
...
Fix suggestions for `async` closures in redundant_closure_call
Fixes #9052
changelog: Fix suggestions given by [`redundant_closure_call`] for async closures
2022-08-02 12:39:37 +00:00
Federico Guerinoni
0696624ba7
Add elapsed_instant
lint
...
Closes #8603
Signed-off-by: Federico Guerinoni <guerinoni.federico@gmail.com>
2022-08-01 23:39:00 +02:00
bors
80a56878cf
Auto merge of #99884 - nnethercote:lexer-improvements, r=matklad
...
Lexer improvements
Some cleanups and small speed improvements.
r? `@matklad`
2022-08-01 12:52:49 +00:00
Nicholas Nethercote
09f9acea0a
Shrink Token
.
...
From 72 bytes to 12 bytes (on x86-64).
There are two parts to this:
- Changing various source code offsets from 64-bit to 32-bit. This is
not a problem because the rest of rustc also uses 32-bit source code
offsets. This means `Token` is no longer `Copy` but this causes no
problems.
- Removing the `RawStrError` from `LiteralKind`. Raw string literal
invalidity is now indicated by a `None` value within
`RawStr`/`RawByteStr`, and the new `validate_raw_str` function can be
used to re-lex an invalid raw string literal to get the `RawStrError`.
There is one very small change in behaviour. Previously, if a raw string
literal matched both the `InvalidStarter` and `TooManyHashes` cases,
the latter would override the former. This has now changed, because
`raw_double_quoted_string` now uses `?` and so returns immediately upon
detecting the `InvalidStarter` case. I think this is a slight
improvement to report the earlier-detected error, and it explains the
change in the `test_too_many_hashes` test.
The commit also removes a couple of comments that refer to #77629 and
say that the size of these types don't affect performance. These
comments are wrong, though the performance effect is small.
2022-08-01 08:53:04 +10:00
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
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