Commit graph

25477 commits

Author SHA1 Message Date
bors
3a4f9a1416 Auto merge of #15110 - HKalbasi:run-test-command, r=HKalbasi
internal: Add run-tests command

This command is similar to `cargo test` except that it uses r-a to run tests instead of compiling and running them with rustc. This is slower than `cargo test` and it is only useful for me to see a bird view of what needs to be fixed. The current output is:
```
48 passed, 5028 failed, 2 ignored
All tests            174.74s, 648ginstr
```
48 is very low, but higher than what I originally thought.

Now that there is some passing tests, I can show the plan:

https://github.com/rust-lang/rust-analyzer/assets/45197576/76d7d777-1843-4ca4-b7fe-e463bdade6cb

That is, at the end, I want to be able to immediately re run every test after every change. (0.5s is not really immediate, but it's not finished yet, and it is way better than 8s that running a typical test in r-a will take on my system)
2023-06-22 16:04:16 +00:00
hkalbasi
674cd5ab57 Add run-tests command 2023-06-22 19:33:37 +03:30
bors
6c73f67998 Auto merge of #15105 - dfireBird:fix-15096, r=HKalbasi
Change comparsion for checking if number is negative to include 128

The last byte in Little-Endian representation of negative integers start at 128 (Ox80) till 255 (OxFF). The comparison before the fix didn't check for 128 which made is_negative variable as false.

Potentially fixes #15096
2023-06-22 12:35:22 +00:00
dfireBird
410ede9101
Add some tests in number evaluvation and hover to prevent regression
Added a test near positive extermes and two test near negative
extermes as well one for 0.
Added a test using the `as` cast and one with comparison with 0.
2023-06-22 17:58:12 +05:30
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
dfireBird
b8017928af
Change comparsion for checking if number is negative to include 128
Reason: The last byte in Little Endian representation of negative
integers start at 128 (Ox80) till 255 (OxFF). The comparison before
the fix didn't check for 128 which made is_negative variable as false.
2023-06-22 12:51:35 +05:30
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