Commit graph

32028 commits

Author SHA1 Message Date
Lukas Wirth
3741b863a6 Do not render meta info when hovering usages 2024-10-29 15:34:17 +01:00
Lukas Wirth
80e9d014be
Merge pull request #18074 from ChayimFriedman2/typeref-source-map
internal: Build source map for `hir_def::TypeRef`s
2024-10-28 11:01:12 +00:00
Laurențiu Nicola
ae86e6a229
Merge pull request #18256 from MoskalykA/use-is_none_or
Start using `Option::is_none_or`
2024-10-28 10:12:36 +00:00
Laurențiu Nicola
d481decd06
Merge pull request #18412 from lnicola/windows-no-gz
internal: Stop producing .gz artifacts for Windows
2024-10-28 10:11:29 +00:00
Lukas Wirth
3b3a87fe9b
Merge pull request #18419 from ChayimFriedman2/leading-or
fix: Put leading `|` in patterns under `OrPat`
2024-10-27 11:25:16 +00:00
Chayim Refael Friedman
e12a001b55 Put leading | in patterns under OrPat
Previously it was one level above, and that caused problems with macros that expand to it, because macros expect to get only one top-level node.
2024-10-27 13:11:38 +02:00
Lukas Wirth
715b67c425
Merge pull request #18410 from Veykril/veykril/push-lvwxpnowqrxk
internal: Invert token iteration order in macro mapping
2024-10-27 10:44:32 +00:00
Lukas Wirth
20ac30fb75 Invert token iteration order in macro mapping 2024-10-27 11:32:12 +01:00
Lukas Wirth
79b86f25b4
Merge pull request #18418 from ChayimFriedman2/explicitly-disable
feat: Split `macro-error` diagnostic so users can ignore only parts of it
2024-10-27 09:37:56 +00:00
Lukas Wirth
8d10e248c8
Merge pull request #18417 from ChayimFriedman2/hash-string
fix: Correctly handle `#""` in edition <2024
2024-10-27 09:28:47 +00:00
Chayim Refael Friedman
f4585ea023 Split macro-error diagnostic so users can ignore only parts of it
Split it into `macro-error`, `proc-macros-disabled` and `proc-macro-disabled`.
2024-10-27 02:24:15 +02:00
Chayim Refael Friedman
3b3beaab31 Correctly handle #"" in edition <2024 2024-10-27 00:47:13 +03:00
Laurențiu Nicola
cce06862a2 Bump MSRV to 1.82 2024-10-26 09:39:23 +03:00
MoskalykA
feba680c39 Use method syntax 2024-10-26 09:39:04 +03:00
MoskalykA
41fa877362 Start using Option::is_none_or 2024-10-26 09:39:04 +03:00
Laurențiu Nicola
26d2fbaef2
Merge pull request #18415 from lnicola/nicer-remove-dbg
fix: Turn "Remove `dbg!`" into a quick fix for better prioritization
2024-10-26 06:21:26 +00:00
Laurențiu Nicola
4e3c331d86 Turn Remove dbg into a quick fix for better prioritization 2024-10-26 09:06:10 +03:00
Laurențiu Nicola
47cb838b2c Stop producing .gz artifacts for Windows 2024-10-25 15:14:52 +03:00
Lukas Wirth
ca3699bd50 Factor out token ranking 2024-10-25 12:03:12 +02:00
Lukas Wirth
f4466718b8
Merge pull request #18409 from Veykril/veykril/push-rkrkpvzvumvx
Only construct a resolver in macro descension when needed
2024-10-25 08:40:55 +00:00
Lukas Wirth
a12f1781eb Only construct a resolver in macro descension when needed 2024-10-25 10:23:59 +02:00
Lukas Wirth
52a03ec237
Merge pull request #18408 from Veykril/veykril/push-ulxyznwzokut
fix: Don't compute diagnostics for non local files
2024-10-25 05:55:32 +00:00
Lukas Wirth
8eef1c5275 Add server cancellation support to pull diagnostic handler 2024-10-25 07:39:28 +02:00
Lukas Wirth
eac7840810 Don't compute diagnostics for non local files 2024-10-25 07:28:29 +02:00
Lukas Wirth
169d4469bd
Merge pull request #18407 from hackervole/code-fix-welcome-setup-tips
Fix formatting on welcome page, read only paths setting example
2024-10-25 05:15:39 +00:00
Chayim Refael Friedman
bf7edd3783 Shrink TypeRef from 16 from 32 bytes
Only references and arrays need to be boxed, and they comprise only 9.4% of the types (according to counting on r-a's code).

This saves 17mb.
2024-10-25 06:44:56 +03:00
Chayim Refael Friedman
061e5d7f71 Shrink Path to 16 bytes
Thanks to the observation (supported by counting) that the vast majority paths have neither generics no type anchors, and thanks to a new datastructure `ThinVecWithHeader` that is essentially `(T, Box<[U]>)` but with the size of a single pointer, we are able to reach this feat.

This (together with `ThinVecWithHeader`) makes the possibility to shrink `TypeRef`, because most types are paths.
2024-10-25 06:44:56 +03:00
HackerVole
d2e856ccc4 editors/code: Add md for walkthrough setup example
Add a separate markdown file containing the settings.json snippet from
the "Useful Setup Tips". This fixes the rendering and also makes the
text selectable.

Also use double-backticks for `code` rendering.
2024-10-24 23:20:40 -04:00
Chayim Refael Friedman
bccf0062b7 Do not allocate attributes entry if there are no attributes
This saves 8mb.
2024-10-25 06:15:06 +03:00
Chayim Refael Friedman
d0933cc097 Shrink ItemTreeSourceMaps
This saves 16mb on `analysis-stats .`.
2024-10-25 06:15:06 +03:00
Chayim Refael Friedman
39747cb518 Reuse empty GenericParams
This saves back 15mb that went for typeref source maps.
2024-10-25 06:15:06 +03:00
Chayim Refael Friedman
1fae57fa55 Fix memory usage calculation's queries list 2024-10-25 06:15:06 +03:00
Chayim Refael Friedman
89c0ffa6b0 Build source map for hir_def::TypeRefs
So that given a `TypeRef` we will be able to trace it back to source code.

This is necessary to be able to provide diagnostics for lowering to chalk tys, since the input to that is `TypeRef`.

This means that `TypeRef`s now have an identity, which means storing them in arena and not interning them, which is an unfortunate (but necessary) loss but also a pretty massive change. Luckily, because of the separation layer we have for IDE and HIR, this change never crosses the IDE boundary.
2024-10-25 06:15:04 +03:00
Laurențiu Nicola
6a67a4d3cd
Merge pull request #18405 from lnicola/fix-changelog
internal: Update changelog generation for merge queues
2024-10-24 17:54:25 +00:00
Laurențiu Nicola
333952f623 Update changelog generation for merge queues 2024-10-24 20:40:57 +03:00
Lukas Wirth
58e9871038
Merge pull request #18404 from Veykril/veykril/push-swpmkoqqxrvu
feat: Implement diagnostics pull model
2024-10-24 15:22:49 +00:00
Lukas Wirth
8b59541237 feat: Implement diagnostics pull model 2024-10-24 17:09:43 +02:00
Lukas Wirth
6005446327
Merge pull request #18402 from Veykril/veykril/push-wrvtystlszlr
internal: Improve proc-macro error msg for failed build scripts
2024-10-24 12:01:29 +00:00
Lukas Wirth
fc4586e3b6
Merge pull request #18401 from Veykril/veykril/push-ulpowvsymyys
minor: Remove intermediate allocations
2024-10-24 11:48:27 +00:00
Lukas Wirth
e4a6efb9e0 internal: Improve proc-macro error msg for failed build scripts 2024-10-24 13:45:11 +02:00
Lukas Wirth
98935325ca minor: Remove intermediate allocations 2024-10-24 13:34:32 +02:00
Lukas Wirth
c212423912
Merge pull request #18399 from Veykril/veykril/push-nnsoxqrwqkmv
Fix diagnostic enable config being ignored
2024-10-24 10:01:22 +00:00
Lukas Wirth
7d0196c35f Fix diagnostic enable config being ignored 2024-10-24 11:47:12 +02:00
Lukas Wirth
b12fead6da
Merge pull request #18390 from ShoyuVanilla/issue-18308
fix: Prevent public re-export of private item
2024-10-24 09:25:06 +00:00
Laurențiu Nicola
16785c8e13
Merge pull request #18396 from lnicola/hide-default-config
internal: Hide `Config::default_config`
2024-10-24 07:22:45 +00:00
Laurențiu Nicola
0d3d8910a0 Bump smol_str 2024-10-24 10:08:31 +03:00
Laurențiu Nicola
bf26f58720 Hide default config in Debug impl 2024-10-24 10:07:54 +03:00
Lukas Wirth
6342667ce1
Merge pull request #18395 from Wilfred/missing_cfg_for_core
fix: Add missing cfg flags for `core` crate
2024-10-24 06:14:17 +00:00
Lukas Wirth
3f6b0fae83
Merge pull request #18394 from Wilfred/pretty_print_status
internal: Pretty-print Config in status command
2024-10-24 06:12:19 +00:00
Wilfred Hughes
3e51d145c3 fix: Add missing cfg flags for core crate
Some types in `core` are conditionally compiled based on
`target_has_atomic` or `target_has_atomic_load_store` without an
argument, for example `AtomicU64`.

This is less noticeable in Cargo projects, where rust-analyzer adds
the output `RUSTC_BOOTSTRAP=1 cargo rustc --print cfg` so it gets the
full set of cfg flags.

This fixes go-to-definition on `std::sync::atomic::AtomicU64` in
non-cargo projects.
2024-10-23 16:43:08 -07:00