]>
git.lizzy.rs Git - rust.git/log
Lukas Wirth [Thu, 14 Jul 2022 20:56:56 +0000 (22:56 +0200)]
fix: Fix imports being inserted before doc comments in inline modules
bors [Thu, 14 Jul 2022 11:53:29 +0000 (11:53 +0000)]
Auto merge of #12735 - feniljain:fix-completions, r=feniljain
fix(completion): `super::` completion at crate root and module depth aware
- should close #12439
- Suggest super according to the depth in tree
feniljain [Sun, 10 Jul 2022 08:38:49 +0000 (14:08 +0530)]
fix(completion): `super::` completion at crate root and module depth
aware
bors [Wed, 13 Jul 2022 12:00:16 +0000 (12:00 +0000)]
Auto merge of #12755 - Veykril:server-version, r=lnicola
fix: Set server binary version when distributing
Lukas Wirth [Wed, 13 Jul 2022 11:34:04 +0000 (13:34 +0200)]
fix: Set server binary version when distributing
bors [Wed, 13 Jul 2022 11:29:12 +0000 (11:29 +0000)]
Auto merge of #12754 - Veykril:vscode-status, r=Veykril
fix: Fix VSCode status bar tooltip not showing the error messages
Lukas Wirth [Wed, 13 Jul 2022 11:16:35 +0000 (13:16 +0200)]
fix: Fix VSCode status bar tooltip not showing the error messages
bors [Wed, 13 Jul 2022 09:57:51 +0000 (09:57 +0000)]
Auto merge of #12696 - hi-rustin:rustin-patch-fix, r=Veykril
Add str_ref_to_string fix
close https://github.com/rust-lang/rust-analyzer/issues/11383
When type mismatch is `&str` -> `String` try to fix it.
bors [Wed, 13 Jul 2022 09:46:26 +0000 (09:46 +0000)]
Auto merge of #12742 - TonalidadeHidrica:fix-obsolete-config-keys, r=Veykril
Fix obsolete config keys
The config keys were drastically reorganized by #12010, but the docs don't reflect the updates, causing inconsistency and confusion. I checked for such obsolete configuration keys and updated to the new one. For reproducibility, I attach a small shell script that I used to examine the old keys. Now the script only detects `cargoExtraArgs` and `overrideCargo`, which originates from other type definition in the code but not from the configuration.
<details><summary>script</summary>
```bash
echo "allowMergingIntoGlobImports
exprFillDefault
importEnforceGranularity
importGranularity
importMergeBehavior
importMergeBehaviour
importGroup
importPrefix
warmup
loadOutDirsFromCheck
runBuildScripts
runBuildScriptsCommand
useRustcWrapperForBuildScripts
enableExperimental
procAttrMacros
breakPoints
exitPoints
yieldPoints
linksInHover
linksInHover
gotoTypeDef
chainingHints
closureReturnTypeHints
hideNamedConstructorHints
parameterHints
reborrowHints
typeHints
lruCapacity
cargoExtraArgs
overrideCargo
rustcSource
enableRangeFormatting
assist\.allowMergingIntoGlobImports
assist\.exprFillDefault
assist\.importEnforceGranularity
assist\.importGranularity
assist\.importMergeBehavior
assist\.importMergeBehaviour
assist\.importGroup
assist\.importPrefix
primeCaches\.enable
cache\.warmup
cargo\.loadOutDirsFromCheck
cargo\.runBuildScripts
cargo\.runBuildScriptsCommand
cargo\.useRustcWrapperForBuildScripts
completion\.snippets
diagnostics\.enableExperimental
experimental\.procAttrMacros
highlighting\.strings
highlightRelated\.breakPoints
highlightRelated\.exitPoints
highlightRelated\.yieldPoints
highlightRelated\.references
hover\.documentation
hover\.linksInHover
hoverActions\.linksInHover
hoverActions\.debug
hoverActions\.enable
hoverActions\.gotoTypeDef
hoverActions\.implementations
hoverActions\.references
hoverActions\.run
inlayHints\.chainingHints
inlayHints\.closureReturnTypeHints
inlayHints\.hideNamedConstructorHints
inlayHints\.parameterHints
inlayHints\.reborrowHints
inlayHints\.typeHints
lruCapacity
runnables\.cargoExtraArgs
runnables\.overrideCargo
rustcSource
rustfmt\.enableRangeFormatting
allFeatures
addCallArgumentSnippets
addCallParenthesis
callInfo\.full
cargo\.allFeatures
checkOnSave\.allFeatures
completion\.addCallArgumentSnippets
completion\.addCallParenthesis" | while read -r pattern
do
rg '\b'$pattern'\b([^.]|$)' . -g "!crates/rust-analyzer/src/config/patch_old_style.rs" -g "!editors/code/src/config.ts" -g "!a.sh" --no-heading --color=always --line-number
done
exit
excluded
# debug
# enable
# run
# implementations
# references
# documentation
# references
# snippets
# strings
# full
```
</details>
bors [Tue, 12 Jul 2022 13:29:25 +0000 (13:29 +0000)]
Auto merge of #12747 - jonas-schievink:proc-macro-abi-1.63, r=jonas-schievink
fix: Update 1.63 proc macro ABI to match rustc
This updates us to the ABI used by rustc 1.63.0-beta.5, which will likely be the ABI of the next stable Rust release. It should also work on nightly (for now, but future changes won't be supported until the rustc version is bumped).
cc https://github.com/rust-lang/rust-analyzer/issues/12600
Jonas Schievink [Tue, 12 Jul 2022 13:13:04 +0000 (15:13 +0200)]
Update 1.63 proc macro ABI to match rustc
bors [Mon, 11 Jul 2022 16:34:49 +0000 (16:34 +0000)]
Auto merge of #12745 - jonas-schievink:metavar-exprs, r=jonas-schievink
feat: Implement `ignore` and `index` metavar expression
Part of https://github.com/rust-lang/rust-analyzer/issues/11952
Fixes https://github.com/rust-lang/rust-analyzer/issues/12675
Jonas Schievink [Mon, 11 Jul 2022 16:31:42 +0000 (18:31 +0200)]
Implement `ignore` and `index` metavar expression
bors [Mon, 11 Jul 2022 13:51:20 +0000 (13:51 +0000)]
Auto merge of #12744 - hi-rustin:rustin-patch-typos, r=lnicola
Fix typos
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
hi-rustin [Mon, 11 Jul 2022 13:42:05 +0000 (21:42 +0800)]
Fix typos
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
TonalidadeHidrica [Mon, 11 Jul 2022 08:00:40 +0000 (17:00 +0900)]
Fix obsolete `completion.snippets` config
TonalidadeHidrica [Mon, 11 Jul 2022 07:52:35 +0000 (16:52 +0900)]
Fix obsolete `enableRangeFormatting` config
TonalidadeHidrica [Mon, 11 Jul 2022 07:50:20 +0000 (16:50 +0900)]
Fix `rustcSource` -> `rustc_source`
This only fixes the comments in the internal source,
which is not mandatory at all
TonalidadeHidrica [Mon, 11 Jul 2022 07:37:46 +0000 (16:37 +0900)]
Fix obsolete `diagnostics.experimental.enable`
TonalidadeHidrica [Mon, 11 Jul 2022 07:36:36 +0000 (16:36 +0900)]
Fix obsolete `loadOutDirsFromCheck` configs
TonalidadeHidrica [Mon, 11 Jul 2022 06:42:49 +0000 (15:42 +0900)]
Fix config keys regarding imports in docs
bors [Sat, 9 Jul 2022 20:26:32 +0000 (20:26 +0000)]
Auto merge of #12732 - lnicola:bump-npm, r=lnicola
Bump npm deps
Laurențiu Nicola [Sat, 9 Jul 2022 20:20:06 +0000 (23:20 +0300)]
Bump transitive npm deps
Laurențiu Nicola [Sat, 9 Jul 2022 20:17:56 +0000 (23:17 +0300)]
Bump @vscode/test-electron
Laurențiu Nicola [Sat, 9 Jul 2022 20:17:12 +0000 (23:17 +0300)]
Bump @types/node to 16
Laurențiu Nicola [Sat, 9 Jul 2022 20:14:17 +0000 (23:14 +0300)]
Bump typescript and tslib
Laurențiu Nicola [Sat, 9 Jul 2022 20:10:39 +0000 (23:10 +0300)]
Bump prettier
Laurențiu Nicola [Sat, 9 Jul 2022 20:10:07 +0000 (23:10 +0300)]
Bump @typescript-eslint
Laurențiu Nicola [Sat, 9 Jul 2022 20:08:59 +0000 (23:08 +0300)]
Bump vsce
Laurențiu Nicola [Sat, 9 Jul 2022 20:07:31 +0000 (23:07 +0300)]
Bump eslint
Laurențiu Nicola [Sat, 9 Jul 2022 20:06:45 +0000 (23:06 +0300)]
Bump esbuild
Laurențiu Nicola [Sat, 9 Jul 2022 20:06:06 +0000 (23:06 +0300)]
Bump d3 and d3-graphviz
Laurențiu Nicola [Sat, 9 Jul 2022 20:04:14 +0000 (23:04 +0300)]
Bump vscode-languageclient
bors [Sat, 9 Jul 2022 13:08:57 +0000 (13:08 +0000)]
Auto merge of #12727 - DorianListens:dscheidt/extract-var-field-name, r=jonas-schievink
fix: Improve suggested names for extracted variables
When extracting a field expression, if RA was unable to resolve the type of the
field, we would previously fall back to using "var_name" as the variable name.
Now, when the `Expr` being extracted matches a `FieldExpr`, we can use the
`NameRef`'s ident token as a fallback option.
fixes #10035
hi-rustin [Sat, 9 Jul 2022 03:39:38 +0000 (11:39 +0800)]
Fix test
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
Dorian Scheidt [Fri, 8 Jul 2022 23:01:44 +0000 (18:01 -0500)]
fix: Improve suggested names for extracted variables
When extracting a field expression, if RA was unable to resolve the type of the
field, we would previously fall back to using "var_name" as the variable name.
Now, when the `Expr` being extracted matches a `FieldExpr`, we can use the
`NameRef`'s ident token as a fallback option.
fixes #10035
bors [Fri, 8 Jul 2022 15:02:02 +0000 (15:02 +0000)]
Auto merge of #12706 - DorianListens:dscheidt/closure-args, r=DorianListens
fix: Extract Function misses locals used in closures
This change fixes #12705.
In `FunctionBody::analyze`, we need to search any `ClosureExpr`s we encounter
for any `NameRef`s, to ensure they aren't missed.
Dorian Scheidt [Wed, 6 Jul 2022 23:25:05 +0000 (18:25 -0500)]
fix: Extract Function misses locals used in closures
This change fixes #12705.
In `FunctionBody::analyze`, we need to search any `ClosureExpr`s we encounter
for any `NameRef`s, to ensure they aren't missed.
bors [Fri, 8 Jul 2022 14:10:19 +0000 (14:10 +0000)]
Auto merge of #12719 - davidlattimore:format-args-no-unsafe, r=jonas-schievink
Remove unnecessary unsafe from format_args expansion
bors [Fri, 8 Jul 2022 14:01:36 +0000 (14:01 +0000)]
Auto merge of #12676 - DorianListens:dscheidt/extract-fun-trait-impl, r=jonas-schievink
fix: Extract function from trait impl
This change fixes #10036, "Extract to function assist implements nonexistent
trait methods".
When we detect that the extraction is coming from within a trait impl, and that
a `self` param will be necessary, we adjust which `SyntaxNode` to `insert_after`,
and create a new empty `impl` block for the newly extracted function.
bors [Fri, 8 Jul 2022 13:50:20 +0000 (13:50 +0000)]
Auto merge of #12722 - jonas-schievink:update-urls, r=jonas-schievink
internal: Update remaining GitHub URLs
The old links still work, but it seems less confusing to have them point to the right repo
Jonas Schievink [Fri, 8 Jul 2022 13:44:49 +0000 (15:44 +0200)]
Update remaining GitHub URLs
bors [Fri, 8 Jul 2022 05:16:43 +0000 (05:16 +0000)]
Auto merge of #12716 - davidlattimore:fix-publish-crate-names, r=lnicola
publish workflow: Fix names for existing crates
Attempting to publish for example ra_ap_text-edit when ra_ap_text_edit
has already been published is rejected by crates.io.
David Lattimore [Fri, 8 Jul 2022 04:56:18 +0000 (14:56 +1000)]
Remove unnecessary unsafe from format_args expansion
David Lattimore [Fri, 8 Jul 2022 02:58:13 +0000 (12:58 +1000)]
publish workflow: Fix names for existing crates
Attempting to publish for example ra_ap_text-edit when ra_ap_text_edit
has already been published is rejected by crates.io.
bors [Wed, 6 Jul 2022 23:58:52 +0000 (23:58 +0000)]
Auto merge of #12695 - xuhongxu96:fix-12140, r=jonas-schievink
Complete type param/associated type in trait generic arg per arg index
- Fix #12140
- Also fix tidy check does not work for marks in multiline
Hongxu Xu [Wed, 6 Jul 2022 23:28:55 +0000 (07:28 +0800)]
fix default type param value position
bors [Wed, 6 Jul 2022 17:57:00 +0000 (17:57 +0000)]
Auto merge of #12704 - jonas-schievink:smol-paths, r=jonas-schievink
internal: Use `SmallVec` to slightly shrink `ModPath` size
Saves like a megabyte on r-a itself.
Jonas Schievink [Wed, 6 Jul 2022 17:49:05 +0000 (19:49 +0200)]
Use `SmallVec` to slightly shrink `ModPath` size
Hongxu Xu [Wed, 6 Jul 2022 16:54:46 +0000 (00:54 +0800)]
check arg_idx >= n_params only if arg_idx >= n_required_params
Hongxu Xu [Wed, 6 Jul 2022 16:43:59 +0000 (00:43 +0800)]
Handle generic args per arg index
Add more test cases for generic args
bors [Wed, 6 Jul 2022 15:57:34 +0000 (15:57 +0000)]
Auto merge of #12702 - lnicola:vscode-schemes, r=lnicola
internal: use different schemes for the custom views
Related to #12699, but doesn't fix it because we still register the providers multiple times.
Laurențiu Nicola [Wed, 6 Jul 2022 15:36:42 +0000 (18:36 +0300)]
Code: use different schemes for the custom views
Hongxu Xu [Wed, 6 Jul 2022 14:58:27 +0000 (22:58 +0800)]
Show only assoc type args in the correct arg pos
hi-rustin [Tue, 5 Jul 2022 14:43:38 +0000 (22:43 +0800)]
Add str_ref_to_string fix
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
bors [Tue, 5 Jul 2022 13:51:36 +0000 (13:51 +0000)]
Auto merge of #12694 - hi-rustin:rustin-patch-bors, r=jonas-schievink
Remove useless bors.toml
It seems we do not use bors-ng anymore. So maybe this is useless.
Hongxu Xu [Tue, 5 Jul 2022 13:48:28 +0000 (21:48 +0800)]
Complete associated type only in trait generic arg
Fix tidy check does not work for marks in multiline
hi-rustin [Tue, 5 Jul 2022 13:18:00 +0000 (21:18 +0800)]
Fix project root assert
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
hi-rustin [Tue, 5 Jul 2022 13:13:34 +0000 (21:13 +0800)]
Remove useless bors.toml
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
bors [Tue, 5 Jul 2022 09:55:55 +0000 (09:55 +0000)]
Auto merge of #12690 - Veykril:inert-attrs, r=Veykril
internal: Update inert attribute list
Lukas Wirth [Tue, 5 Jul 2022 09:54:46 +0000 (11:54 +0200)]
internal: Update inert attribute list
bors [Mon, 4 Jul 2022 16:59:17 +0000 (16:59 +0000)]
Auto merge of #12687 - flodiebold:override-docs, r=flodiebold
Improve documentation for `buildScripts.overrideCommand` / `checkOnSave.overrideCommand`
Florian Diebold [Mon, 4 Jul 2022 16:53:55 +0000 (18:53 +0200)]
Add back restartServerOnConfigChange option
Florian Diebold [Mon, 4 Jul 2022 16:45:54 +0000 (18:45 +0200)]
Improve documentation for buildScripts.overrideCommand / checkOnSave.overrideCommand
bors [Sun, 3 Jul 2022 07:25:03 +0000 (07:25 +0000)]
Auto merge of #12681 - lnicola:bump-deps, r=lnicola
Bump deps
Laurențiu Nicola [Sun, 3 Jul 2022 07:24:07 +0000 (10:24 +0300)]
Bump the rest of the deps
Laurențiu Nicola [Sun, 3 Jul 2022 07:22:10 +0000 (10:22 +0300)]
Bump chalk
Laurențiu Nicola [Sun, 3 Jul 2022 07:14:48 +0000 (10:14 +0300)]
Bump object
Laurențiu Nicola [Sun, 3 Jul 2022 07:12:58 +0000 (10:12 +0300)]
Bump tracing-subscriber
Laurențiu Nicola [Sun, 3 Jul 2022 07:10:45 +0000 (10:10 +0300)]
Bump arbitrary and derive_arbitrary
Laurențiu Nicola [Sun, 3 Jul 2022 07:08:10 +0000 (10:08 +0300)]
Bump cargo_metadata
Laurențiu Nicola [Sun, 3 Jul 2022 07:03:55 +0000 (10:03 +0300)]
Bump semver
Laurențiu Nicola [Sun, 3 Jul 2022 07:02:15 +0000 (10:02 +0300)]
Bump indexmap
Laurențiu Nicola [Sun, 3 Jul 2022 07:00:07 +0000 (10:00 +0300)]
Bump serde_json
Laurențiu Nicola [Sun, 3 Jul 2022 07:00:01 +0000 (10:00 +0300)]
Bump serde
Laurențiu Nicola [Sun, 3 Jul 2022 06:59:10 +0000 (09:59 +0300)]
Bump smallvec
Laurențiu Nicola [Sun, 3 Jul 2022 06:58:13 +0000 (09:58 +0300)]
Bump pulldown-cmark-to-cmark
Laurențiu Nicola [Sun, 3 Jul 2022 06:42:41 +0000 (09:42 +0300)]
Bump either
Laurențiu Nicola [Sat, 2 Jul 2022 19:29:06 +0000 (22:29 +0300)]
Bump quote
Laurențiu Nicola [Sat, 2 Jul 2022 19:27:56 +0000 (22:27 +0300)]
Bump anyhow
Laurențiu Nicola [Sat, 2 Jul 2022 19:27:24 +0000 (22:27 +0300)]
Bump crossbeam-channel
Dorian Scheidt [Fri, 1 Jul 2022 20:44:10 +0000 (15:44 -0500)]
fix: Extract function from trait impl
This change fixes #10036, "Extract to function assist implements nonexistent
trait methods".
When we detect that the extraction is coming from within a trait impl, and that
a `self` param will be necessary, we adjust which `SyntaxNode` to `insert_after`,
and create a new empty `impl` block for the newly extracted function.
bors [Sat, 2 Jul 2022 19:42:17 +0000 (19:42 +0000)]
Auto merge of #12662 - DorianListens:dscheidt/extract-function-duplicate-name, r=DorianListens
fix: Extract Function produces duplicate fn names
This change fixes #10037, in more or less the most naive fashion
possible.
We continue to start with the hardcoded default of "fun_name", and now append a
counter to the end of it if that name is already in scope.
In the future, we can probably apply more heuristics here to wind up with more
useful names by default, but for now this resolves the immediate problem.
Dorian Scheidt [Thu, 30 Jun 2022 17:17:19 +0000 (12:17 -0500)]
fix: Extract Function produces duplicate fn names
This change fixes issue #10037, in more or less the most naive fashion
possible.
We continue to start with the hardcoded default of "fun_name", and now append a
counter to the end of it if that name is already in scope.
In the future, we can probably apply more heuristics here to wind up with more
useful names by default, but for now this resolves the immediate problem.
bors [Sat, 2 Jul 2022 19:00:49 +0000 (19:00 +0000)]
Auto merge of #12680 - lowr:fix/12428-regression, r=Veykril
fix regressions on assignment expressions
This is a follow-up PR on #12428. I'm not sure if this is everything I overlooked, so if there are more things that are not right, we may want to revert #12428.
This should also fix the increase of the type mismatches and the unknown types in diesel in the [metrics](https://rust-analyzer.github.io/metrics/?start=2022-06-23&end=2022-07-01) introduced by #12428.
The regressions are:
- some coercions don't work in the ordinary (i.e. non-destructuring) assignments
In order for coercions on ADT fields instantiations to work, lhs type has to be known before inferring rhs. #12428 changed the inference order, making rhs inferred before lhs, breaking the coercion, so I restored the original inference mechanism for the ordinary assignments.
Note that this kind of coercion doesn't happen in destructuring assigments, because when they are desugared, the struct expression is first assigned to a temporary, which is then assigned to the assignee, which is not coercion site anymore.
- type mismatches on individual identifiers are not reported
Ryo Yoshida [Sat, 2 Jul 2022 17:31:07 +0000 (02:31 +0900)]
fix: report type mismatch on identifier in destructuring assignments
Ryo Yoshida [Sat, 2 Jul 2022 16:57:23 +0000 (01:57 +0900)]
fix: infer lhs first on ordinary assignment expressions
bors [Sat, 2 Jul 2022 17:18:24 +0000 (17:18 +0000)]
Auto merge of #12627 - yue4u:fix/struct-variant-patterns, r=Veykril
fix: complete enum variants as patterns in pattern path
close #12593
bors [Sat, 2 Jul 2022 15:28:29 +0000 (15:28 +0000)]
Auto merge of #12679 - a-kenji:fix-typos-hir, r=lnicola
fix: typos in hir-ty
a-kenji [Sat, 2 Jul 2022 15:19:06 +0000 (17:19 +0200)]
fix: typos in hir-ty
bors [Sat, 2 Jul 2022 14:20:36 +0000 (14:20 +0000)]
Auto merge of #12678 - Veykril:flyimport, r=Veykril
fix: Trigger flyimport completions in item lists again
Fixes https://github.com/rust-lang/rust-analyzer/issues/12656
Lukas Wirth [Sat, 2 Jul 2022 14:15:13 +0000 (16:15 +0200)]
fix: Trigger flyimport completions in item lists again
yue4u [Sat, 2 Jul 2022 14:17:29 +0000 (23:17 +0900)]
fix: escape for enum variant
yue4u [Sat, 25 Jun 2022 18:33:19 +0000 (03:33 +0900)]
fix: variants rendering in pattern path
bors [Fri, 1 Jul 2022 17:00:23 +0000 (17:00 +0000)]
Auto merge of #12671 - flodiebold:test-for-12669, r=flodiebold
Add tests for #12669
Florian Diebold [Fri, 1 Jul 2022 16:45:09 +0000 (18:45 +0200)]
Fix case of ignored/broken proc macro
Florian Diebold [Fri, 1 Jul 2022 14:32:54 +0000 (16:32 +0200)]
Add tests for #12669
bors [Fri, 1 Jul 2022 14:55:51 +0000 (14:55 +0000)]
Auto merge of #12636 - xuhongxu96:fix-12148, r=Veykril
complete raw identifier with "r#" prefix
Fix #12148
Escape Names and Paths used in `insert_text`/`insert_snippet` while rendering the completion items.
bors [Fri, 1 Jul 2022 14:46:48 +0000 (14:46 +0000)]
Auto merge of #12668 - Veykril:mac-source-map, r=Veykril
fix: Simplify macro statement expansion handling
I only meant to fix https://github.com/rust-lang/rust-analyzer/issues/12644 but that somehow turned into a rewrite of the statement handling ... at least this fixes a few more issues in the IDE layer now
bors [Fri, 1 Jul 2022 14:36:56 +0000 (14:36 +0000)]
Auto merge of #12670 - Veykril:assoc-attrs, r=Veykril
fix: Fix attribute macros on assoc items being discarded with disabled proc macros
Fixes https://github.com/rust-lang/rust-analyzer/issues/12669