Lukas Wirth
f8f1cb93e0
fix: Implement Expactation::Castable and add a test case for it
2023-02-08 13:07:59 +01:00
joboet
6a5331146c
std: add tracking issue for RawOsError
2023-02-08 12:35:27 +01:00
bors
5341a6fa7f
Auto merge of #14103 - Veykril:typing-semi, r=Veykril
...
fix: Don't insert a semicolon when typing = if parse errors are encountered
Fixes https://github.com/rust-lang/rust-analyzer/issues/11005
2023-02-08 11:14:58 +00:00
Lukas Wirth
5e6208b1df
fix: Don't insert a semicolon when typing = if parse errors are encountered
2023-02-08 12:06:35 +01:00
bors
885c1ad578
Auto merge of #14102 - Veykril:bump-lexer, r=Veykril
...
minor: Bump `rustc-ap-rustc_lexer`
Closes https://github.com/rust-lang/rust-analyzer/issues/9554
2023-02-08 11:01:32 +00:00
Lukas Wirth
4788c7a056
Bump rustc-ap-rustc_lexer
2023-02-08 11:42:14 +01:00
bors
a00e24d76a
Auto merge of #107529 - Zoxc:inline-tweak-profile, r=cjgillot
...
Optimize query_cache_hit to reduce code size of the query hot path.
A small tweak which improves performance on check builds by 0.33% and reduces `rustc_driver` size by 1%.
<table><tr><td rowspan="2">Benchmark</td><td colspan="1"><b>Before</b></th><td colspan="2"><b>Before</b></th><td colspan="2"><b>After</b></th></tr><tr><td align="right">Time</td><td align="right">Time</td><td align="right">%</th><td align="right">Time</td><td align="right">%</th></tr><tr><td>🟣 <b>clap</b>:check</td><td align="right">1.7978s</td><td align="right">1.7980s</td><td align="right"> 0.01%</td><td align="right">1.7930s</td><td align="right"> -0.27%</td></tr><tr><td>🟣 <b>hyper</b>:check</td><td align="right">0.2594s</td><td align="right">0.2591s</td><td align="right"> -0.12%</td><td align="right">0.2592s</td><td align="right"> -0.09%</td></tr><tr><td>🟣 <b>syntex_syntax</b>:check</td><td align="right">6.2522s</td><td align="right">6.2540s</td><td align="right"> 0.03%</td><td align="right">6.2358s</td><td align="right"> -0.26%</td></tr><tr><td>🟣 <b>syn</b>:check</td><td align="right">1.5889s</td><td align="right">1.5880s</td><td align="right"> -0.05%</td><td align="right">1.5799s</td><td align="right"> -0.57%</td></tr><tr><td>🟣 <b>regex</b>:check</td><td align="right">0.9941s</td><td align="right">0.9939s</td><td align="right"> -0.02%</td><td align="right">0.9893s</td><td align="right"> -0.49%</td></tr><tr><td>Total</td><td align="right">10.8925s</td><td align="right">10.8930s</td><td align="right"> 0.01%</td><td align="right">10.8572s</td><td align="right"> -0.32%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9997s</td><td align="right"> -0.03%</td><td align="right">0.9967s</td><td align="right"> -0.33%</td></tr></table>
r? `@cjgillot`
2023-02-08 10:35:46 +00:00
bors
512a93ac94
Auto merge of #14100 - Veykril:load_cargo-proc-macro-srv-config, r=Veykril
...
Allow specifying what proc-macro server to run in rust_analyzer::load_cargo API
Closes https://github.com/rust-lang/rust-analyzer/issues/10516
2023-02-08 10:12:31 +00:00
Lukas Wirth
f03fb262f7
Allow specifying what proc-macro server to run in rust_analyzer::load_cargo API
2023-02-08 11:05:34 +01:00
bors
6effb26062
Auto merge of #14095 - dqkqd:master, r=Veykril
...
Add postfix completion for `unsafe`.
Fix #13779 .
Hi, this is my first PR. Please tell me if there is anything I should do.
2023-02-08 09:44:22 +00:00
bors
a05ce5a3e7
Auto merge of #13986 - MariaSolOs:limit-completions, r=Veykril
...
Add setting for limiting number of completions
For #13911 .
2023-02-08 09:31:35 +00:00
bors
3c89945e78
Auto merge of #14098 - pascalkuthe:did_change_workspace_folder, r=Veykril
...
Support DidChangeWorkspaceFolders notifications
This PR enables the `WorkspaceFoldersServerCapabilities` capability for rust-analyzer and implemented support for the associated [`DidChangeWorkspaceFolders`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_didChangeWorkspaceFolders ) notification to allow clients to update the list of `workspaceFolders` sent during initialization.
## Motivation
This allows clients which lazily autodiscover their workspace roots (like the [helix editor](https://github.com/helix-editor/helix ) once [my PR](https://github.com/helix-editor/helix/pull/5748 ) lands) avoid spawning multiple instances of RA. Right now such clients are forced to either:
* greedily discover all LSP roots in the workspace (precludes the ability to respond to new workspace roots)
* spawn multiple instance of rust-analyzer (one for each root)
* restart rust-analyzer whenever a new workspace is added
Some example use-cases are shown [here](https://github.com/helix-editor/helix/pull/5748#issuecomment-1421012523 ).
This PR will also improve support for VSCode (and Atom) multi workspaces.
## Implementation
The implementation was fairly straightforward as `rust-analyzer` already supports dynamically reloading workspaces, for example on configuration changes. Furthermore, rust-analyzer also already supports auto-discovering internal workspace from the `workspaceFolders` key in the initialization request. Therefore, the necessary logic just needed to be moved to a central place and reused.
2023-02-08 09:14:01 +00:00
bors
b7836e44d3
Auto merge of #14099 - Veykril:inlay-hint-loc, r=Veykril
...
Properly use location links for type hints of impl Future and its assoc type
2023-02-08 08:43:10 +00:00
John Kåre Alsaker
a0b96fdb50
Change arena_cache
to not alter the declared query result
2023-02-08 09:34:52 +01:00
Tharun Suresh
4259073e9a
x.py fails all downloads that use a tempdir with snap curl #107722
2023-02-08 13:37:15 +05:30
bors
3bb6ee5dce
Auto merge of #10295 - DesmondWillowbrook:diff-format-suspicious-to-owned, r=Jarcho
...
fix(suspicious_to_owned): use span_suggestions to suggest both intents
fixes #10294
changelog: [`suspicious_to_owned`]: suggestions now produce valid Rust code
2023-02-08 07:50:43 +00:00
bors
6eb9f2dd67
Auto merge of #107788 - matthiaskrgr:rollup-mw10sli, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- #107656 (Bump rust-installer)
- #107757 (Allow automatically creating vscode `settings.json` with `x setup`)
- #107769 (Rename `PointerSized` to `PointerLike`)
- #107770 (rustdoc: use a newline instead of `<br>` to format code headers)
- #107771 (Tweak ICE message)
- #107773 (Clearly signal purpose of the yaml template)
- #107776 (Docs: Fix format of headings in String::reserve)
- #107779 (Remove astconv usage in diagnostic)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2023-02-08 07:43:37 +00:00
Matthias Krüger
fe26182281
Rollup merge of #107779 - compiler-errors:issue-107775, r=jackh726
...
Remove astconv usage in diagnostic
Fixes #107775
Location of the test sucks, I know, but I needed to put it somewhere 😓
The issue here is that the root cause of the issue has nothing to do with what's being tested, so I couldn't really give it a better name. Oh well.
2023-02-08 07:13:29 +01:00
Matthias Krüger
5e467f5dfa
Rollup merge of #107776 - dbrgn:docs-string-reserve-headings, r=cuviper
...
Docs: Fix format of headings in String::reserve
It was inconsistent with other doc comments in the same module (and the rest of the rust std docs).
2023-02-08 07:13:28 +01:00
Matthias Krüger
a4a164cc45
Rollup merge of #107773 - Mark-Simulacrum:rename-auto-template, r=estebank
...
Clearly signal purpose of the yaml template
Following up on https://github.com/rust-lang/rust/pull/106898#issuecomment-1383238532
2023-02-08 07:13:28 +01:00
Matthias Krüger
31345cd70a
Rollup merge of #107771 - estebank:ice-msg, r=compiler-errors
...
Tweak ICE message
Modify main message to be more conversational and emit one fewer note.
2023-02-08 07:13:27 +01:00
Matthias Krüger
86cc4141f7
Rollup merge of #107770 - notriddle:notriddle/br2nl, r=GuillaumeGomez
...
rustdoc: use a newline instead of `<br>` to format code headers
Since these elements now use `white-space: pre-wrap` since #107615 , it's fine to use newlines for formatting, which is smaller and a bit less complicated.
2023-02-08 07:13:27 +01:00
Matthias Krüger
fabefe3f31
Rollup merge of #107769 - compiler-errors:pointer-like, r=eholk
...
Rename `PointerSized` to `PointerLike`
The old name was unnecessarily vague. This PR renames a nightly language feature that I added, so I don't think it needs any additional approval, though anyone can feel free to speak up if you dislike the rename.
It's still unsatisfying that we don't the user which of {size, alignment} is wrong, but this trait really is just a stepping stone for a more generalized mechanism to create `dyn*`, just meant for nightly testing, so I don't think it really deserves additional diagnostic machinery for now.
Fixes #107696 , cc ``@RalfJung``
r? ``@eholk``
2023-02-08 07:13:26 +01:00
Matthias Krüger
b16a321b25
Rollup merge of #107757 - clubby789:setup-settings-json, r=jyn514
...
Allow automatically creating vscode `settings.json` with `x setup`
Closes #107703
2023-02-08 07:13:26 +01:00
Matthias Krüger
00efb0cb96
Rollup merge of #107656 - jonhoo:bump-rust-installer, r=Mark-Simulacrum
...
Bump rust-installer
Makes generation of `manifest.in` deterministic:
https://github.com/rust-lang/rust-installer/pull/120
2023-02-08 07:13:26 +01:00
bors
7ba4e95368
Auto merge of #107778 - weihanglo:update-cargo, r=weihanglo
...
Update cargo
12 commits in e84a7928d93a31f284b497c214a2ece69b4d7719..82c3bb79e3a19a5164e33819ef81bfc2c984bc56 2023-01-31 22:18:09 +0000 to 2023-02-04 22:52:16 +0000
- util toml targets: Do not infer directory as a file (rust-lang/cargo#11678 )
- Add more guidance on how to implement unstable features (rust-lang/cargo#11675 )
- Fix unstable chapter layout for codegen-backend (rust-lang/cargo#11676 )
- refactor: mod.rs over "name".rs for consistency (rust-lang/cargo#11673 )
- Verify source before recompile (rust-lang/cargo#11672 )
- doc: more doc comments and intra-doc links (rust-lang/cargo#11669 )
- Turn off debuginfo for build dependencies v2 (rust-lang/cargo#11252 )
- config: Deny CARGO_HOME in [env] table (fixes rust-lang/cargo#11590 ) (rust-lang/cargo#11644 )
- Fix the wrong comment (rust-lang/cargo#11651 )
- Add partial support for SSH known hosts markers (rust-lang/cargo#11635 )
- Replace `winapi` with `windows-sys` crate. (rust-lang/cargo#11656 )
- Handle .cargo-ok being truncated (rust-lang/cargo#11665 )
r? `@ghost`
2023-02-08 04:04:58 +00:00
Maria José Solano
064fcfa016
Sort and truncate final response
2023-02-07 18:41:28 -08:00
kadmin
15d4728cda
Add de-init to destination place
2023-02-08 02:04:07 +00:00
bors
b082e80e20
Auto merge of #107688 - lukas-code:projection-with-lifetime, r=jackh726
...
ReErased regions are local
fix https://github.com/rust-lang/rust/issues/107678
fix https://github.com/rust-lang/rust/issues/107684
fix https://github.com/rust-lang/rust/issues/107686
fix https://github.com/rust-lang/rust/issues/107691
fix https://github.com/rust-lang/rust/issues/107730
2023-02-08 00:34:18 +00:00
Michael Goulet
03a8a4ff3e
Replacing bound vars is actually instantiating a binder
2023-02-07 23:13:54 +00:00
Michael Goulet
6fdfdea8b1
Remove astconv usage in diagnostic
2023-02-07 23:08:25 +00:00
Weihang Lo
6f38fd5509
Update cargo
...
12 commits in e84a7928d93a31f284b497c214a2ece69b4d7719..82c3bb79e3a19a5164e33819ef81bfc2c984bc56
2023-01-31 22:18:09 +0000 to 2023-02-04 22:52:16 +0000
- util toml targets: Do not infer directory as a file (rust-lang/cargo#11678 )
- Add more guidance on how to implement unstable features (rust-lang/cargo#11675 )
- Fix unstable chapter layout for codegen-backend (rust-lang/cargo#11676 )
- refactor: mod.rs over "name".rs for consistency (rust-lang/cargo#11673 )
- Verify source before recompile (rust-lang/cargo#11672 )
- doc: more doc comments and intra-doc links (rust-lang/cargo#11669 )
- Turn off debuginfo for build dependencies v2 (rust-lang/cargo#11252 )
- config: Deny CARGO_HOME in [env] table (fixes rust-lang/cargo#11590 ) (rust-lang/cargo#11644 )
- Fix the wrong comment (rust-lang/cargo#11651 )
- Add partial support for SSH known hosts markers (rust-lang/cargo#11635 )
- Replace `winapi` with `windows-sys` crate. (rust-lang/cargo#11656 )
- Handle .cargo-ok being truncated (rust-lang/cargo#11665 )
2023-02-07 22:26:44 +00:00
Lukas Wirth
2b4a5374ee
Properly use location links for type hints of impl Future and its assoc type
2023-02-07 22:42:03 +01:00
Pascal Kuthe
c7010eda1b
Support DidChangeWorkspaceFolders capability
2023-02-07 22:40:40 +01:00
Michael Goulet
7a4505900d
Add ~const bounds trait bounds when using derive_const
2023-02-07 21:00:12 +00:00
Michael Goulet
56bf28d4f4
Expand const-if-const trait bounds correctly
2023-02-07 21:00:12 +00:00
bors
3f059f6046
Auto merge of #107768 - matthiaskrgr:rollup-9u4cal4, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- #107719 (Remove `arena_cache` modifier from `upstream_monomorphizations_for`)
- #107740 (Avoid locking the global context across the `after_expansion` callback)
- #107746 (Split fn_ctxt/adjust_fulfillment_errors from fn_ctxt/checks)
- #107749 (allow quick-edit convenience)
- #107750 (make more readable)
- #107755 (remove binder from query constraints)
- #107756 (miri: fix ICE when running out of address space)
- #107764 (llvm-16: Use Triple.h from new header location.)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2023-02-07 20:58:20 +00:00
Danilo Bargen
4f36673e15
Docs: Fix format of headings in String::reserve
2023-02-07 21:32:28 +01:00
Mark Rousskov
8e2f57094f
Clearly signal purpose of the yaml template
2023-02-07 14:31:38 -05:00
Esteban Küber
a7597a1526
Tweak ICE message
...
Modify main message to be more conversational and emit one fewer note.
2023-02-07 19:17:24 +00:00
Michael Goulet
2b70cbb8a5
Rename PointerSized to PointerLike
2023-02-07 19:05:53 +00:00
Duong Quoc Khanh
2666e6eda8
Add test for LetElse
case.
...
Postfix completion is not triggered.
2023-02-08 04:04:10 +09:00
Duong Quoc Khanh
8535f2bb1b
Handle edge cases.
...
Handle case when BlockExpr is child of IfExpr, WhileExpr, LoopExpr,
ForExpr.
An additional { } will be added when:
- It is not a BlockExpr
- It is a BlockExpr and a child of IfExpr, WhileExpr, LoopExpr, ForExpr.
2023-02-08 03:37:20 +09:00
Michael Howell
8307fd7901
rustdoc: use a newline instead of <br>
to format code headers
...
Since these elements now use `white-space: pre-wrap` since
784665d4ce59c5239791f1f96fa2137e47ca1817, it's fine to use newlines
for formatting, which is smaller and a bit less complicated.
2023-02-07 11:23:25 -07:00
bors
7f1234492e
Auto merge of #14084 - Veykril:float-parse, r=Veykril
...
fix: Fix parsing of nested tuple field accesses in a cursed way
This is absolutely terrible but seems to work. Macro fragment parsing comes next.
2023-02-07 17:25:31 +00:00
bors
bd39bbb4bb
Auto merge of #107767 - matthiaskrgr:rollup-9m1qfso, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- #100599 (Add compiler error E0523 long description and test)
- #107471 (rustdoc: do not include empty default-settings tag in HTML)
- #107555 (Modify existing bounds if they exist)
- #107662 (Turn projections into copies in CopyProp.)
- #107695 (Add test for Future inflating arg size to 3x )
- #107700 (Run the tools builder on all PRs)
- #107706 (Mark 'atomic_mut_ptr' methods const)
- #107709 (Fix problem noticed in PR106859 with char -> u8 suggestion)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2023-02-07 17:19:47 +00:00
clubby789
eb18293cec
Allow automatically creating vscode settings.json
from bootstrap
2023-02-07 17:12:10 +00:00
bors
57ea9826b5
Auto merge of #13991 - vasilev-alex:add-braces-assist, r=Veykril
...
feat: add braces assist
This assist adds support for adding braces where it may be appropriate (e.g. lambda expressions)
![ex](https://user-images.githubusercontent.com/4973437/213783924-7c8a8ab5-6a52-4d80-837c-cf2a9b56f061.gif )
2023-02-07 17:12:01 +00:00
Lukas Wirth
a756c9ad08
Fixup comments
2023-02-07 18:08:05 +01:00
Matthias Krüger
232213dd77
Rollup merge of #107764 - maurer:llvm-16, r=cuviper
...
llvm-16: Use Triple.h from new header location.
LLVM 16 has moved Triple.h from ADT and into TargetParser.
LLVM [landed a commit](62c7f035b4
) this morning moving the header. This change should make rustc continue to build against LLVM main.
2023-02-07 17:57:18 +01:00