Commit Graph

264780 Commits

Author SHA1 Message Date
Lukas Wirth 7e5a0e5777 fix: Catch panics from diagnostics computation 2024-09-06 08:21:08 +02:00
Lukas Wirth 4e2e1bf6ed fix: Fix parser panicking on invalid asm options 2024-09-05 17:07:10 +02:00
Lukas Wirth 20e9c8d110 asm! parsing and lowering fixes 2024-09-05 15:08:16 +02:00
Lukas Wirth 72980c417c Fix name fetching being incorrect for asm operands 2024-09-05 13:41:03 +02:00
Lukas Wirth 2120b38adf Add missing doc comments 2024-09-05 13:19:32 +02:00
Lukas Wirth bdb734b63a Support more IDE features for asm operands 2024-09-05 13:19:02 +02:00
Lukas Wirth f3b6965f90 Give InlineAsmOperand a HIR representation 2024-09-05 12:40:48 +02:00
Lukas Wirth 304f54e023 Add Definition kind for asm register operand 2024-09-05 10:53:07 +02:00
Lukas Wirth 44e3b7d205 Add Definition kind for asm register classes 2024-09-05 10:23:00 +02:00
Lukas Wirth 1328b52e91 Lower asm expressions 2024-09-05 09:59:08 +02:00
Lukas Wirth 7222f2de38 Parse builtin#asm expressions 2024-09-04 14:09:03 +02:00
bors 1c26c99fcd Auto merge of #18045 - Veykril:fix-loop-lower, r=Veykril
fix: Fix lowering of for loops dropping the loop block
2024-09-04 10:03:39 +00:00
Lukas Wirth 1e7d99ff43 fix: Fix lowering of for loops dropping the loop block 2024-09-04 12:00:16 +02:00
bors 0b432fc32c Auto merge of #18044 - Veykril:highlight-kw-test, r=Veykril
internal: Add edition dependent keyword highlighting tests
2024-09-04 09:49:17 +00:00
Lukas Wirth 01b1bfd18a Add edition dependent keyword highlighting tests 2024-09-04 11:32:59 +02:00
bors b7138a816d Auto merge of #18036 - Veykril:smol_str, r=Veykril
Bump `smol_str`
2024-09-03 09:59:33 +00:00
Lukas Wirth 17e5f01d2b Bump smol_str 2024-09-03 11:54:33 +02:00
bors c01d5e03f2 Auto merge of #17984 - ShoyuVanilla:cast, r=Veykril
feat: Implement cast typecheck and diagnostics

Fixes  #17897 and fixes #16564
Mainly adopted from https://github.com/rust-lang/rust/blob/100fde5246bf56f22fb5cc85374dd841296fce0e/compiler/rustc_hir_typeck/src/cast.rs
2024-09-03 06:00:10 +00:00
bors 6faf40992e Auto merge of #18031 - roife:suggest-name-in-completion, r=Veykril
feat: Suggest name in completion for let_stmt and fn_param

fix #17780

1. Refactor: move `ide_assist::utils::suggest_name` to `ide-db::syntax_helpers::suggest_name` for reuse.
2. When completing `IdentPat`, detecte if the current node is a `let_stmt` or `fn_param`, and suggesting a new name based on the context.
2024-09-03 05:45:53 +00:00
roife ef491f2299 tests: suggesting names in completions for let_stmt and fn_param 2024-09-03 05:23:04 +08:00
roife 5f7fcbe0d4 feat: suggest name in let_stmt and fn_param 2024-09-03 05:22:55 +08:00
roife b880890e59 refactor: move ide_assist::utils::suggest_name to ide-db 2024-09-03 05:21:05 +08:00
Shoyu Vanilla 111c690426 feat: Implement cast typechecks 2024-09-03 04:11:36 +09:00
bors c2f9b47c21 Auto merge of #18029 - lnicola:minor-stuff, r=lnicola
minor: fix two nits
2024-09-02 17:07:43 +00:00
Laurențiu Nicola 2f8ef4c887 Merge some strings 2024-09-02 20:05:35 +03:00
Laurențiu Nicola 42ed30f0c6 Avoid Option::is_none_or for a while 2024-09-02 20:04:35 +03:00
bors 090a38cd94 Auto merge of #18028 - Veykril:lifetime-hints-panic, r=Veykril
fix: lifetime hint panic in non generic defs
2024-09-02 16:05:36 +00:00
Lukas Wirth 011a1fc41f fix: lifetime hint panic in non generic defs 2024-09-02 18:04:21 +02:00
bors 86c6382a53 Auto merge of #18016 - IvarWithoutBones:wrap-return-ty-local-result, r=Veykril
fix: use Result type aliases in "Wrap return type in Result" assist

This commit makes the "Wrap return type in Result" assist prefer type aliases of standard library type when the are in scope, use at least one generic parameter, and have the name `Result`.

The last restriction was made in an attempt to avoid false assumptions about which type the user is referring to, but that might be overly strict. We could also do something like this, in order of priority:
* Use the alias named "Result".
* Use any alias if only a single one is in scope, otherwise:
* Use the standard library type.

This is easy to add if others feel differently that is appropriate, just let me know.

Fixes #17796
2024-09-02 11:33:44 +00:00
bors 7a0fc46551 Auto merge of #18026 - Veykril:completions, r=Veykril
internal:  Adjust completions scoring
2024-09-02 11:19:33 +00:00
Lukas Wirth 3414a9e94f Adjust completions scoring 2024-09-02 13:17:52 +02:00
Lukas Wirth f5ccde6d45 Simplify CompletionRelevance 2024-09-02 13:17:49 +02:00
bors fb38e4b851 Auto merge of #18025 - cuishuang:master, r=lnicola
minor: remove repetitive words
2024-09-02 10:48:27 +00:00
cuishuang ddb1e41e50 chore: fix some comments
Signed-off-by: cuishuang <imcusg@gmail.com>
2024-09-02 18:33:23 +08:00
Ivar Scholten 92b8b56766 fix: use Result type aliases in "Wrap return type in Result" assist
This commit makes the "Wrap return type in Result" assist prefer type aliases of standard library
type when the are in scope, use at least one generic parameter, and have the name "Result".

The last restriction was made in an attempt to avoid false assumptions about which type the
user is referring to, but that might be overly strict. We could also do something like this, in
order of priority:

* Use the alias named "Result".
* Use any alias if only a single one is in scope, otherwise:
* Use the standard library type.

This is easy to add if others feel differently that is appropriate, just let me know.
2024-09-02 02:00:19 +02:00
bors c7f4874be0 Auto merge of #17967 - Veykril:mbe-tests, r=Veykril
internal: Lay basic ground work for standalone mbe tests

Most of our mbe hir-def tests don't actually do anything name res relevant, we can (and should) move those down the stack into `mbe/hir-expand`.
2024-09-01 11:44:58 +00:00
Lukas Wirth 01b7676fe7 internal: Lay basic ground work for standalone mbe tests 2024-09-01 12:42:44 +02:00
bors 0b926e4eab Auto merge of #17985 - riverbl:explicit-enum-discriminant, r=Veykril
Add explicit enum discriminant assist

Add assist for adding explicit discriminants to all variants of an enum.

Closes #17798.
2024-09-01 09:38:28 +00:00
Lukas Wirth 61b0374cc4 minor: Reduce friction for updating minicore 2024-09-01 11:32:55 +02:00
bors 28bc643e52 Auto merge of #17737 - hyf0:hyf_32089420384, r=Veykril
feat(ide-completion): extra sugar auto-completion `async fn ...` in `impl trait` for `async fn in trait` that's defined in desugar form

Solves #17719.

---

Preview

<img width="670" alt="image" src="https://github.com/user-attachments/assets/64ccef84-4062-4702-8760-89220585f422">

<img width="540" alt="image" src="https://github.com/user-attachments/assets/d22637f9-d531-43b2-a9f1-cd40a002903a">

<img width="631" alt="image" src="https://github.com/user-attachments/assets/21cd2142-bb8e-4493-9ac7-e6a9e7076904">
2024-09-01 09:24:04 +00:00
Lukas Wirth e233c3ae22 Complete desugared and resugared async fn in trait impls 2024-09-01 11:22:50 +02:00
bors 7f9f966771 Auto merge of #18020 - Veykril:cyclic-deps, r=Veykril
minor: Downgrade cyclic deps error to warning

As the issue here is no longer workable for us and this appearing for some repos due to package cycles which can cause we should downgrade it as some people tend to think this breaks r-a when it doesn't
2024-09-01 08:09:12 +00:00
Yunfei fc9ff79519 feat(ide-completion): extra sugar auto-completion async fn ... in impl trait for async fn in trait that's defined in desugar form 2024-09-01 10:08:25 +02:00
Lukas Wirth f558be0359 minor: Downgrade cyclic deps error to warning 2024-09-01 10:02:41 +02:00
bors b9872842af Auto merge of #18015 - ChayimFriedman2:flip-comma-attribute, r=Veykril
Handle attributes correctly in "Flip comma"

Attributes often contain path followed by a token tree (e.g. `align(2)`), and the previous code handled them as two separate items, which led to results such as `#[repr(alignC, (2))]`.

An alternative is to just make the assist unavailable in attributes, like we do in macros. But contrary to macros, attributes often have a fixed form, so this seems useful.

Fixes #18013.
2024-09-01 06:25:29 +00:00
bors 20ed8ce78c Auto merge of #18006 - ChayimFriedman2:hide-deprecated, r=Veykril
Provide an option to hide deprecated items from completion

Fixes #17989.

I wonder if this should be instead done in the editor, that will do it in a language-agnostic way. Can't hurt to do it in rust-analyzer, I guess.
2024-09-01 06:06:49 +00:00
Chayim Refael Friedman 89a39d918f Handle attributes correctly in "Flip comma"
Attributes often contain path followed by a token tree (e.g. `align(2)`, and the previous code handled them as two separate items, which led to results such as `#[repr(alignC, (2))]`.

An alternative is to just make the assist unavailable in attributes, like we do in macros. But contrary to macros, attributes often have a fixed form, so this seems useful.
2024-09-01 02:07:05 +03:00
Chayim Refael Friedman 8116b62fd2 Provide an option to hide deprecated items from completion 2024-09-01 01:04:21 +03:00
riverbl d6573f9b08 Rename function and remove flag argument
Use less confusing name for function, duplicate logic rather than taking flag as argument.
2024-08-31 10:17:37 +01:00
riverbl 5392d56c93 Update generated doctests
Update generated doctests, change unit test to be different to doctest.
2024-08-31 10:17:37 +01:00