7619: Add #[track_caller] to assist tests r=matklad a=yoshuawuyts
This points the source of a failed assertion to the code which called it, rather than the location within the assertion helper method. While working on https://github.com/rust-analyzer/rust-analyzer/pull/7617 I had trouble locating some failing tests, and it was only by adding these attributes during development that I was able to locate them.
This is only applied to test helpers, which means it comes at no runtime cost. And even then: I didn't experience any noticeable performance with this enabled or disabled. Mostly just a more pleasant experience debugging test failures (:
Co-authored-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
7597: Set remote branch on xtask promote r=matklad a=lnicola
to hopefully fix this:
```
$ git switch master
Already on 'master'
Your branch is up to date with 'upstream/master'.
$ git fetch upstream
$ git reset --hard upstream/master
HEAD is now at 921ec4b3fc Auto merge of #81313 - LeSeulArtichaut:revert-32558, r=jyn514
$ git submodule update --recursive
Submodule path 'src/tools/rust-analyzer': checked out '1a59f75cdaa730c16a694a4294eccf6dfe6fe0ad'
$ git switch -c rust-analyzer-2021-02-08
Switched to a new branch 'rust-analyzer-2021-02-08'
$ git fetch origin
$ git reset --hard origin/release
HEAD is now at 336909b63 Merge #7587
$ git add src/tools/rust-analyzer
$ git commit "-m⬆️ rust-analyzer"
[rust-analyzer-2021-02-08 1774ec1a68] ⬆️ rust-analyzer
1 file changed, 1 insertion(+), 1 deletion(-)
$ git push
fatal: The current branch rust-analyzer-2021-02-08 has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin rust-analyzer-2021-02-08
Error: command `git push` failed, exit code: 128
```
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
7595: Add `config: &CargoConfig` parameter to `fn load_cargo(…)` r=matklad a=regexident
For projects using rust-analyzer as a library it is desirable to be able to provide a custom-config to `fn load_cargo(…)` to pass features, etc, rather than having to copy & paste `fn load_cargo(…)` into one's project and maintain a fork of it and keep it in sync with upstream.
Co-authored-by: Vincent Esche <regexident@gmail.com>
7549: Documentation: Explain how initial configuration is sent over LSP and document vim-lsp r=ilya-bobyr a=ilya-bobyr
This request contains two related but independent changes.
The first explains `rust-analyzer` initial configuration over LSP.
The second - adds documentation on `vim-lsp` Vim plugin and provides an example of the initial configuration for `rust-analyzer` when using this particular LSP client.
Let me know if you would prefer the changes to be reviewed in two separate pull requests.
Co-authored-by: Ilya Bobyr <ilya.bobyr@gmail.com>
`vim-lsp` is another popular LSP client for Vim. And, as there is no
`rust-analyzer` specific UI, it is non-trivial to figure out how the
initial configuration is performed.