Commit Graph

25472 Commits

Author SHA1 Message Date
bors
f0e00ed599 Auto merge of #14948 - alibektas:14386, r=Veykril
feature : assist delegate impl

This PR ( fixes #14386 ) introduces a new IDE assist that generates a trait impl for a struct that delegates a field. This is a draft because the current `ide_db::path_transform::PathTransform` produces some unwanted results when it deals with extern crates, an example of which I attach as a GIF.

GIFs :
1. A general case
![14386-functional](https://github.com/rust-lang/rust-analyzer/assets/20956650/22114959-caa6-45ec-a154-b4b2f458f6b1)

2. A case where `ide_db::path_transform::PathTransform` fails to correctly resolve a property ( take `Allocator` as an example ) to its full path, thus causing an error to occur. ( Not to even mention that resolving this causes another error `use of unstable library feature 'allocator_api'` to occur
![14386-erroneous](https://github.com/rust-lang/rust-analyzer/assets/20956650/922ca715-594e-4168-a579-7c5c006f93aa)
2023-06-22 10:44:01 +00:00
bors
00221c5026 Auto merge of #15077 - Veykril:dep-updates, r=Veykril
Bump deps

Closes https://github.com/rust-lang/rust-analyzer/issues/15107
2023-06-22 10:18:16 +00:00
Lukas Wirth
e5c65071bc Disconnect library crate dependencies from workspace dependencies 2023-06-22 11:50:52 +02:00
Lukas Wirth
0953e85b59 Downgrade some deps to get rif of windows-sys duplication 2023-06-22 11:44:10 +02:00
Lukas Wirth
8823db6c78 Bump more deps 2023-06-22 11:44:10 +02:00
Lukas Wirth
4fa3f1ef5c Bump serde 2 things 2023-06-22 11:44:10 +02:00
bors
85493dfdb0 Auto merge of #15104 - Veykril:mir-borrow-synthetic, r=Veykril
Skip mutable diagnostics on synthetic bindings

Fixes https://github.com/rust-lang/rust-analyzer/issues/15099

We probabnly need to look into this in a more general manner in the future now that we desugar more things
2023-06-21 17:41:00 +00:00
Lukas Wirth
d8b970f1fc Skip mutable diagnostics on synthetic bindings 2023-06-21 19:38:19 +02:00
bors
ae22869e36 Auto merge of #15100 - lnicola:vfs-path-fmt, r=Veykril
internal: Simplify `VfsPath` `fmt` impls

Fixes https://github.com/rust-lang/rust-analyzer/pull/15097#discussion_r1236169290
2023-06-21 17:26:39 +00:00
bors
fe43be5d9b Auto merge of #15102 - Veykril:markdown-inject, r=Veykril
Remove markdown injection for block comments

Closes https://github.com/rust-lang/rust-analyzer/issues/15091

I tried making it work but it doesn't seem possible, as the `*` of the closing `*/` sequence gets eaten by the markdown grammar no matter what.
2023-06-21 17:09:36 +00:00
Lukas Wirth
c672cedeba Remove markdown injection for block comments 2023-06-21 19:08:00 +02:00
Laurențiu Nicola
f5876aee1e Simplify VfsPath fmt 2023-06-21 16:13:17 +03:00
bors
6d333e587d Auto merge of #15098 - davidlattimore:libs-from-crates-io, r=Veykril
Use lib crates from crates.io

See lib/README.md for justification
2023-06-21 06:57:32 +00:00
David Lattimore
5c8d1a46b5 Use lib crates from crates.io
See lib/README.md for justification
2023-06-21 16:10:17 +10:00
bors
bc26e81cd5 Auto merge of #15070 - Veykril:analysis-stat-stuff, r=Veykril
internal: Report metric timings for file item trees and crate def map creation
2023-06-21 05:58:13 +00:00
bors
2d64a0aa6e Auto merge of #15097 - HKalbasi:abs-path-display, r=matklad
Fix VfsPath Display and Debug impls

fix https://github.com/rust-lang/rust-analyzer/pull/15087#discussion_r1234544484
r? `@matklad`
2023-06-20 21:22:59 +00:00
hkalbasi
10aba11b29 Fix VfsPath Display and Debug impls 2023-06-20 23:17:42 +03:30
bors
7ebe7ac908 Auto merge of #15095 - davidlattimore:lib-workspace-deps, r=lnicola
Change in-tree libs to workspace dependencies and bump versions
2023-06-20 05:35:56 +00:00
David Lattimore
fb3e54ef05 Release lsp-server 0.7.1 2023-06-20 13:53:39 +10:00
David Lattimore
a0467c546c Release la-arena 0.3.1 2023-06-20 13:53:39 +10:00
David Lattimore
bea3a33d84 Change in-tree libs to workspace dependencies 2023-06-20 13:53:39 +10:00
bors
40ed61e843 Auto merge of #15093 - HKalbasi:format-args, r=HKalbasi
Use `ArgumentV1` instead of `Argument`

Now that the choice is between supporting stable and supporting nothing, let's support stable.

cc #15082
2023-06-19 19:42:13 +00:00
hkalbasi
3c87825074 Use ArgumentV1 instead of Argument 2023-06-19 22:48:49 +03:30
bors
f99348578a Auto merge of #15074 - oxalica:fix/inline-async-fn, r=lowr
Correctly handle inlining of async fn

Fixes #10198
2023-06-19 15:46:55 +00:00
oxalica
2cd7b0cfce Remove unused StmtList::push_front 2023-06-19 22:56:31 +08:00
bors
67e1f52062 Auto merge of #15086 - Veykril:import-intern, r=Veykril
internal: Intern use and extern crate items like other items

Looking a bit into supporting use aliases and attributes better
2023-06-19 13:51:41 +00:00
bors
8eef45212b Auto merge of #15089 - Veykril:slow-test-logs, r=Veykril
fix: Use RA_LOG in slow tests logging infra again
2023-06-19 13:34:51 +00:00
Lukas Wirth
8d33b39b4a Use RA_LOG in slow tests logging infra again 2023-06-19 15:11:47 +02:00
Lukas Wirth
9476fdaaa9 HIR ExternCrateDecl 2023-06-19 14:15:08 +02:00
bors
0fe5266b6d Auto merge of #15087 - matklad:error-handling, r=matklad
internal: use consistent style for error handling
2023-06-19 12:14:23 +00:00
Alex Kladov
6303551cb8 internal: use consistent style for error handling 2023-06-19 13:01:47 +01:00
bors
93a788cde8 Auto merge of #15085 - matklad:ws-error, r=matklad
fix: ensure that ws loading error includes path to ws

Should help with https://old.reddit.com/r/rust/comments/14cw5ts/newbie_confused_about_rustanalyzer/

`@bors` r+
2023-06-19 11:57:18 +00:00
Lukas Wirth
0bde3fc77e Intern use and extern crate items like other items 2023-06-19 13:51:44 +02:00
bors
1fb51425ed Auto merge of #15084 - lnicola:sync-from-rust, r=lnicola
minor: Sync from downstream
2023-06-19 11:40:23 +00:00
Alex Kladov
49318bbae7 fix: ensure that ws loading error includes path to ws 2023-06-19 12:32:04 +01:00
Laurențiu Nicola
8d8292ec60 Merge remote-tracking branch 'upstream/master' into sync-from-rust 2023-06-19 14:26:52 +03:00
bors
00b9d9faf4 Auto merge of #15071 - matklad:no-regex, r=matklad
internal: remove spurious regex dependency

- replace tokio's env-filter with a smaller&simpler targets filter
- reshuffle logging infra a bit to make sure there's only a single place where we read environmental variables
- use anyhow::Result in rust-analyzer binary
2023-06-19 10:51:03 +00:00
oxalica
52f1ce17aa Correctly handle inlining of async fn 2023-06-19 17:14:17 +08:00
Laurențiu Nicola
9326cf7f0c Merge commit 'cd3bf9fe51676b520c546460e6d8919b8c8ff99f' into sync-from-ra 2023-06-19 09:14:04 +03:00
Alex Kladov
424ef77809 internal: remove spurious regex dependency
- replace tokio's env-filter with a smaller&simpler targets filter
- reshuffle logging infra a bit to make sure there's only a single place
  where we read environmental variables
- use anyhow::Result in rust-analyzer binary
2023-06-18 13:59:32 +01:00
bors
cd3bf9fe51 Auto merge of #15076 - Veykril:bindings, r=Veykril
internal: Shrink size of hir::Binding
2023-06-18 10:19:27 +00:00
Lukas Wirth
c3186202a2 Shrink size of hir::Binding 2023-06-18 12:03:04 +02:00
bors
5dccf3010b Auto merge of #15075 - Veykril:bindings, r=Veykril
fix: Add binding definition for for-expr iterator desugared binding
2023-06-18 09:45:49 +00:00
Lukas Wirth
83d7724629 fix: Add binding definition for for-expr iterator desugared binding 2023-06-18 11:44:01 +02:00
bors
a1b536ec6f Auto merge of #15054 - ponyii:fix/implement-missing-members-do-not-transform-const-params, r=lowr
fix: implement missing members doesn't transform const params and default types

Fixes https://github.com/rust-lang/rust-analyzer/issues/13363
2023-06-18 09:30:13 +00:00
Ali Bektas
4ed1197662 Version 3
Remove scope_for_def calls as the definition have been removed entirely.
As a result of this change the problem with false path resolutions has been solved.
2023-06-17 21:27:52 +02:00
Ali Bektas
19a9de72f6 Version 2 2023-06-17 13:52:34 +02:00
Ali Bektas
59cc783a3b Correct errors produced by CI 2023-06-17 13:52:34 +02:00
Ali Bektas
8123a39c82 Generate delegate trait 2023-06-17 13:52:34 +02:00
Lukas Wirth
a824b734dd Report metric timings for file item trees and crate def map creation 2023-06-17 11:20:21 +02:00