Commit Graph

24716 Commits

Author SHA1 Message Date
bors
fc8c5139fa Auto merge of #14410 - Veykril:query-lru-capacities, r=Veykril
internal: Add config to specifiy lru capacities for all queries

Might help figuring out what queries should be limited by LRU by default, as currently we only limit `parse`, `parse_macro_expansion` and `macro_expand`.
2023-03-30 12:20:24 +00:00
Lukas Wirth
cb546390da fix: Recover from pub() visibility modifier 2023-03-30 13:42:15 +02:00
Lukas Wirth
fc840dbb2d internal: Don't expose InferenceTable outside of hir-ty 2023-03-30 13:27:10 +02:00
Lukas Wirth
5616d91b73 internal: Add config to specifiy lru capacities for all queries 2023-03-30 12:52:28 +02:00
Lukas Wirth
33b6012827 Introduce StructFlags 2023-03-30 12:49:08 +02:00
bors
b915eb32fa Auto merge of #14427 - davidbarsky:davidbarsky/allow-subsequent-workspaces-to-have-proc-macros, r=Veykril
fix: allow new, subsequent `rust-project.json`-based workspaces to get proc macro expansion

As detailed in https://github.com/rust-lang/rust-analyzer/issues/14417#issuecomment-1485336174, `rust-project.json` workspaces added after the initial `rust-project.json`-based workspace was already indexed by rust-analyzer would not receive procedural macro expansion despite `config.expand_proc_macros` returning true. To fix this issue:
1. I changed `reload.rs` to check which workspaces are newly added.
2. Spawned new procedural macro expansion servers based on the _new_ workspaces.
    1. This is to prevent spawning duplicate procedural macro expansion servers for already existing workspaces. While the overall memory usage of duplicate procedural macro servers is minimal, this is more about the _principle_ of not leaking processes 😅.
3. Launched procedural macro expansion if any workspaces are `rust-project.json`-based _or_ `same_workspaces` is true. `same_workspaces` being true (and reachable) indicates that that build scripts have finished building (in Cargo-based projects), while the build scripts in `rust-project.json`-based projects have _already been built_ by the build system that produced the `rust-project.json`.

I couldn't really think of structuring this code in a better way without engaging with https://github.com/rust-lang/rust-analyzer/issues/7444.
2023-03-30 07:50:27 +00:00
bors
ef7756cb9e Auto merge of #14441 - Veykril:simplify, r=Veykril
minor: Simplify
2023-03-30 07:36:57 +00:00
Lukas Wirth
251b3a47af Simplify 2023-03-30 09:21:10 +02:00
Rungsikorn Rungsikavarnich
fb9a1dd87e Missing runnable env on debug target
Fix bug in Rust Analyzer where runnable debugging did not pass
environment variable from configuration to child process of Cargo
on binary build stage
2023-03-30 15:39:49 +09:00
bors
17e31b7d3b Auto merge of #14440 - Veykril:deref-fix, r=Veykril
fix: Handle box and raw pointers correctly in builtin_deref
2023-03-29 19:39:02 +00:00
Lukas Wirth
e797479651 fix: Handle box and raw pointers correctly in builtin_deref 2023-03-29 21:38:32 +02:00
David Barsky
25c59b8e92 address PR comments 2023-03-29 15:29:32 -04:00
bors
5351c21b7e Auto merge of #14435 - Veykril:index-adjustments, r=Veykril
fix: Add missing autoborrow adjustment for index expressions
2023-03-29 17:36:33 +00:00
Lukas Wirth
f1f64e92d7 Fix mutability_error::overloaded_index test 2023-03-29 18:07:25 +02:00
Ryo Yoshida
6447d485e3
Normalize type anchor type before resolving the rest of value paths 2023-03-29 23:37:01 +09:00
Ryo Yoshida
8aef04f1a7
Resolve and normalize path segments one by one in variant resolution 2023-03-29 23:32:37 +09:00
Lukas Wirth
798990bf33 fix: Add missing autoborrow adjustment for index expressions 2023-03-29 16:11:48 +02:00
hecatia-elegua
ba2b48d1b8 Fix3 2023-03-29 14:58:33 +02:00
bors
a486f34048 Auto merge of #14434 - Veykril:ty-tail-norm, r=Veykril
fix: Use struct_tail_without_normalization in Expectation::rvalue_hint
2023-03-29 12:49:24 +00:00
Lukas Wirth
bea1c71f83 Use struct_tail_without_normalization in Expectation::rvalue_hint 2023-03-29 14:49:06 +02:00
hecatia-elegua
53afac72d2 Fix2 2023-03-29 14:34:06 +02:00
hecatia-elegua
c351f6bf43 Fix 2023-03-29 14:27:20 +02:00
hecatia-elegua
0863389dd1 Add doc-alias based completion 2023-03-29 14:08:25 +02:00
Lukas Wirth
0522503f14 Thread global symbol interner through as if it was a local 2023-03-29 11:42:08 +02:00
Lukas Wirth
c4582f6d18 Fix visibilities 2023-03-29 11:32:36 +02:00
Lukas Wirth
afe52d270d Run proc-macro-srv tests on rust-lang/rust-analyzer 2023-03-29 11:20:57 +02:00
Lukas Wirth
7498ec730e Drop support for non-syroot proc macro ABIs 2023-03-29 10:57:32 +02:00
bors
7a98e24777 Auto merge of #14431 - Veykril:simplify, r=Veykril
minor: Simplify
2023-03-29 07:28:42 +00:00
bors
0d1ed56bb3 Auto merge of #14430 - Veykril:canonicalize-project-manifest, r=Veykril
fix: Canonicalize rust-project.json manifest path

Looked a bit more into this and I think we can do this after all, I don't see any place where this should break things
cc https://github.com/rust-lang/rust-analyzer/pull/14168 https://github.com/rust-lang/rust-analyzer/pull/14402#issuecomment-1487257246
2023-03-29 07:11:02 +00:00
Lukas Wirth
8ea1afce28 Simplify 2023-03-28 16:32:26 +02:00
David Barsky
e5bfd7ef0a it, uh, turns out that we should be spawning for new servers. oops. 2023-03-28 09:56:01 -04:00
David Barsky
6a42d7f627 fix: allow new, subsequent rust-project.json-based workspaces to get
proc macro expansion.
2023-03-28 09:17:16 -04:00
bors
e7337fc9c3 Auto merge of #14426 - HKalbasi:master, r=HKalbasi
fix stack overflow in `is_ty_uninhabited_from`

fix #14421
2023-03-28 12:52:18 +00:00
hkalbasi
d0d4245a74 use FxHashSet instead of FxHashMap 2023-03-28 15:59:16 +03:30
hkalbasi
d5c7ec499a fix stack overflow in is_ty_uninhabited_from 2023-03-28 15:45:35 +03:30
bors
a375ad668c Auto merge of #14425 - Eclips4:fix_typo, r=Veykril
Fix typo
2023-03-28 09:34:53 +00:00
Eclips4
0a2a50a663 Fix typo 2023-03-28 12:32:51 +03:00
bors
5bba438c9c Auto merge of #14366 - Veykril:linked-proj, r=Veykril
feat: Pop a notification prompting the user to add a Cargo.toml of unlinked file to the linkedProjects

cc https://github.com/rust-lang/rust-analyzer/issues/13226 https://github.com/rust-lang/rust-analyzer/issues/9661
2023-03-28 07:05:43 +00:00
bors
f73510560f Auto merge of #14424 - Veykril:local-trait-impls, r=Veykril
fix: Properly handle local trait impls

Before we only handled trait impls that came from the block of either the trait or the target type, we now handle them correctly by tracking the block we are currently inferring from, then walking that up to collect all block trait impls.
2023-03-28 06:36:35 +00:00
Lukas Wirth
342fd2b9f3 fix: Properly handle local trait impls 2023-03-28 08:34:29 +02:00
bors
a869ca3c29 Auto merge of #14422 - garlicbreadcleric:rustdoc-hashes-escaping, r=HKalbasi
fix(rustdoc): don't escape double hashes outside of Rust code blocks

Fixes #14376
2023-03-27 23:10:51 +00:00
Daniil Kolesnichenko
be17eab08b fix(rustdoc): don't escape double hashes outside of Rust code blocks
Fixes #14376
2023-03-28 05:32:59 +07:00
Lukas Wirth
f1de133820 Canonicalize rust-project.json manifest path 2023-03-27 21:55:02 +02:00
bors
284c1741d6 Auto merge of #14419 - Veykril:proc-ids, r=Veykril
fix: Fix proc-macro paths using incorrect CrateId's for `rust-project.json` workspaces
2023-03-27 15:17:47 +00:00
Lukas Wirth
b03a218b57 fix: Fix proc-macro paths using incorrect CrateId's for rust-project.json workspaces 2023-03-27 17:17:09 +02:00
Lukas Wirth
c04a13cb19 Simplify 2023-03-27 17:16:45 +02:00
DropDemBits
369f4774dd
fix: Move cursor before generated generic 2023-03-26 18:10:41 -04:00
DropDemBits
762eacef74
factor out adding a snippet 2023-03-26 18:08:10 -04:00
DropDemBits
a284a0c7cd
internal: Introduce Structured Snippet API 2023-03-26 17:46:56 -04:00
bors
b99d5eb973 Auto merge of #14415 - davidbarsky:davidbarsky/fix-unrenamed-reload-proc-macros-command, r=Veykril
finish renaming `rust-analyzer/reloadProcMacros` to `rust-analyzer/rebuildProcMacros`

I was trying out #14409, but noticed that actually _running_ that command resulted in VS Code raising an error. This allows me to successfully run `rust-analyzer/rebuildProcMacros`.
2023-03-26 19:24:09 +00:00