34905 Commits

Author SHA1 Message Date
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
vremyavnikuda
82edbbcd2a docs: add documentation for find_all_refs constructor search (#10725) 2025-05-26 15:51:50 +07:00
Lukas Wirth
f98b6220c4
Merge pull request #19792 from A4-Tacks/fix-generate-mut-trait-impl-indent
fix: ide-assists, generate mut trait impl indent
2025-05-26 08:29:22 +00:00
Lukas Wirth
acab393c4a
Merge pull request #19819 from Veykril/push-utvzwvwuuvlm
Change import prefix default to be by crate
2025-05-26 08:28:16 +00:00
Lukas Wirth
e0451c4b8a
Merge pull request #19785 from A4-Tacks/fix-generate-new-indent
fixes: ide-assists, generate_new indent loses
2025-05-26 07:24:41 +00:00
Lukas Wirth
d146d3bc90
Merge pull request #19851 from ChayimFriedman2/normalize-exhaustiveness
fix: Normalize when checking for uninhabited types for pattern exhaustiveness checking
2025-05-26 07:19:12 +00:00
Lukas Wirth
de4b7b642b
Merge pull request #19864 from ChayimFriedman2/is-in-macro
fix: Properly implement `might_be_inside_macro_call()` using semantic information instead of syntactical hacks
2025-05-26 05:21:01 +00:00
bors
73c6f1d0c7 Auto merge of #138489 - tmiasko:call-tmps-lifetime, r=workingjubilee
Describe lifetime of call argument temporaries passed indirectly

Fixes #132014.
2025-05-26 01:16:52 +00:00
Chayim Refael Friedman
87529e8631 Properly implement might_be_inside_macro_call() using semantic information instead of syntactical hacks
And rename it to `is_inside_macro_call()` accordingly.
2025-05-25 20:15:58 +03:00
Chayim Refael Friedman
3e0ab7219a Fix IDE resolution of item macros
It wasn't inside the source, because there was no source map.
2025-05-25 17:20:20 +03:00
bors
86349e79a1 Auto merge of #141086 - a1phyr:spec_advance_by, r=jhpratt
Implement `advance_by` via `try_fold` for `Sized` iterators

When `try_fold` is overriden, it is usually easier for compilers to optimize.

Example difference: https://iter.godbolt.org/z/z8cEfnKro
2025-05-25 11:34:43 +00:00
bors
dcbbc5e4c5 Auto merge of #141372 - khuey:ir_call_dbg_loc, r=jieyouxu
Use the fn_span when emitting function calls for better debug info.

This especially improves the developer experience for long chains of function calls that span multiple lines, which is common with builder patterns, chains of iterator/future combinators, etc.

try-job: armhf-gnu
try-job: test-various
try-job: x86_64-msvc-1
try-job: arm-android

r? `@jieyouxu`
2025-05-24 17:48:21 +00:00
bors
93c200ae97 Auto merge of #141062 - ChaiTRex:ide_fmt_2024, r=Mark-Simulacrum
Update IDEs to use rustfmt 2024, fix Zed settings

Update IDEs to use rustfmt 2024, fix Zed settings

- Update IDE `rust-analyzer` settings to use 2024 rather than 2021.
- Fix Zed settings by removing `${workspaceFolder}/` from paths.
2025-05-23 11:15:24 +00:00
Lukas Wirth
d2f17873ff
Merge pull request #19853 from Veykril/push-ovpvzkxmpsuk
Bump salsa
2025-05-26
2025-05-23 11:08:19 +00:00
Lukas Wirth
cbff4ae151 Bump salsa 2025-05-23 12:58:00 +02:00