bors[bot]
bb1987b45e
Merge #10085
...
10085: fix: avoid panic when parsing extern block r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-08-30 12:57:39 +00:00
Aleksey Kladov
4452f9ec48
internal: improve style
...
Group related stuff together, use only on path for parsing extern blocks
(they actually have modifiers).
Perhaps we should get rid of items_without_modifiers altogether? Better
to handle these kinds on diagnostics in validation layer...
2021-08-30 15:55:40 +03:00
Aleksey Kladov
8dc3b46017
fix: avoid panic when parsing extern block
...
closes #10083
2021-08-30 15:40:47 +03:00
bors[bot]
d250aa77ec
Merge #10015
...
10015: internal: more declarative re-indentation API r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-08-30 08:34:49 +00:00
Aleksey Kladov
0dabcf0044
remove unused serde feature from smol_str
2021-08-28 22:43:37 +03:00
Aleksey Kladov
d1cd81f387
internal: more declarative re-indentation API
2021-08-24 18:18:43 +03:00
bors[bot]
6287d388c0
Merge #9944
...
9944: internal: introduce in-place indenting API r=matklad a=iDawer
Introduce `edit_in_place::Indent` that uses mutable tree API and intended to replace `edit::AstNodeEdit`.
Closes #9903
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
2021-08-24 13:11:50 +00:00
Aleksey Kladov
0a7e57177e
internal: use single env var to controll all benchmarks
2021-08-23 16:40:42 +03:00
Aleksey Kladov
c044493434
⬆️ rowan
...
Just so we don't live on a per-release
2021-08-23 12:10:49 +03:00
Dawer
08694dc1ef
minor: address review comments
2021-08-18 19:04:10 +05:00
Dawer
d6c4165182
internal: introduce in-place indenting API
2021-08-18 16:05:23 +05:00
Aleksey Kladov
3c49a9f079
minor: move functionality to a better place
2021-08-14 20:43:28 +03:00
Aleksey Kladov
78c7940f5c
internal: remove dead code
2021-08-14 20:29:46 +03:00
Aleksey Kladov
e300f58d2c
internal: remove one more usage of old editing API.
2021-08-14 20:17:16 +03:00
Aleksey Kladov
dc17b35e62
internal: remove a remnant of old editing infra
2021-08-14 18:24:42 +03:00
Aleksey Kladov
90357a9090
internal: merge hir::BinaryOp and ast::BinOp
2021-08-14 18:10:01 +03:00
Aleksey Kladov
fe4f059450
internal: prepare to merge hir::BinaryOp and ast::BinOp
2021-08-14 17:07:51 +03:00
Aleksey Kladov
6df00f8495
internal: make naming consistent
2021-08-14 17:01:28 +03:00
Aleksey Kladov
faa420fc32
internal: prepare a dedicated module for all operators
2021-08-14 16:58:46 +03:00
Jonas Schievink
d568e7686a
Support if let
match guards
2021-08-13 00:25:14 +02:00
Yoshua Wuyts
97ec6a27ec
add make::ext::path_from_idents
2021-08-12 12:17:09 +02:00
Yoshua Wuyts
1cf7af7032
wip enum record/tuple generation
2021-08-10 22:08:14 +02:00
Yoshua Wuyts
20c3b20db3
add make::expr_op
2021-08-10 19:48:32 +02:00
mahdi-frms
9ca73528ee
generate method assist
2021-08-09 21:06:24 +04:30
bors[bot]
5664a2b0b3
Merge #9814
...
9814: Generate default impl when converting `#[derive(Debug)]` to manual impl r=yoshuawuyts a=yoshuawuyts
This patch makes it so when you convert `#[derive(Debug)]` to a manual impl, a default body is provided that's equivalent to the original output of `#[derive(Debug)]`. This should make it drastically easier to write custom `Debug` impls, especially when all you want to do is quickly omit a single field which is `!Debug`.
This is implemented for enums, record structs, tuple structs, empty structs - and it sets us up to implement variations on this in the future for other traits (like `PartialEq` and `Hash`).
Thanks!
## Codegen diff
This is the difference in codegen for record structs with this patch:
```diff
struct Foo {
bar: String,
}
impl fmt::Debug for Foo {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- todo!();
+ f.debug_struct("Foo").field("bar", &self.bar).finish()
}
}
```
Co-authored-by: Irina Shestak <shestak.irina@gmail.com>
Co-authored-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
Co-authored-by: Yoshua Wuyts <yoshuawuyts+github@gmail.com>
2021-08-08 22:30:37 +00:00
Lukas Wirth
3b7c713af3
Implement if_to_bool_then assist
2021-08-08 17:56:34 +02:00
Yoshua Wuyts
4b7ae9fedc
generate Debug for enums
2021-08-08 16:26:25 +02:00
Yoshua Wuyts
fd7236c791
debug for record field structs
2021-08-08 16:26:25 +02:00
Lukas Wirth
c4a119f433
Simplify
2021-08-07 22:16:15 +02:00
bors[bot]
80f522091a
Merge #9790
...
9790: fix: extract_type_alias extracts generics correctly r=Veykril a=Veykril
Fixes #8335
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-08-05 00:54:49 +00:00
Lukas Wirth
b6d574642d
extract_type_alias extracts generics correctly
2021-08-05 02:54:06 +02:00
Jade
775670e32c
Split the test
2021-08-04 03:01:48 -07:00
Jade
b90ed92a5c
Support exclusive_range_pattern
...
Fix #9779
2021-08-03 21:36:29 -07:00
Jade
e3a67ccec6
tree-wide: fix rustdoc warnings, add some links
2021-08-03 21:34:20 -07:00
Lukas Wirth
1edbaa29f9
Wrap inner tail expressions in MissingOkOrSomeInTailExpr
2021-07-31 20:00:09 +02:00
bors[bot]
0cf28cedef
Merge #9740
...
9740: feat: `add_explicit_type` is applicable for closure parameters r=Veykril a=Veykril
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8886
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-31 12:05:41 +00:00
Lukas Wirth
778e6e8ba8
add_explicit_type is applicable for closure parameters
2021-07-31 14:04:34 +02:00
Laurențiu Nicola
90e05ba57e
Bump deps
2021-07-31 11:25:03 +03:00
bors[bot]
1f817833e7
Merge #9727
...
9727: internal: Simplify extract_function assist r=Veykril a=Veykril
also fixes #7839(blocked on #9728 )
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-30 14:56:50 +00:00
bors[bot]
0a3ac7a96c
Merge #9728
...
9728: fix: Attach comma token to MATCH_ARM instead of MATCH_ARM_LIST r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-30 14:11:37 +00:00
Lukas Wirth
82c1e61887
Fix assists assuming comma belonging to MATCH_ARM_LIST
2021-07-30 16:01:26 +02:00
Lukas Wirth
f04cff102f
Simplify
2021-07-30 13:12:52 +02:00
Lukas Wirth
4de447b293
Attach comma token to MATCH_ARM instead of MATCH_ARM_LIST
2021-07-29 23:02:52 +02:00
Lukas Wirth
b21f66fce3
Simplify extract_function assist
2021-07-29 22:07:56 +02:00
Lukas Wirth
b537cb186e
Use more strictly typed syntax nodes for analysis in extract_function assist
2021-07-29 17:26:37 +02:00
Alexander Gonzalez
e57ad5456c
fix: Typos
2021-07-27 18:31:21 -04:00
Lukas Wirth
f43cd562bc
Fix generic_arg not parsing opt_generic_arg_list properly in arg lists
2021-07-26 15:21:19 +02:00
Lukas Wirth
dfdf6fd9f8
Fix some more basic clippy lints
2021-07-21 20:52:08 +02:00
Lukas Wirth
f6cb42fdb8
Restrict completions inside visibility modifiers
2021-07-20 18:37:52 +02:00
bors[bot]
ea105f9396
Merge #9619
...
9619: Support GATs for associated type arg parsing r=Veykril a=Veykril
Fixes #9602
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-18 09:10:56 +00:00