Lukas Wirth
00a6cc0664
Update Cargo.lock
2024-03-05 12:16:19 +01:00
Lukas Wirth
8844640c6f
fix: Put style lints behind disabled-by-default config
2024-03-05 11:43:23 +01:00
bors
ce3216e0ae
Auto merge of #15938 - Young-Flash:display_trait_item_when_hover, r=Veykril
...
feat: add hover display for trait assoc items
This PR enable preview assoc items when hover on `trait`

inspired by https://github.com/rust-lang/rust-analyzer/pull/15847
2024-03-05 08:26:53 +00:00
bors
0c2e9feaee
Auto merge of #16752 - Lindronics:destructure-struct-binding, r=Veykril
...
fix: Don't destructure struct with no public fields
Unfortunately I missed this case in #16638 .
If a struct only has private members, the assist should not be applicable. Though valid syntax exists (`Foo { .. }`), it isn't particularly useful. Since this case applies to a lot of common types (`Arc`, `Vec`, ...), it probably makes the most sense to hide the action.
As a side effect, this also disables the action for unit structs, where it also isn't particularly useful. I'd be open to changing it though if you think it makes more sense to keep it.
This also fixes the `make::record_pat_field_list` function to produce valid syntax if the field list is empty, as it is used in other places too.
## Current behaviour
```rust
// In crate `other_crate`
pub struct Foo { bar: i32 }
// In current crate
fn do_something(foo: other_crate::Foo) {}
// Becomes
fn do_something(other_crate::Foo { , .. }: other_crate::Foo) {}
```
## Fixed behaviour
Assist should not be applicable in this case anymore.
2024-03-05 08:03:13 +00:00
bors
58e10c7d17
Auto merge of #16753 - rust-lang:dependabot/cargo/mio-0.8.11, r=lnicola
...
minor: Bump mio from 0.8.5 to 0.8.11
Bumps [mio](https://github.com/tokio-rs/mio ) from 0.8.5 to 0.8.11.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md ">mio's changelog</a>.</em></p>
<blockquote>
<h1>0.8.11</h1>
<ul>
<li>Fix receiving IOCP events after deregistering a Windows named pipe
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1760 ">tokio-rs/mio#1760</a>, backport pr:
<a href="https://redirect.github.com/tokio-rs/mio/pull/1761 ">tokio-rs/mio#1761</a>).</li>
</ul>
<h1>0.8.10</h1>
<h2>Added</h2>
<ul>
<li>Solaris support
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1724 ">tokio-rs/mio#1724</a>).</li>
</ul>
<h1>0.8.9</h1>
<h2>Added</h2>
<ul>
<li>ESP-IDF framework support
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1692 ">tokio-rs/mio#1692</a>).</li>
<li>AIX operating system support
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1704 ">tokio-rs/mio#1704</a>).</li>
<li>Vita support
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1721 ">tokio-rs/mio#1721</a>).</li>
<li><code>{UnixListener,UnixStream}:bind_addr</code>
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1630 ">tokio-rs/mio#1630</a>).</li>
<li><code>mio_unsupported_force_poll_poll</code> and <code>mio_unsupported_force_waker_pipe</code>
<strong>unsupported</strong> configuration flags to force a specific poll or waker
implementation
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1684 ">tokio-rs/mio#1684</a>,
<a href="https://redirect.github.com/tokio-rs/mio/pull/1685 ">tokio-rs/mio#1685</a>,
<a href="https://redirect.github.com/tokio-rs/mio/pull/1692 ">tokio-rs/mio#1692</a>).</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>The <code>pipe(2)</code> based waker (swapped file descriptors)
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1722 ">tokio-rs/mio#1722</a>).</li>
<li>The duplicate waker check to work correctly with cloned <code>Registry</code>s.
(<a href="https://redirect.github.com/tokio-rs/mio/pull/1706 ">tokio-rs/mio#1706</a>).</li>
</ul>
<h1>0.8.8</h1>
<h2>Fixed</h2>
<ul>
<li>Fix compilation on WASI (<a href="https://redirect.github.com/tokio-rs/mio/pull/1676 ">tokio-rs/mio#1676</a>).</li>
</ul>
<h1>0.8.7</h1>
<h2>Added</h2>
<ul>
<li>Add/fix support for tvOS and watchOS, Mio should now build for tvOS and</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/tokio-rs/mio/commit/0328bdef900b6396b8d00d33c825cd8af748553d "><code>0328bde</code></a> Release v0.8.11</li>
<li><a href="https://github.com/tokio-rs/mio/commit/708449851283b57eb6f514c8f289b66e982720b3 "><code>7084498</code></a> Fix warnings</li>
<li><a href="https://github.com/tokio-rs/mio/commit/90d4fe00df870acd3d38f3dc4face9aacab8fbb9 "><code>90d4fe0</code></a> named-pipes: fix receiving IOCP events after deregister</li>
<li><a href="https://github.com/tokio-rs/mio/commit/c710a307f8627c4d63ac1003252aa45175e08399 "><code>c710a30</code></a> Add v0.8.x to the CI</li>
<li><a href="https://github.com/tokio-rs/mio/commit/c29e21c244b2b835e8b3e015b92c708c33c7d70a "><code>c29e21c</code></a> Release v0.8.10</li>
<li><a href="https://github.com/tokio-rs/mio/commit/f6a20da1c81c2d56a78bc6f6832b9904b9215914 "><code>f6a20da</code></a> Add Solaris operating system support (<a href="https://redirect.github.com/tokio-rs/mio/issues/1724 ">#1724</a>)</li>
<li><a href="https://github.com/tokio-rs/mio/commit/e80c3b21b59b92238f4c8c331fcfc4a71508d1c5 "><code>e80c3b2</code></a> Release v0.8.9</li>
<li><a href="https://github.com/tokio-rs/mio/commit/862786bbbf719886be55631c0d150d4813a9a1b6 "><code>862786b</code></a> Fix importing of IoSourceState</li>
<li><a href="https://github.com/tokio-rs/mio/commit/40348728e4f06f5e150783d8f1559ee974e5e834 "><code>4034872</code></a> Add support for vita target</li>
<li><a href="https://github.com/tokio-rs/mio/commit/8eb4010a92bede550850e177d3dd7c4c76eb90ba "><code>8eb4010</code></a> Fix receiver and sender fd in pipe based waker</li>
<li>Additional commits viewable in <a href="https://github.com/tokio-rs/mio/compare/v0.8.5...v0.8.11 ">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores )
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/rust-lang/rust-analyzer/network/alerts ).
</details>
2024-03-05 06:27:47 +00:00
Niklas Lindorfer
2a4ba4295b
fix: hide destructure_struct_binding assist if no public fields
2024-03-04 21:50:01 +00:00
dependabot[bot]
ac641a19e7
Bump mio from 0.8.5 to 0.8.11
...
Bumps [mio](https://github.com/tokio-rs/mio ) from 0.8.5 to 0.8.11.
- [Release notes](https://github.com/tokio-rs/mio/releases )
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.5...v0.8.11 )
---
updated-dependencies:
- dependency-name: mio
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-04 21:40:57 +00:00
bors
9f14343f9e
Auto merge of #16751 - Veykril:codegen, r=Veykril
...
internal: Move diagnostics docs generation and lint definition generation into xtask/codegen
2024-03-04 16:50:18 +00:00
Lukas Wirth
b9dbb8afd9
Regenerate lints table
2024-03-04 17:42:18 +01:00
Lukas Wirth
76463eee48
Move lint definition generation into xtask/codegen
2024-03-04 17:14:14 +01:00
Lukas Wirth
0964374274
Move diagnostics docs generation into xtask/codegen
2024-03-04 17:14:14 +01:00
bors
4e8cbf36a8
Auto merge of #16708 - Veykril:codegen, r=Veykril
...
internal: Move ide-assists codegen tests into an xtask codegen command
2024-03-04 15:50:39 +00:00
bors
00879b1c57
Auto merge of #16750 - Veykril:unnecessary-else, r=Veykril
...
minor: Mark remove_unnecessary_else as experimental
cc https://github.com/rust-lang/rust-analyzer/issues/16566#issuecomment-1976492762 https://github.com/rust-lang/rust-analyzer/issues/16628
There seem to be some leftover issues with this, additionally its a style lint so it's not too nice to see for some people. We should flesh out our diagnostics stuff before adding more style lints I think
2024-03-04 15:37:52 +00:00
Lukas Wirth
6e802a0b56
minor: Mark remove_unnecessary_else as experimental
2024-03-04 16:35:33 +01:00
bors
a7e9f12bf7
Auto merge of #16748 - Veykril:on-demand-validation-err, r=Veykril
...
internal: Compute syntax validation errors on demand
The LRU cache causes us to re-parse trees quite often, yet we don't use the validation errors at all. With this we push calculating them off to the caller who is interested in them.
2024-03-04 11:19:16 +00:00
Lukas Wirth
c3c9f5ffe1
internal: Compute syntax validation errors on demand
2024-03-04 12:06:15 +01:00
bors
99a1b8f7a8
Auto merge of #16747 - Veykril:cleanup, r=Veykril
...
internal: Clean some stuff up
Just a bunch of small refactorings, mainly from browsing through `hir-def`
2024-03-04 10:30:17 +00:00
Lukas Wirth
4303e741de
Cleanup
2024-03-04 11:10:06 +01:00
bors
2074cc28de
Auto merge of #16722 - mo8it:allocations, r=Veykril
...
Avoid some allocations
I went on a small `.clone()` hunting tour :D
2024-03-04 09:17:23 +00:00
bors
d8feb908be
Auto merge of #16703 - regexident:sema-ast-to-hir, r=Veykril
...
Add more methods for resolving definitions from AST to their corresponding HIR types
In order to be able to add these methods with consistent naming I had to also rename two existing methods that would otherwise be conflicting/confusing:
`Semantics::to_module_def(&self, file: FileId) -> Option<Module>` (before)
`Semantics::file_to_module_def(&self, file: FileId) -> Option<Module>` (after)
`Semantics::to_module_defs(&self, file: FileId) -> impl Iterator<Item = Module>` (before)
`Semantics::file_to_module_defs(&self, file: FileId) -> impl Iterator<Item = Module>` (after)
(the PR is motivated by an outside use of the `ra_ap_hir` crate that would benefit from being able to walk a `hir::Function`'s AST, resolving its exprs/stmts/items to their HIR equivalents)
2024-03-04 09:02:32 +00:00
bors
0b7d4cc6ff
Auto merge of #16690 - roife:fix-issue-16471, r=Veykril
...
fix: use 4 spaces for indentation in macro expansion
Partial fix for #16471 .
In the previous code, the indentation produced by macro expansion was set to 2 spaces. This PR modifies it to 4 spaces for the sake of consistency.
2024-03-04 08:49:51 +00:00
bors
518cfe8cb7
Auto merge of #16723 - norskeld:constants-autocomplete, r=Veykril
...
fix: autocomplete constants inside format strings
Hi! This PR adds autocompletion for constants (including statics) inside format strings and closes #16608 .
I'm not sure about adding the `constants` field to the `CompletionContext`. It kinda makes sense, since it's in line with the `locals` field, and this way everything looks a bit cleaner, but at the same time does it really need to be there?
Anyway, let me know if anything should/can be changed. :)
2024-03-04 08:36:39 +00:00
bors
d444acdb19
Auto merge of #16719 - lnicola:native-debug, r=lnicola
...
fix: Add basic support for Native Debug
Native Debug doesn't work very well and passing command-line arguments is nasty (https://github.com/rust-lang/rust-analyzer/issues/9815 ), but I guess it's a start.
Closes #9815
2024-03-04 08:16:01 +00:00
bors
037924c4d8
Auto merge of #16740 - lnicola:sync-from-rust, r=lnicola
...
internal: sync from downstream
2024-03-03 11:50:46 +00:00
Laurențiu Nicola
9fafbfa45a
Merge branch 'master' into sync-from-rust
2024-03-03 13:40:05 +02:00
bors
67f7557725
Auto merge of #16738 - Nadrieril:update-pat-ana, r=lnicola
...
Update rustc_pattern_analysis
This should fix https://github.com/rust-lang/rust-analyzer/issues/16656 but I can't check because we don't have a reproducer.
2024-03-03 11:38:44 +00:00
Nadrieril
7c6f7b2c49
Update rustc_pattern_analysis
2024-03-03 00:34:27 +01:00
bors
4ef6a49b44
Auto merge of #16702 - Veykril:intra-doc-links-generic, r=Veykril
...
fix: Ignore generic arguments in intra doc link path resolution
Fixes https://github.com/rust-lang/rust-analyzer/issues/16699
2024-03-02 09:51:16 +00:00
bors
5c4c126832
Auto merge of #16704 - Veykril:stuff, r=Veykril
...
internal: Simplify
2024-03-02 09:37:26 +00:00
bors
6cb576a137
Auto merge of #16735 - lnicola:smolstr-new-static, r=lnicola
...
minor: Remove outdated comment about static SmolStrs
Closes https://github.com/rust-lang/rust-analyzer/issues/16734
2024-03-02 08:57:47 +00:00
Laurențiu Nicola
dd21914e9d
Remove outdated comment about static SmolStrs
2024-03-02 10:56:03 +02:00
Young-Flash
dba67b46a1
update for review
2024-03-02 10:01:04 +08:00
bors
79e0fee6a3
Auto merge of #16727 - Veykril:assoc-related, r=Veykril
...
fix: Don't highlight related assoc items of super traits
2024-03-01 18:34:48 +00:00
bors
c512e2e1bf
Auto merge of #16728 - Veykril:span-docs, r=Veykril
...
minor: Move span stuff around
2024-03-01 18:20:35 +00:00
Lukas Wirth
efd76ecff1
Move AstIdMap infra to the span crate
2024-03-01 15:39:44 +01:00
Lukas Wirth
549aae7c07
Add a few more doc lines to the span crate
2024-03-01 15:20:30 +01:00
Lukas Wirth
8a5bb9d5ac
Only the ROOT syntax context has None outer_expn
2024-03-01 15:14:17 +01:00
Lukas Wirth
eb7a4f293e
minor: Add some basic docs for spans/hygiene handling
2024-03-01 14:39:15 +01:00
Lukas Wirth
aabaa47bfb
fix: Don't highlight related assoc items of super traits
2024-03-01 14:03:12 +01:00
Lukas Wirth
ed7e9aa5d8
Simplify
2024-03-01 13:25:24 +01:00
Lukas Wirth
c8fdcea85c
Fix targetDir config name
2024-03-01 13:19:55 +01:00
Lukas Wirth
83a1ad5bfe
Give all threads names
2024-03-01 13:19:55 +01:00
Vladislav Mamon
1d28aecd13
fix: autocomplete constants inside format strings
2024-03-01 14:23:31 +03:00
mo8it
00a049b585
Avoid cloning deps
2024-02-29 17:01:32 +01:00
mo8it
9df73c6cb0
Convert directly into an Arc<str>
2024-02-29 16:53:48 +01:00
mo8it
4aab2d5cb4
Remove unneeded to_owned
2024-02-29 16:29:15 +01:00
mo8it
748f57c16d
Only clone when required
2024-02-29 16:28:59 +01:00
bors
9efa23c4da
Auto merge of #16707 - regexident:pub-sema-impl, r=Veykril
...
Export `SemanticsImpl` from `ra_ap_hir` crate, since it's already exposed via `Semantics.deref()`
The `SemanticsImpl` type is already de-facto exposed via `<Semantics as Deref>::Target`.
By not being part of the public crate interface it however doesn't get included in the documentation, resulting in a massive blind spot when it comes to `ra_ap_hir`'s type resolution APIs.
2024-02-29 15:12:04 +00:00
mo8it
06a883e32f
Take a reference instead of cloning
2024-02-29 16:05:26 +01:00
bors
b3b9b53df8
Auto merge of #16706 - Veykril:load-cargo-ide-db, r=Veykril
...
internal: Remove load-cargo dependency on ide
This lightens up the dep tree for projects using r-a as a library that do not need the ide crate itself.
2024-02-29 14:59:27 +00:00