Commit Graph

25966 Commits

Author SHA1 Message Date
Ryo Yoshida
074488b290
Properly infer types with type casts 2023-07-13 00:14:15 +09:00
ChristianSchott
8f612b5352
Make fields of mir::Terminator public 2023-07-12 09:35:44 +02:00
DropDemBits
a1877df5a5
Passthrough is_snippet for non-structured snippets
Structured snippets precisely track which text edits need to be marked
as snippet text edits, but the cases where structured snippets aren't
used but snippets are still present are for simple single text-edit
changes, so it's perfectly fine to mark all one of them as being a
snippet text edit
2023-07-12 03:14:09 -04:00
DropDemBits
a3a02d01f3
Simplify snippet rendering
Also makes sure that stray placeholders get converted into tabstops
2023-07-12 02:58:32 -04:00
DropDemBits
ae83f32ee9
Remove unnecessary SourceChange trait impls 2023-07-12 02:36:37 -04:00
DropDemBits
97a6fa58cd
internal: Defer rendering of structured snippets
This ensures that any assist using structured snippets won't
accidentally remove bits interpreted as snippet bits.
2023-07-12 01:50:35 -04:00
DropDemBits
89f7bf7411
Add SnippetEdit to be alongside source changes
Rendering of snippet edits is deferred to places using source change
2023-07-12 00:43:41 -04:00
dependabot[bot]
f0e2ad5a95
Bump semver from 5.7.1 to 5.7.2 in /editors/code
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-11 22:02:42 +00:00
hkalbasi
274e8301c1 Add write_bytes and ctlz intrinsics 2023-07-12 01:14:49 +03:30
DropDemBits
a9889a0f1c
fix the rest of the nits 2023-07-11 17:32:12 -04:00
DropDemBits
f9a144f0ed
Hoist out make::name_ref
`clone_for_update` is relatively cheap in comparison, since making a
node require parsing an entire source text

Adds a test to make sure that it doesn't crash when multiple uses are
present.
2023-07-11 17:28:17 -04:00
Ryo Yoshida
0312c6c321
Mark test for MIR execution limit as slow test 2023-07-11 23:36:47 +09:00
Tetsuharu Ohzeki
505d506a47 Set .editorconfig default indent size to 4
We uses indent_size = 4 for almost files in this repository.
This sorts the config to it.
2023-07-11 23:02:54 +09:00
bors
75ac37f317 Auto merge of #15259 - tetsuharuohzeki:sort-the-style-to-import, r=Veykril
editor/code: Sort the style to import types

This pull requests enables new lint rule to sorts the style to import types/symbols.

## see details of enabled rules
- https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-type-imports.md
- https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-import-type-side-effects.md
2023-07-11 12:01:57 +00:00
Lukas Wirth
2366c16bf9 Fix eager token mapping panics 2023-07-11 13:54:28 +02:00
bors
a5f0c6b8de Auto merge of #15263 - Veykril:lsp-server-serde-derive, r=Veykril
Enable derive feature for serde in lsp-server

Publishing failed due to this
2023-07-11 11:46:16 +00:00
Lukas Wirth
9031f385e0 Enable derive feature for serde in lsp-server 2023-07-11 13:45:27 +02:00
bors
cabe26c228 Auto merge of #15257 - sebastiansturm:master, r=lnicola
[lsp-server] Ignore 'Content-Length' case

this is a trivial PR meant to address issue #15197: the 'Content-Length' header field should probably be treated as case-insensitive
2023-07-11 05:35:46 +00:00
DropDemBits
99abcdc1eb
format let-else in promote_local_to_const 2023-07-10 17:49:27 -04:00
DropDemBits
11debaf61a
Migrate fix_visibility to mutable ast 2023-07-10 17:39:55 -04:00
Tetsuharu Ohzeki
445b4fc27f editor/code: Sort the style to import types
see:
- https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-type-imports.md
- https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-import-type-side-effects.md
2023-07-11 06:12:00 +09:00
bors
949ecea0d0 Auto merge of #15258 - HKalbasi:mir, r=HKalbasi
Support getrandom syscall

And fix some simd intrinsic bugs and add a memory limit to prevent huge allocations from breaking the main process.
2023-07-10 21:02:04 +00:00
hkalbasi
59420afa46 Support getrandom syscall 2023-07-11 00:29:06 +03:30
Sebastian Sturm
872cd30325 [lsp-server] Ignore 'Content-Length' case 2023-07-10 22:36:52 +02:00
bors
ea02f4cba1 Auto merge of #15251 - Veykril:builtin-expand, r=Veykril
Skip building subtrees for builtin derives

This is a waste of resources, we go from node to subtree just to go from subtree to node in the expander impl. We can skip the subtree building and only build the tokenmap instead.
2023-07-10 16:14:47 +00:00
bors
785a33d3e1 Auto merge of #15254 - tetsuharuohzeki:add-fixme-exactOptionalPropertyTypes, r=lnicola
editor/code: Add FIXME comments for TS' `--exactOptionalPropertyTypes` option

This add the FIXME comment for  https://github.com/rust-lang/rust-analyzer/issues/15253
2023-07-10 14:40:47 +00:00
Tetsuharu Ohzeki
e54f6636b6 editor/code: Add FIXME comments for TS' --exactOptionalPropertyTypes option 2023-07-10 23:39:08 +09:00
Lukas Wirth
f6c09099da Don't unnecessarily clone the input tt for decl macros 2023-07-10 16:28:23 +02:00
Lukas Wirth
d5f64f875a Infallibe ExpandDatabase::macro_def 2023-07-10 16:23:29 +02:00
bors
6f2e8aaba6 Auto merge of #15252 - tetsuharuohzeki:enable-unknonw-catch, r=lnicola
editor/code: Enable TypeScript's `--useUnknownInCatchVariables` option

This enables TypeScript's [`--useUnknownInCatchVariables`](https://www.typescriptlang.org/tsconfig#useUnknownInCatchVariables).
2023-07-10 14:22:21 +00:00
Tetsuharu Ohzeki
444bc5b3ba editor/code: Enable TypeScript's --useUnknownInCatchVariables option
see: https://www.typescriptlang.org/tsconfig#useUnknownInCatchVariables
2023-07-10 23:13:36 +09:00
Tetsuharu Ohzeki
a66b7e3eba editor/code: Remove unused sendRequestWithRetry 2023-07-10 23:13:36 +09:00
Tetsuharu Ohzeki
fd31006646 editor/code: Assert types in catch in sendRequestWithRetry() properly 2023-07-10 23:13:36 +09:00
Lukas Wirth
4ff93398fd Skip buildin subtrees for builtin derives 2023-07-10 15:19:00 +02:00
Ryo Yoshida
595d9e6ebb
fix: don't use control flow when extracted fn contains tail expr of original fn 2023-07-10 21:55:13 +09:00
bors
2f6d545535 Auto merge of #15231 - DropDemBits:structured-snippet-migrate-2, r=lowr
internal: Migrate more assists to use the structured snippet API

Continuing from #14979

Migrates the following assists:
- `generate_derive`
- `wrap_return_type_in_result`
- `generate_delegate_methods`

As a bonus, `generate_delegate_methods` now generates the function and impl block at the correct indentation 🎉.
2023-07-10 10:57:24 +00:00
bors
9b2d4ce49f Auto merge of #15249 - lnicola:load-cargo-description, r=lnicola
minor: Fix publishing of load-cargo crate

https://github.com/rust-lang/rust-analyzer/actions/runs/5506737360/jobs/10035802204
2023-07-10 10:41:23 +00:00
Laurențiu Nicola
0f09a7742d Fix publishing of load-cargo crate 2023-07-10 13:40:37 +03:00
DropDemBits
8c40fa33df
Add HasVisibilityEdit::set_visibility 2023-07-09 20:50:20 -04:00
DropDemBits
27444eda56
Migrate promote_local_to_const to mutable ast 2023-07-09 18:49:29 -04:00
DropDemBits
6ab2788978
Migrate add_missing_match_arms to mutable ast
Requires a hack in order to work inside of macros
2023-07-09 18:31:38 -04:00
Josiah Bills
7a87a35f1a Added remove_unused_imports assist. 2023-07-09 17:44:27 -04:00
bors
ff15634831 Auto merge of #15245 - HKalbasi:mir, r=HKalbasi
Fix missing terminator in pattern matching of consts

fix #15238
2023-07-09 21:33:42 +00:00
hkalbasi
42d35f8af9 Fix missing terminator in pattern matching of consts 2023-07-10 01:01:59 +03:30
Josiah Bills
b9cef03230 Updated search to expose some more functions and to make search take the search scope by reference. 2023-07-09 17:30:21 -04:00
bors
5f11c9a1c3 Auto merge of #15081 - adenine-dev:master, r=HKalbasi
Feature: Add a memory layout viewer

**Motivation**: rustc by default doesn't enforce a particular memory layout, however it can be useful to see what it is doing under the hood, or if using a particular repr ensure it is behaving how you want it to. This command provides a way to visually explore memory layouts of structures.

**Example**:
this structure:
```rust
struct X {
    x: i32,
    y: u8,
    z: Vec<bool>,
    w: usize,
}
```
produces this output:
<img width="692" alt="image" src="https://github.com/rust-lang/rust-analyzer/assets/22418744/e0312233-18a7-4bb9-ae5b-7b52fcff158a">

**Work yet to be done**:
- tests (see below)
- html is mildly janky (see below)
- enums and unions are viewed flatly, how should they be represented?
- should niches be marked somehow?

This was written for my own use, and the jank is fine for me, but in its current state it is probably not ready to merge mostly because it is missing tests, and also because the code quality is not great. However, before I spend time fixing those things idk if this is even something wanted, if it is I am happy to clean it up, if not that's cool too.
2023-07-09 20:30:20 +00:00
Adenine
d0df00d274 Rework view memory layout tests to use expect_test and to_strings. 2023-07-09 16:11:15 -04:00
Adenine
add9056c32
Merge branch 'rust-lang:master' into master 2023-07-09 16:10:40 -04:00
bors
dcda13ac69 Auto merge of #15244 - HKalbasi:mir, r=HKalbasi
Support read_via_copy intrinsic
2023-07-09 19:48:54 +00:00
hkalbasi
aa52cbf784 Support read_via_copy intrinsic 2023-07-09 23:17:51 +03:30