Commit graph

278742 commits

Author SHA1 Message Date
Chayim Refael Friedman
3ca106683e
Merge pull request #19004 from teoxoy/patch-1
increase `AUTODEREF_RECURSION_LIMIT` to 20
2025-01-22 21:36:12 +00:00
Teodor Tanasoaia
2eef052f04
increase AUTODEREF_RECURSION_LIMIT to 20
The limit was introduced in https://github.com/rust-lang/rust-analyzer/pull/1408#discussion_r294059044 to avoid infinite cycles but it effectively caps the number of derefs to 10. Types like `ID3D12Device14` from the `windows` crate run into this because it derefs to `ID3D12Device13`, 13 to 12 and so on. Increasing it to 20 is a quick fix; a better cycle detection method would be nicer long term.
2025-01-22 22:21:02 +01:00
Laurențiu Nicola
fa272edebb
Merge pull request #18878 from Wilfred/document_build_info
manual: Document all rust-project.json fields
2025-01-22 06:27:41 +00:00
Wilfred Hughes
98582b23ab manual: Document all rust-project.json fields
Ensure that all the fields that rust-analyzer understands are in the
manual, they all have doc comments, and they use consistent
punctuation (`;` rather than mixing `,` and `;`).

Whilst we're here, fix the `sysroot_src` example and add 2024 as a
legal value for Rust edition.
2025-01-21 12:00:13 -08:00
Chayim Refael Friedman
a238ab88f1
Merge pull request #18988 from ChayimFriedman2/iter-relevance
fix: Sort completion items that skip `await` and  `iter()` behind those that don't
2025-01-21 09:58:19 +00:00
Chayim Refael Friedman
feb3fb5f19 Sort completion items that skip await and iter() behind those that don't
I don't think my ranking is perfect, because it places them even behind snippet completions, but this is something.
2025-01-21 11:44:38 +02:00
Lukas Wirth
4308352b42
Merge pull request #18986 from Veykril/push-zlwvwlowpzqm
Goto `Display::fmt` when invoked on `to_string`
2025-01-21 09:25:05 +00:00
Lukas Wirth
4b716bbb4c
Merge pull request #18990 from Veykril/push-tqonnqxyrnsv
internal: Cleanup `Name` string rendering
2025-01-21 09:24:42 +00:00
Lukas Wirth
54d1d318d3 Cleanup Name string rendering 2025-01-21 10:05:32 +01:00
Lukas Wirth
0870bfbfc7
Merge pull request #18977 from ChayimFriedman2/fix-upmapping
fix: Fix missing upmapping in trait impls completion
2025-01-21 07:41:22 +00:00
Lukas Wirth
6291e1d611
Merge pull request #18989 from Giga-Bowser/syntax-tree-refresh
fix: Only refresh syntax tree view when the active document changes
2025-01-21 07:23:22 +00:00
Chayim Refael Friedman
f98e971520 Fix another bug with completion of trait items inside macros
This time, when completing the keyword (e.g. `fn` + whitespace).

The bug was actually a double-bug:
First, we did not resolve the impl in the macro-expanded file but in the real file, which of course cannot work.
Second, in analysis the whitespace was correlated with the `impl` and not the incomplete `fn`, which caused fake (where we insert an identifier after the whitespace) and real expansions to go out of sync, which failed analysis. The fix is to skip whitespaces in analysis.
2025-01-20 21:21:42 +02:00
Giga Bowser
1d5af89654 fix: Only refresh syntax tree view when the active document changes 2025-01-20 14:05:19 -05:00
Lukas Wirth
e9b410d29c Goto Display::fmt when invoked on to_string 2025-01-20 17:00:28 +01:00
Lukas Wirth
ea3897b35a
Merge pull request #18984 from Veykril/push-nszlmxoxyxss
internal: Move dual blanket impl logic from source analyzer to goto_def
2025-01-20 15:47:43 +00:00
Lukas Wirth
4bc683dfd2 Bring back goto def redirect for parse -> FromStr 2025-01-20 16:32:17 +01:00
Lukas Wirth
48d17b4181 Move dual blanket impl logic from source analyzer to goto_def 2025-01-20 16:24:42 +01:00
Lukas Wirth
1eb9d15e42
Merge pull request #18967 from Veykril/push-pwonkmwqmmol
Properly record meaningful imports as re-exports in symbol index
2025-01-20 13:46:52 +00:00
Lukas Wirth
fe034eddc2
Merge pull request #18934 from 1hakusai1/goto_definition_from_into
feat: Add the ability to jump from `into` to `from` definitions
2025-01-20 13:46:47 +00:00
Lukas Wirth
5770977d72
Merge pull request #18982 from Veykril/push-lstmvzsowxyt
Extract variable assist triggers less eagerly
2025-01-20 13:45:26 +00:00
Lukas Wirth
2233c31531
Merge pull request #18972 from osiewicz/drop-outgoing-messages-on-background-thread
lsp-server: Drop outgoing messages on background thread
2025-01-20 13:39:29 +00:00
Lukas Wirth
64d4181a3c
Merge pull request #18976 from ChayimFriedman2/non-module-generic-args
fix: Fix a bug where enum variants were not considered properly in type ns resolution
2025-01-20 13:35:03 +00:00
Lukas Wirth
4193abc3fe Fix import search not discarding rawness 2025-01-20 14:29:11 +01:00
Lukas Wirth
7ddeabaa74 Less allocs 2025-01-20 14:29:11 +01:00
Lukas Wirth
dbf7ccc889 Preserve impl assoc names in ImplData 2025-01-20 14:29:11 +01:00
Lukas Wirth
70e93ed898 Vec -> Box<[_]> 2025-01-20 14:29:11 +01:00
Lukas Wirth
241fd2ff4d Properly record meaningful imports as re-exports in symbol index 2025-01-20 14:29:11 +01:00
1hakusai1
f7096db910 Add a test case 2025-01-20 21:22:58 +09:00
1hakusai1
55aee5470b Use Semantics::resolve_method_call_as_callable to find implementation 2025-01-20 21:17:48 +09:00
Laurențiu Nicola
618b913663
Merge pull request #18981 from Fabian-Gruenbichler/proc-macro-srv-portability
proc-macro-srv: make usage of RTLD_DEEPBIND portable
2025-01-20 09:35:11 +00:00
Laurențiu Nicola
141e53b715
Merge pull request #18980 from lnicola/sync-from-rust
minor: Sync from downstream
2025-01-20 09:29:00 +00:00
Fabian Grünbichler
5f4f6fb961 proc-macro-srv: make usage of RTLD_DEEPBIND portable
the constant is wrong on some platforms (e.g., on mips64el it's 0x10, and 0x8
is RTLD_NOLOAD which makes all this functionality broken), the libc crate takes
care of those differences for us.

fallback to not setting the flag in non-glibc environments - some of them might
have support for it using a different value that we don't know about, and some
of them lack it entirely.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-01-20 10:19:24 +01:00
Laurențiu Nicola
3af5c080e6 Bump rustc crates 2025-01-20 11:12:56 +02:00
Laurențiu Nicola
4cf9f491aa Merge from rust-lang/rust 2025-01-20 11:09:36 +02:00
Laurențiu Nicola
b81474b722 Preparing for merge from rust-lang/rust 2025-01-20 11:09:18 +02:00
bors
9a1d156f38 Auto merge of #135742 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2025-01-19 20:46:10 +00:00
Ralf Jung
49375c48f7
Merge pull request #4141 from rust-lang/rustup-2025-01-19
Automatic Rustup
2025-01-19 17:32:20 +00:00
Ralf Jung
544695506c fix location of pipe module 2025-01-19 10:05:51 -07:00
bors
39dc268459 Auto merge of #135714 - rust-lang:cargo_update, r=clubby789
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 13 packages to latest compatible versions
    Updating anstyle-wincon v3.0.6 -> v3.0.7
    Updating bitflags v2.7.0 -> v2.8.0
    Updating chrono-tz v0.10.0 -> v0.10.1
    Updating js-sys v0.3.76 -> v0.3.77
    Updating log v0.4.22 -> v0.4.25
    Updating miniz_oxide v0.8.2 -> v0.8.3
    Updating uuid v1.11.1 -> v1.12.0
    Updating valuable v0.1.0 -> v0.1.1
    Updating wasm-bindgen v0.2.99 -> v0.2.100
    Updating wasm-bindgen-backend v0.2.99 -> v0.2.100
    Updating wasm-bindgen-macro v0.2.99 -> v0.2.100
    Updating wasm-bindgen-macro-support v0.2.99 -> v0.2.100
    Updating wasm-bindgen-shared v0.2.99 -> v0.2.100
note: pass `--verbose` to see 41 unchanged dependencies behind latest

library dependencies:
     Locking 1 package to latest compatible version
    Updating miniz_oxide v0.8.2 -> v0.8.3
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 12 packages to latest compatible versions
    Updating anstyle-wincon v3.0.6 -> v3.0.7
    Updating bitflags v2.7.0 -> v2.8.0
    Updating cc v1.2.8 -> v1.2.10
    Updating js-sys v0.3.76 -> v0.3.77
    Updating log v0.4.22 -> v0.4.25
    Updating miniz_oxide v0.8.2 -> v0.8.3
      Adding rustversion v1.0.19
    Updating wasm-bindgen v0.2.99 -> v0.2.100
    Updating wasm-bindgen-backend v0.2.99 -> v0.2.100
    Updating wasm-bindgen-macro v0.2.99 -> v0.2.100
    Updating wasm-bindgen-macro-support v0.2.99 -> v0.2.100
    Updating wasm-bindgen-shared v0.2.99 -> v0.2.100
```
2025-01-19 14:19:27 +00:00
bors
af952c1abe Auto merge of #135725 - GuillaumeGomez:rollup-dxn3use, r=GuillaumeGomez
Rollup of 5 pull requests

Successful merges:

 - #134858 (Provide structured suggestion for `#![feature(..)]` in more cases)
 - #135679 (create an issue template for bootstrap)
 - #135685 (Remove unused `item-row` CSS class)
 - #135716 (Don't skip argument parsing when running `rustc` with no arguments)
 - #135723 (Fix dev guide docs for error-pattern)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-19 11:38:05 +00:00
Guillaume Gomez
78d9a52a1d
Rollup merge of #135723 - Noratrieb:error-pattern-my-a-, r=jieyouxu
Fix dev guide docs for error-pattern

I know it would have made more sense to make this PR to the dev guide repo but I had already made the fix before I realized that.

r? `@jieyouxu`
2025-01-19 11:48:17 +01:00
Guillaume Gomez
dcc71c0637
Rollup merge of #135716 - Zalathar:usage-no-args, r=lqd
Don't skip argument parsing when running `rustc` with no arguments

Setting up the argument parser to parse no arguments is a tiny bit of wasted work, but avoids an otherwise-unnecessary special case, in a scenario (printing a help message and quitting) where perf at this scale really doesn't matter anyway.

In particular, this lets us avoid having to deal with multiple different APIs to determine whether the compiler is nightly or not.

---

This special-case handling for rustc with no arguments is very very old (long predating 1.0), and used to be much simpler, without any need to set up boolean values to handle various conditional cases. So I don't think it was ever explicitly decided that having this special case was worth the extra complexity; it just started out simple and accumulated complexity over time.
2025-01-19 11:48:17 +01:00
Guillaume Gomez
dde62f9be5
Rollup merge of #135685 - GuillaumeGomez:rm-unused-css-class, r=notriddle
Remove unused `item-row` CSS class

Seems like a CSS class we forgot to remove at some point.

r? `@notriddle`
2025-01-19 11:48:16 +01:00
Guillaume Gomez
857bc5be87
Rollup merge of #135679 - onur-ozkan:bootstrap-issue-template, r=jieyouxu
create an issue template for bootstrap

Resolves #135593

cc `@rust-lang/bootstrap`
2025-01-19 11:48:15 +01:00
Guillaume Gomez
4842ff4a85
Rollup merge of #134858 - estebank:issue-81370, r=Noratrieb
Provide structured suggestion for `#![feature(..)]` in more cases

Fix #81370.
2025-01-19 11:48:15 +01:00
Guillaume Gomez
20443dbe1b Remove unused item-row CSS class 2025-01-19 11:47:32 +01:00
Chayim Refael Friedman
8b25ab0c5a Fix missing upmapping in trait impls completion 2025-01-19 12:47:19 +02:00
Noratrieb
f1b83fe5d9 Fix dev guide docs for error-pattern
I know it would have made more sense to make this PR to the dev guide
repo but I had already made the fix before I realized that.
2025-01-19 11:36:41 +01:00
onur-ozkan
59d7213bae create an issue template for bootstrap
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-19 13:06:27 +03:00
bors
678e669cc4 Auto merge of #134976 - mgsloan:improve-select-nth-unstable-docs, r=ibraheemdev
Improve `select_nth_unstable` documentation clarity

* Instead uses `before` and `after` variable names in the example
where `greater` and `lesser` are flipped.

* Uses `<=` and `>=` instead of "less than or equal to" and "greater
than or equal to" to make the docs more concise.

* General attempt to remove unnecessary words and be more precise. For
example it seems slightly wrong to say "its final sorted position",
since this implies there is only one sorted position for this element.
2025-01-19 08:50:12 +00:00