Commit graph

37135 commits

Author SHA1 Message Date
Shoyu Vanilla (Flint)
ffa9cfab3c
Merge pull request #20976 from A4-Tacks/comp-after-top-inner-attr
Fix not complete after inner-attr in source-file
2025-11-27 06:36:13 +00:00
Shoyu Vanilla (Flint)
f5a46ef424
Merge pull request #21028 from A4-Tacks/comp-pattern-alias
Fix not complete type alias in pattern
2025-11-27 06:06:53 +00:00
Shoyu Vanilla (Flint)
4b236c70ac
Merge pull request #20685 from A4-Tacks/enum-multi-gen-is-as
Add multiple generate for enum generate is, as, try_into
2025-11-27 06:05:55 +00:00
Laurențiu Nicola
3038a2a441
Merge pull request #21143 from rust-lang/rustc-pull
Some checks failed
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
publish-libs / publish (push) Has been cancelled
minor: sync from downstream
2025-11-27 05:34:29 +00:00
The rustc-josh-sync Cronjob Bot
8b2e56bca6 Merge ref '1be6b13be73d' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 1be6b13be73dc12e98e51b403add4c41a0b77759
Filtered ref: 53d2132341
Upstream diff: 6159a44067...1be6b13be7

This merge was created using https://github.com/rust-lang/josh-sync.
2025-11-27 04:08:49 +00:00
The rustc-josh-sync Cronjob Bot
4788e6b6f3 Prepare for merging from rust-lang/rust
This updates the rust-version file to 1be6b13be73dc12e98e51b403add4c41a0b77759.
2025-11-27 04:08:44 +00:00
bors
53d2132341 Auto merge of #149079 - zachs18:clone_from_ref, r=Mark-Simulacrum
Add `Box::clone_from_ref` and similar under `feature(clone_from_ref)`

Tracking issue: https://github.com/rust-lang/rust/issues/149075

Accepted ACP: https://github.com/rust-lang/libs-team/issues/483

This PR implements `clone_from_ref` (and `try_*` and `_*in` variants), to get a `Box<T>`, `Arc<T>`, or `Rc<T>` by cloning from a `&T` where `T: CloneToUninit`.

The "Implement..." commits replace some ad-hoc conversions with `clone_from_ref` variants, which can be split out to a separate PR if desired.

This PR will conflict with https://github.com/rust-lang/rust/pull/148769 due to usage of `Layout::dangling` (which that PR is renaming to `dangling_ptr`), so they should not be rolled up together, and the one which merges later will need to be amended.
2025-11-26 18:21:00 +00:00
Lukas Wirth
71ddf07c1c
Merge pull request #21139 from Veykril/push-wmxmrovmrrxx
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
internal: Gate spawning proc-macro-srv with --format on toolchain version
2025-11-26 16:43:06 +00:00
Lukas Wirth
0bc8802223 Gate spawning proc-macro-srv with --format on toolchain version 2025-11-26 17:30:45 +01:00
bors
de1d8aa4fe Auto merge of #149140 - oli-obk:more-encoder-minimization, r=jdonszelmann
More encoder minimizations

follow-up to https://github.com/rust-lang/rust/pull/149054
2025-11-26 11:57:29 +00:00
Lukas Wirth
3a0d3d5b51
Merge pull request #21135 from Shourya742/2025-11-26-default-json
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
fix: Fix proc-macro-srv protocol read implementation
2025-11-26 10:20:54 +00:00
Lukas Wirth
0f8057ccff
Merge pull request #21133 from Veykril/push-olvztmtwzmvv
fix: Do not try to connect via postcard to proc-macro-srv
2025-11-26 10:16:43 +00:00
Lukas Wirth
268df15ee2 Revert to spawning proc-macro-srv without format flag 2025-11-26 11:06:58 +01:00
bit-aloo
dc04aeac6e
return Some(T) and not T in read method Message trait 2025-11-26 14:56:46 +05:30
Lukas Wirth
157e09ecf1 fix: Do not try to connect via postcard to proc-macro-srv 2025-11-26 09:03:00 +01:00
Lukas Wirth
82bd7ddb5d minor: Rename proc-macro-srv protocol flags 2025-11-26 09:03:00 +01:00
Lukas Wirth
00e1a837b7
Merge pull request #21131 from Veykril/push-rxrmsylwoowm
completions: Fix completions disregarding snippet capabilities
2025-11-26 07:18:43 +00:00
Lukas Wirth
5d617f940b completions: Fix completions disregarding snippet capabilities 2025-11-26 08:01:52 +01:00
Laurențiu Nicola
e7f5604878
Merge pull request #21027 from ColinFinck/msvc-crt-static
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Build releases with static CRT for `-windows-msvc` targets.
2025-11-25 19:29:10 +00:00
Laurențiu Nicola
45ae0abfed
Merge pull request #21126 from A4-Tacks/arglist-nr-error-comma
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
fix: fix parameter info with missing arguments
2025-11-25 12:50:22 +00:00
Colin Finck
6ec862af6e
Build releases with static CRT for -windows-msvc targets.
This increases the binary size of `rust-analyzer.exe` from 42.4 MB to 42.6 MB.
Which should be acceptable for eliminating 7 DLL dependencies.
2025-11-25 13:48:01 +01:00
bors
6c4aa7def6 Auto merge of #149148 - davidtwco:v0-mangling-on-nightly-std, r=Kobzol
v0 mangling for std on nightly

Following rust-lang/rust#89917 and rust-lang/compiler-team#938, it doesn't make sense that `std` for these channels would have legacy mangling while the user's code would use `v0`.

r? `@Kobzol`
2025-11-25 10:25:47 +00:00
A4-Tacks
1d40867fc8
Fix invalid completion arg nr
Example
---
```rust
fn foo() { bar(, $0); }
fn bar(x: u32, y: i32) {}
```

**Before this PR**

```text
ty: u32, name: x
```

**After this PR**

```text
ty: i32, name: y
```
2025-11-25 16:13:59 +08:00
bors
4fda16a407 Auto merge of #149200 - yaahc:helper-compat-test, r=petrochenkov
Add test for derive helper compat collisions

Resolves https://github.com/rust-lang/reference/pull/2055#discussion_r2549423194

r? `@petrochenkov`
2025-11-25 05:53:58 +00:00
Chayim Refael Friedman
b5b4abac82
Merge pull request #21121 from Zalathar/derive-macro
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Basic support for declarative attribute/derive macros
2025-11-24 21:02:28 +00:00
bors
5bd6eaae02 Auto merge of #149276 - matthiaskrgr:rollup-wlrpdrr, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - rust-lang/rust#148234 (rustdoc: make mergeable crate info more usable)
 - rust-lang/rust#149201 (Add suggest alternatives for Out-of-range \x escapes)
 - rust-lang/rust#149208 ([rustdoc] Make more functions return `fmt::Result` and reduce number of `.unwrap()` calls)
 - rust-lang/rust#149252 (miri: use `tikv-jemalloc-sys` from sysroot)
 - rust-lang/rust#149255 (Use `let...else` consistently in user-facing diagnostics)
 - rust-lang/rust#149275 (Fix missing double-quote in `std::env::consts::OS` values)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-11-24 20:22:07 +00:00
Lukas Wirth
0e899d56e3
Merge pull request #20986 from Shourya742/2025-11-07-add-support-for-postcard
Integrate postcard support into proc-macro server CLI
2025-11-24 18:52:26 +00:00
Matthias Krüger
0d04d4ba31
Rollup merge of #148234 - notriddle:doc-cci, r=GuillaumeGomez
rustdoc: make mergeable crate info more usable

Part of https://github.com/rust-lang/rust/issues/130676

Adds documentation and a feature change aimed at making this usable without breaking backwards compat.

cc ``@EtomicBomb``
2025-11-24 19:10:43 +01:00
bors
11e29cbef6 Auto merge of #149265 - lnicola:sync-from-ra, r=lnicola
`rust-analyzer` subtree update

Subtree update of `rust-analyzer` to cf4b1faea3.

Created using https://github.com/rust-lang/josh-sync.

r? `@ghost`
2025-11-24 17:08:47 +00:00
bit-aloo
cae902c6e7
add codec and framing to abstract encoding and decoding logic from run 2025-11-24 21:44:13 +05:30
Chayim Refael Friedman
126f9508b8
Merge pull request #21123 from Natural-selection1/test
minor: add regression tests for add_missing_impl_members
2025-11-24 15:16:23 +00:00
Hegui Dai
610f0eece8 add regression tests for add_missing_impl_members 2025-11-24 22:38:23 +08:00
Chayim Refael Friedman
58b44ffa40
Merge pull request #20125 from nicolas-guichard/push-pypzwzspzznu
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Use inferred type in “extract type as type alias” assist and display inferred type placeholder `_` inlay hints
2025-11-24 12:41:21 +00:00
Laurențiu Nicola
ef944f193f Reformat python script 2025-11-24 13:07:39 +02:00
Nicolas Guichard
9500624e09 Show inlay hints for type placeholders
With the extra InferenceResult that maps type placeholders to their
inferred type, we can now easily display inlay hints for them.
2025-11-24 11:52:58 +01:00
Nicolas Guichard
ccc29b0d44 extract_type_alias assist extracts inferred type when possible
When met with types with placeholders, this ensures this assist
extracts the inferred type instead of the type with placeholders.

For instance, when met with this code:
```
fn main() {
    let vec: Vec<_> = vec![4];
}
```
selecting Vec<_> and extracting an alias will now yield `Vec<i32>`
instead of `Vec<_>`.
2025-11-24 11:52:58 +01:00
Nicolas Guichard
615ea0905d Use inferred type in SourceAnalyzer::type_of_type
This uses the new InferenceResult::type_of_type_placeholder data to
turn type references into completely resolved types instead of just
returning the lexical type.
2025-11-24 11:52:58 +01:00
Nicolas Guichard
1770900a7f Record inferred type for type placeholders
This adds a type_of_type_placeholder arena to InferenceResult to record
which type a given type placeholder gets inferred to.
2025-11-24 11:52:58 +01:00
Zalathar
fe1469ebd1 Basic support for declarative attribute/derive macros 2025-11-24 21:50:56 +11:00
Zalathar
ac46f2334f Inline macro sub-namespace lookup into sub_namespace_match 2025-11-24 21:24:21 +11:00
bit-aloo
c7435a9bdf
add review suggestions 2025-11-24 15:28:28 +05:30
bit-aloo
e344bfa7ea
add postcard abstraction inside Message trait 2025-11-24 15:28:28 +05:30
bit-aloo
f31214f96a
add postcard related methods to proc-macro-apo 2025-11-24 15:28:27 +05:30
bit-aloo
1dad405ebe
make postcard first class member of proc-macro-srv-cli 2025-11-24 15:28:14 +05:30
Lukas Wirth
cf4b1faea3
Merge pull request #21097 from Veykril/push-zpqupukpkrts
proc-macro-srv: Reimplement token trees via immutable trees
2025-11-24 09:09:16 +00:00
Lukas Wirth
9b767f3b98 Couple more tests 2025-11-24 09:59:07 +01:00
Chayim Refael Friedman
55ee7ec0b5
Merge pull request #21116 from xdBronch/push-okwnouotntqt
add deprecated semantic token for extern crate shorthand
2025-11-24 07:51:21 +00:00
Shoyu Vanilla (Flint)
9328757743
Merge pull request #20937 from A4-Tacks/duplicate-raw-const
Fix duplicate `const` complete after `raw`
2025-11-24 05:53:56 +00:00
A4-Tacks
6c75b7e828
Fix duplicate const complete after raw
Example
---
```rust
fn main() { let _ = &raw $0 }
```

**Before this PR**

```text
fn main() fn()
bt u32     u32
kw const
kw const
kw crate::
...
```

**After this PR**

```text
fn main() fn()
bt u32     u32
kw const
kw crate::
...
```
2025-11-24 10:18:01 +08:00
Shoyu Vanilla (Flint)
3f76561803
Merge pull request #20967 from A4-Tacks/replace-eager-lazy-and-then
Some checks are pending
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Fix not applicable on `and` for replace_method_eager_lazy
2025-11-24 01:49:11 +00:00