<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/tools/rust-analyzer/docs/dev, branch 1.83.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.83.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.83.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-11-25T21:32:54+00:00</updated>
<entry>
<title>Revert "Fix the test"</title>
<updated>2024-11-25T21:32:54+00:00</updated>
<author>
<name>Kirill Bulatov</name>
<email>mail4score@gmail.com</email>
</author>
<published>2024-11-25T21:32:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fac56d731a767204a46ee8d2047da579b546be24'/>
<id>urn:sha1:fac56d731a767204a46ee8d2047da579b546be24</id>
<content type='text'>
This reverts commit b24723a5c74ab4881539bb97c7608c147f07c25e.
</content>
</entry>
<entry>
<title>Revert "Update the file hash"</title>
<updated>2024-11-25T21:29:55+00:00</updated>
<author>
<name>Kirill Bulatov</name>
<email>mail4score@gmail.com</email>
</author>
<published>2024-11-25T21:29:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=60c4250430b34b75ca2cfd43ccb04aa1d657dbde'/>
<id>urn:sha1:60c4250430b34b75ca2cfd43ccb04aa1d657dbde</id>
<content type='text'>
This reverts commit f0db79f31ada049bf490c8f27be7443f45460f09.
</content>
</entry>
<entry>
<title>Update the file hash</title>
<updated>2024-11-13T07:19:26+00:00</updated>
<author>
<name>Kirill Bulatov</name>
<email>mail4score@gmail.com</email>
</author>
<published>2024-11-11T15:06:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f0db79f31ada049bf490c8f27be7443f45460f09'/>
<id>urn:sha1:f0db79f31ada049bf490c8f27be7443f45460f09</id>
<content type='text'>
</content>
</entry>
<entry>
<title>internal: add JSON formatting for hprof</title>
<updated>2024-10-04T15:26:15+00:00</updated>
<author>
<name>David Barsky</name>
<email>me@davidbarsky.com</email>
</author>
<published>2024-09-30T21:04:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a5a4d1a95bbf4980275501c78246c10af0311c5e'/>
<id>urn:sha1:a5a4d1a95bbf4980275501c78246c10af0311c5e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #18167 - SomeoneToIgnore:fat-completions, r=Veykril</title>
<updated>2024-09-30T08:36:54+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-09-30T08:36:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4800a0eef7547674b96c8462846aac4fb655c1d8'/>
<id>urn:sha1:4800a0eef7547674b96c8462846aac4fb655c1d8</id>
<content type='text'>
internal: Send less data during `textDocument/completion` if possible

Similar to https://github.com/rust-lang/rust-analyzer/pull/15522, stops sending extra data during `textDocument/completion` if that data was set in the client completions resolve capabilities, and sends those only during `completionItem/resolve` requests.
Currently, rust-analyzer sends back all fields (including potentially huge docs) for every completion item which might get large.

Same as the other one, this PR aims to keep the changes minimal and does not remove extra computations for such fields — instead, it just filters them out before sending to the client.

The PR omits primitive, boolean and integer, types such as `deprecated`, `preselect`, `insertTextFormat`, `insertTextMode`, etc.  AND `additionalTextEdits` — this one looks very dangerous to compute for each completion item (as the spec says we ought to if there's no corresponding resolve capabilities provided) due to the diff computations and the fact that this code had been in the resolution for some time.
It would be good to resolve this lazily too, please let me know if it's ok to do.

When tested with Zed which only defines `documentation` and `additionalTextEdits` in its client completion resolve capabilities, rust-analyzer starts to send almost 3 times less characters:

Request:
```json
{"jsonrpc":"2.0","id":104,"method":"textDocument/completion","params":{"textDocument":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/ide/src/inlay_hints.rs"},"position":{"line":90,"character":14},"context":{"triggerKind":1}}}
```

&lt;img width="1338" alt="image" src="https://github.com/user-attachments/assets/104f19b5-7095-4fc1-b008-5d829623b2e2"&gt;

Before: 381944 characters
[before.json](https://github.com/user-attachments/files/17092385/before.json)

After: 140503 characters
[after.json](https://github.com/user-attachments/files/17092386/after.json)

After Zed's [patch](https://github.com/zed-industries/zed/pull/18212) to enable all resolving possible: 84452 characters
[after-after.json](https://github.com/user-attachments/files/17092755/after-after.json)
</content>
</entry>
<entry>
<title>Rename object_safety to dyn_compatibility</title>
<updated>2024-09-29T11:26:45+00:00</updated>
<author>
<name>Noah Bright</name>
<email>noah.bright.1@gmail.com</email>
</author>
<published>2024-09-28T11:01:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7b757b3e17ee950e29beb391c77e1dfebdd19d23'/>
<id>urn:sha1:7b757b3e17ee950e29beb391c77e1dfebdd19d23</id>
<content type='text'>
Up to a trait implemented by another package, linking to
$CARGO_HOME/registry/cache/index.crates.io-6f17d22bba15001f/
</content>
</entry>
<entry>
<title>Update handlers.rs to handlers/requests.rs</title>
<updated>2024-09-28T10:17:22+00:00</updated>
<author>
<name>Noah Bright</name>
<email>noah.bright.1@gmail.com</email>
</author>
<published>2024-09-28T10:17:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=99b26382d8adbf89991d0248091a38d193fa4bbc'/>
<id>urn:sha1:99b26382d8adbf89991d0248091a38d193fa4bbc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix the test</title>
<updated>2024-09-23T02:51:38+00:00</updated>
<author>
<name>Kirill Bulatov</name>
<email>mail4score@gmail.com</email>
</author>
<published>2024-09-23T02:51:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b24723a5c74ab4881539bb97c7608c147f07c25e'/>
<id>urn:sha1:b24723a5c74ab4881539bb97c7608c147f07c25e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Better testing infra for ratoml</title>
<updated>2024-09-08T21:40:38+00:00</updated>
<author>
<name>Ali Bektas</name>
<email>bektasali@protonmail.com</email>
</author>
<published>2024-09-01T20:07:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=81227a309c63a6f721bf5552b0579e53790064f3'/>
<id>urn:sha1:81227a309c63a6f721bf5552b0579e53790064f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve inlay hint resolution reliability</title>
<updated>2024-08-30T13:57:52+00:00</updated>
<author>
<name>Lukas Wirth</name>
<email>lukastw97@gmail.com</email>
</author>
<published>2024-08-30T13:45:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=be33a2e1bd21dbb7d2a75ef949137e48d93e985e'/>
<id>urn:sha1:be33a2e1bd21dbb7d2a75ef949137e48d93e985e</id>
<content type='text'>
</content>
</entry>
</feed>
