34869 Commits

Author SHA1 Message Date
Lukas Wirth
62bacfc37b fix: Fix manual not containing diagnostics documentation 2025-05-31 14:36:29 +02:00
Lukas Wirth
61f8a8b017
Merge pull request #19899 from SomeoneToIgnore/generate-actions
Account for `Generate` actions when filtering the allowed ones
2025-05-31 12:34:33 +00:00
Kirill Bulatov
4870b6b7c1 Account for Generate actions when filtering the allowed ones 2025-05-31 12:29:50 +03:00
bors
79a2af75f1 Auto merge of #141678 - Kobzol:revert-141516, r=workingjubilee
Revert "increase perf of charsearcher for single ascii characters"

This reverts commit 245bf503e2a948ac98170516d11df632e85a948b (PR https://github.com/rust-lang/rust/pull/141516).

It caused a large `doc` perf. regression in https://github.com/rust-lang/rust/pull/141605.
2025-05-31 08:11:06 +00:00
Lukas Wirth
cdd0ac27e3
Merge pull request #19898 from Veykril/push-ykumpuwmuvmu
refactor: Remove unncessary duplication in highlight_related
2025-05-31 05:35:49 +00:00
Lukas Wirth
9ee761904e refactor: Remove unncessary duplication in highlight_related 2025-05-31 07:25:03 +02:00
bors
24c859a875 Auto merge of #141667 - lqd:lazy-maybe-init, r=matthewjasper
Add fast path for maybe-initializedness in liveness

r? `@matthewjasper`

Correct me if I'm wrong Matthew, but my understanding is that
1. `MaybeInitializedPlaces` is currently eagerly computed, in `do_mir_borrowck`
2. but this data is only used in liveness
3. and `liveness::trace` actually only uses it for drop-liveness

This PR moves the computation to `liveness::trace` which looks to be its only use-site. We also add a fast path there, so that it's only computed by drop-liveness.

This is interesting because 1) liveness is only computed for relevant live locals, 2) drop-liveness is only computed for relevant live locals with >0 drop points; 0 is the common case from our benchmarks, as far as I can tell, so even just computing the entire data lazily helps.

It seems possible to also reduce the domain here, and speed up the analysis for the cases where it has to be computed -- so I've left a fixme for that, and may look into it soon.

(I've come upon this while doing implementation work for polonius, so don't be too enamored with possible wins: the goal is to reduce the eventual polonius overhead and make it more palatable 😓)
2025-05-31 04:52:37 +00:00
Arthur Baars
55328ba9b4 Update expected test output 2025-05-30 21:16:38 +00:00
Arthur Baars
a91b67e682 Run 'cargo codegen' to update tests 2025-05-30 21:05:12 +00:00
Arthur Baars
7f7079f2bf
Add test for closure_binder
Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
2025-05-30 22:58:13 +02:00
Arthur Baars
fb16d3b7f8
Produce ClosureBinder node in atom.rs 2025-05-30 22:38:31 +02:00
Lukas Wirth
987cd076e2
Merge pull request #19896 from Veykril/push-qyutrlxyznum
internal: Restructure some semantics APIs for virtual macro files
2025-05-30 20:15:15 +00:00
Lukas Wirth
38bf4b1fe1 internal: Restructure some semantics APIs for virtual macro files 2025-05-30 22:03:04 +02:00
bors
2e6a357330 Auto merge of #141657 - petrochenkov:nobinroot, r=jieyouxu
bootstrap: Remove `bin_root` from `PATH`

It's not currently load bearing in typical setups on typical targets.
Basically, if it passes the standard CI, then we can remove it, I think.

If someone later reports this breaking the build, then we can address it in a more fine grained way.
E.g. add it to `PATH` last and not first, only on specific targets, and only if specific files are not already found in `PATH` directories.

Fixes [#t-infra/bootstrap > Build broken in MSYS2 @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Build.20broken.20in.20MSYS2/near/520709527)
2025-05-30 18:56:37 +00:00
bors
8d9f1e3fde Auto merge of #139385 - joboet:threadlocal_address, r=nikic
rustc_codegen_llvm: use `threadlocal.address` intrinsic to access TLS

Fixes #136044
r? `@nikic`
2025-05-30 15:39:56 +00:00
Lukas Wirth
f0e39c77cc Add some more hir_expand::files conversions 2025-05-30 14:48:56 +02:00
bors
7dbe296eaf Auto merge of #141573 - nnethercote:rustdoc-alloc-cleanups, r=camelid
rustdoc: cleanups relating to allocations

These commits generally clean up the code a bit and also reduce allocation rates a bit.

r? `@camelid`
2025-05-30 08:55:18 +00:00
Lukas Wirth
e65dddaf59
Merge pull request #19861 from vremyavnikuda/docs/find-all-refs-constructor-search
docs: add documentation for find_all_refs constructor search
2025-05-30 06:45:28 +00:00
bors
139475be6d Auto merge of #141651 - compiler-errors:less-assert, r=lcnr
Make some assertions in solver into debug assertions

These may or may not be expensive :>

r? lcnr
2025-05-30 02:21:17 +00:00
bors
768ce719e3 Auto merge of #141490 - compiler-errors:bump-pgo, r=Kobzol
Bump rustc-perf and update PGO crates

Updates rustc-perf to rust-lang/rustc-perf@8158f78f73, and updates the crates.

r? `@Kobzol`
2025-05-29 19:42:49 +00:00
Lukas Wirth
6feb662a52
Merge pull request #19890 from Veykril/push-kzzntrpllsqx
fix: Fix import insertion not being fully cfg aware
2025-05-29 13:06:12 +00:00
Lukas Wirth
1f0052a496 fix: Fix import insertion not being fully cfg aware 2025-05-29 14:55:09 +02:00
bors
73c7293e0e Auto merge of #141595 - bjorn3:rustc_no_sysroot_proc_macro, r=onur-ozkan
Do not get proc_macro from the sysroot in rustc

With the stage0 refactor the proc_macro version found in the sysroot will no longer always match the proc_macro version that proc-macros get compiled with by the rustc executable that uses this proc_macro. This will cause problems as soon as the ABI of the bridge gets changed to implement new features or change the way existing features work.

To fix this, this commit changes rustc crates to depend directly on the local version of proc_macro which will also be used in the sysroot that rustc will build.
2025-05-29 12:07:53 +00:00
Lukas Wirth
cd413d0cac
Merge pull request #19888 from Veykril/push-wylsryzpnnop
fix: Recognize salsa cycles in `thread_result_to_response`
2025-05-29 07:10:03 +00:00
Lukas Wirth
07e4d5826f fix: Recognize salsa cycles in thread_result_to_response 2025-05-29 08:57:45 +02:00
bors
15ba5d5254 Auto merge of #141581 - lcnr:fold-clauses, r=compiler-errors
add additional `TypeFlags` fast paths

Some crates, e.g. `diesel`, have items with a lot of where-clauses (more than 150). In these cases checking the `TypeFlags` of the whole `param_env` can be very beneficial.

This adds `fn fold_clauses` to mirror the existing `fn visit_clauses` and then uses this in folders which fold `ParamEnv`s.

Split out from rust-lang/rust#141451, depends on rust-lang/rust#141442.

r? `@compiler-errors`
2025-05-29 02:29:01 +00:00
bors
18f6cf7091 Auto merge of #141693 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2025-05-28 23:05:24 +00:00
vremyavnikuda
b71e8fadf5 docs:deleting duplicate documentation 2025-05-28 22:17:29 +07:00
Lukas Wirth
ed608f592e
Merge pull request #19881 from Veykril/push-wsrmttkymyps
feat: Desugar assist for `let pat = expr?;` -> `let else`
2025-05-28 09:23:27 +00:00
Lukas Wirth
751ca9ec0d feat: Desugar assist for let pat = expr?; -> let else 2025-05-28 11:12:28 +02:00
Lukas Wirth
5900e25edc
Merge pull request #19880 from Veykril/push-xmpxumsrkymk
fix: Handle included files better in IDE layer
2025-05-28 08:49:42 +00:00
Lukas Wirth
26f4af0350
Merge pull request #19872 from ChayimFriedman2/async-fn-output
fix: Fix inference of `AsyncFnX` return type
2025-05-28 08:39:14 +00:00
Lukas Wirth
e72738de99 fix: Handle included files better in IDE layer
This does not fully fix things, but it introduces a function that can be used to fix occurences.
When using `to_def` functionality, the input node needs to come from the macro expanded include, not the real file that was included.
This does unfortunately add more caller burden, but there is not really a way around it.
2025-05-28 10:38:38 +02:00
Lukas Wirth
c44372d06c
Merge pull request #19876 from ShoyuVanilla/layout-padding
feat: Render padding information when hovering on structs
2025-05-28 08:16:38 +00:00
Lukas Wirth
a420ef2b17
Merge pull request #19879 from Veykril/push-mqykxnqtktuw
fix: Fix IDE layer not resolving some macro calls
2025-05-28 05:20:02 +00:00
Shoyu Vanilla
e806957098 feat: Render padding information when hovering on structs 2025-05-28 14:18:50 +09:00
Lukas Wirth
6440fe2a01 Back out "Fix IDE resolution of item macros"
This backs out commit 3e0ab7219a5464999652beca22698cd46e1e48e8.
2025-05-28 07:09:21 +02:00
Lukas Wirth
5b28e9022e Drop unnecessay code 2025-05-28 07:05:55 +02:00
Lukas Wirth
bbbcfaab8b fix: Fix IDE layer not resolving some macro calls 2025-05-28 06:58:40 +02:00
Lukas Wirth
93182f4670
Merge pull request #19877 from tgross35/remove-concat-idents
chore: Remove support for `concat_idents!`
2025-05-28 04:17:42 +00:00
Trevor Gross
e6e5e3cc41 chore: Remove support for concat_idents!
`concat_idents!` was deprecated in [1] and will be removed in the near
future. rust-analyzer's support is independent of rustc's, so drop RA
support now to make syncing easier.

[1]: https://github.com/rust-lang/rust/pull/137653
2025-05-28 03:59:32 +00:00
Chayim Refael Friedman
4f7af13637
Merge pull request #19875 from ShoyuVanilla/issue-19844
fix: Skip pattern analysis on type mismatches
2025-05-27 23:38:38 +00:00
Shoyu Vanilla
8682c1b9b4 fix: Skip pattern analysis on type mismatches 2025-05-28 08:11:14 +09:00
Chayim Refael Friedman
7230ded9c7
Merge pull request #19850 from regexident/dyn-semantics
Add support for type-erased `Semantics<'db, dyn HirDatabase>`, by use of `DB: ?Sized`
2025-05-27 13:50:27 +00:00
Vincent Esche
a01fe887c6 Make Semantics<'db, DB> support Semantics<'db, dyn HirDatabase>, by use of DB: ?Sized 2025-05-27 10:43:28 +02:00
Chayim Refael Friedman
2a7f18bbda Fix inference of AsyncFnX return type 2025-05-27 06:44:50 +03:00
Chayim Refael Friedman
7fa66d67a7
Merge pull request #19862 from ChayimFriedman2/item-resolve-macro-hir
fix: Fix IDE resolution of item macros
2025-05-26 21:34:18 +00:00
vremyavnikuda
a2b58e216d fix: formated to clippy 2025-05-26 16:41:49 +07:00
vremyavnikuda
8dd930390b fix: the lines are formatted according to clippy 2025-05-26 16:00:45 +07:00
vremyavnikuda
0902094d01 fix: the lines are formatted according to clippy 2025-05-26 15:51:50 +07:00