bors
eb3963b22e
Auto merge of #13817 - WaffleLapkin:hide_adjustment_hints_outside_of_unsafe, r=Veykril
...
feat: Add an option to hide adjustment hints outside of `unsafe` blocks and functions
As the title suggests: this PR adds an option (namely `rust-analyzer.inlayHints.expressionAdjustmentHints.hideOutsideUnsafe`) that allows to hide adjustment hints outside of `unsafe` blocks and functions:
![2022-12-21_23-11](https://user-images.githubusercontent.com/38225716/208986376-d607de62-8290-4e16-b7fe-15b762dc5f60.png )
Requested by `@BoxyUwU` <3
2022-12-22 09:37:00 +00:00
Waffle Maybe
1038db5f1d
Apply suggestions from code review
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-12-21 23:00:12 +00:00
bors
271f7b44d3
Auto merge of #13699 - HKalbasi:inlaylink, r=Veykril
...
Implement location link for type inlay hints
fix #11701
This actually doesn't work due a problem in vscode: https://github.com/microsoft/vscode/issues/167564
2022-12-21 21:43:38 +00:00
Maybe Waffle
608dc492ea
Move is_inside_unsafe
to Semantics
impl
2022-12-21 20:36:05 +00:00
bors
c2840c809a
Auto merge of #13814 - Veykril:layout, r=Veykril
...
Calculate the TargetDataLayout correctly for the selected target
This fails the tests still since those don't call into rustc yet
2022-12-21 19:38:51 +00:00
Maybe Waffle
3bfe7040e8
Add an option to hide adjustment hints outside of unsafe blocks
2022-12-21 19:20:42 +00:00
Maybe Waffle
4748357045
Drive-by cleanup: fully qualify ast::Expr
in hir
2022-12-21 18:17:42 +00:00
Lukas Wirth
33591cd3f4
Calculate the TargetDataLayout correctly for the selected target
2022-12-21 15:11:24 +01:00
hkalbasi
801a2231bf
Implement location link for type inlay hints
2022-12-21 02:18:02 +03:30
Maybe Waffle
91a89efcf2
Save source & target types in hir
's expr_adjustments
2022-12-20 19:33:27 +00:00
Florian Diebold
d3cb032f7e
Make assoc_resolutions always have a Substitution
2022-12-10 17:05:33 +01:00
bors
a3ea20a142
Auto merge of #13725 - bvanjoi:resolve-const-triat-impls, r=flodiebold
...
feat: resolve const for trait impls
Fixed #13694
2022-12-10 13:58:28 +00:00
bvanjoi
7012b50db5
feat: resolve const for trait impls( close #13694 )
2022-12-10 20:06:25 +08:00
bors
518e39bfe6
Auto merge of #13742 - lowr:fix/assoc-type-shorthand-with-gats, r=flodiebold
...
fix: only shift `BoundVar`s that come from outside lowering context
Fixes #13734
There are some free functions `TyLoweringContext` methods call, which do not know anything about current binders in scope. We need to shift in the `BoundVar`s in substitutions that we get from them (#4952 ), but not those we get from `TyLoweringContext` methods.
2022-12-10 11:17:18 +00:00
Ryo Yoshida
46e1486a90
Disallow access to free BoundVar
s outside TyLoweringContext
2022-12-08 20:52:03 +09:00
bors
6e8a54d0f6
Auto merge of #13490 - HKalbasi:layout, r=jonas-schievink
...
Compute data layout of types
cc #4091
Things that aren't working:
* Closures
* Generators (so no support for `Future` I think)
* Opaque types
* Type alias and associated types which may need normalization
Things that show wrong result:
* ~Enums with explicit discriminant~
* SIMD types
* ~`NonZero*` and similar standard library items which control layout with special attributes~
At the user level, I didn't put much work, since I wasn't confident about what is the best way to present this information. Currently it shows size and align for ADTs, and size, align, offset for struct fields, in the hover, similar to clangd. I used it some days and I feel I liked it, but we may consider it too noisy and move it to an assist or command.
2022-12-07 15:22:03 +00:00
hkalbasi
05906da0ec
use rustc crates instead of copy paste
2022-12-07 01:59:38 +03:30
Ryo Yoshida
051c6598be
Resolve macro2's derive helpers in IDE layer
...
Macro2's generally don't have derive helpers, but currently builtin
derive macros are declared with macro2 syntax, which can have derive
helpers.
2022-12-06 16:01:20 +09:00
hkalbasi
86b5b609f1
Compute data layout of types
2022-12-04 00:29:34 +03:30
Laurențiu Nicola
a2a1d99545
⬆️ rust-analyzer
2022-11-23 17:24:03 +02:00
Laurențiu Nicola
79923c382a
⬆️ rust-analyzer
2022-11-09 21:49:10 +02:00
Jonas Schievink
9be0615bde
Don't canonicalize self type when querying FnOnce signature
2022-11-08 18:05:07 +01:00
bors
b0e56ef5e8
Auto merge of #13545 - Veykril:adjustment-hints, r=Veykril
...
Generalize reborrow hints as adjustment hints
Like reborrow hints, these are still mainly useful for teaching/learning
![image](https://user-images.githubusercontent.com/3757771/200073606-b5cd3b95-a9ad-454d-a3c4-d4d89bf45928.png )
2022-11-07 14:38:59 +00:00
Lukas Wirth
ffd7bf8bf9
Bump Cargo rust-version fields to latest stable
2022-11-07 12:59:51 +01:00
Lukas Wirth
c98fc537e6
Generalize reborrow hints as adjustment hints
2022-11-04 21:53:23 +01:00
Jonas Schievink
ecad1a9a6e
Create Callable
s for generic types implementing FnOnce
2022-11-01 16:38:19 +01:00
Laurențiu Nicola
c60b1f6414
⬆️ rust-analyzer
2022-11-01 11:31:31 +02:00
Laurențiu Nicola
8807fc4cc3
⬆️ rust-analyzer
2022-10-26 17:40:41 +03:00
Ryo Yoshida
67f1d8fe2c
Test all generic args for trait when finding matching impl
2022-10-25 23:28:40 +09:00
Ryo Yoshida
6afd0f57eb
Refactor: unwrap Option
once in the beginning of closure
2022-10-24 21:30:31 +09:00
Cameron
3dd2f99c49
fix tests
2022-10-22 06:23:23 +01:00
Lukas Wirth
8047512dca
Revert "feat: Diagnose some incorrect usages of the question mark operator"
2022-10-18 14:18:59 +02:00
Laurențiu Nicola
a99a48e786
⬆️ rust-analyzer
2022-10-18 09:12:49 +03:00
Lukas Wirth
381366f1dd
Diagnose incorrect usages of the question mark operator
2022-10-16 12:58:24 +02:00
Laurențiu Nicola
50f990c46f
Bump smallvec
2022-10-15 12:52:34 +03:00
Laurențiu Nicola
cbce0cda08
Bump anyhow, arbitrary, itertools, semver, serde
2022-10-15 12:52:34 +03:00
Laurențiu Nicola
4f55ebbd4f
⬆️ rust-analyzer
2022-10-11 10:37:35 +03:00
Laurențiu Nicola
df7d39b2ed
Bump once_cell
2022-10-08 21:25:11 +03:00
Wildbook
8862fe6ff2
Fix assertion failure in type inference ( #13352 )
2022-10-05 17:46:56 +02:00
Ryo Yoshida
78977cd86c
Adapt to the new generic parameter/argument order
2022-10-03 02:40:07 +09:00
bors
f88293f777
Auto merge of #13324 - Veykril:trait-impl-completion, r=Veykril
...
Fix trait impl item completions using macro file text ranges
Fixes https://github.com/rust-lang/rust-analyzer/issues/13323
2022-10-01 13:35:08 +00:00
Lukas Wirth
bfd5f00bfc
Fix trait impl item completions using macro file text ranges
2022-10-01 15:34:45 +02:00
bors
17363b341e
Auto merge of #13320 - Veykril:ty-alias-hover, r=Veykril
...
Fix type alias hovers not rendering generic parameters
2022-09-30 22:22:24 +00:00
Lukas Wirth
77cfc9b392
Fix type alias hovers not rendering generic parameters
2022-10-01 00:21:29 +02:00
unexge
b21bf25a07
Collect diagnostics in queries instead of nameres
2022-09-26 19:06:29 +01:00
unexge
89107d5469
Emit unconfigured code diagnostics for fields
2022-09-26 19:04:57 +01:00
Lukas Wirth
0231d19f3f
Fix diagnostics not working in enum variant bodies
2022-09-24 03:07:05 +02:00
Lukas Wirth
7ec9ffa325
Properly support IDE functionality in enum variants
2022-09-24 02:33:59 +02:00
Lukas Wirth
2119c1f351
Fix using incorrect type for variants in DefWithBody::body_type
2022-09-20 17:29:35 +02:00
Lukas Wirth
9f233cd5d2
Parse more repr options
2022-09-20 17:12:27 +02:00