Aleksey Kladov
2195ecd7e7
internal: cleanup adt parsing
2021-09-18 00:50:27 +03:00
Aleksey Kladov
d890c767c4
internal: cleanup item parsing
2021-09-18 00:33:42 +03:00
bors[bot]
4badd2faf8
Merge #10265
...
10265: internal: parser cleanups r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-09-17 19:27:32 +00:00
Aleksey Kladov
77e8421d0f
internal: more local parsing tests for macros
2021-09-17 22:21:57 +03:00
Aleksey Kladov
073d5f7733
internal: more focused parsing tests
2021-09-17 22:15:12 +03:00
Aleksey Kladov
55078c81e0
internal: more local test for mod item
2021-09-17 21:53:24 +03:00
Aleksey Kladov
715cd8d938
internal: more local parsing tests
2021-09-17 21:49:01 +03:00
bors[bot]
d44779f8a5
Merge #10260
...
10260: fix: fix names generation in `Generate function` r=Veykril a=iDawer
- Improve fn name computation (close #10176 ).
- Handle tuple indexing expressions in argument position (should close #10241 )
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
2021-09-17 18:35:36 +00:00
Andrzej Głuszak
11a56f886b
assists: turn while into loop
2021-09-16 22:20:27 +02:00
Dawer
4dc33140a3
Imrove fn name computation in Generate function
2021-09-16 21:03:37 +05:00
Aleksey Kladov
940b3afd00
internal: fix bugs in tests by simplifying code
2021-09-13 13:29:27 +03:00
Giles Cope
4ccd90af81
remove unused deps
2021-09-11 16:20:04 +01:00
Aleksey Kladov
682fbbbd5a
minor: modernize
2021-09-06 18:54:16 +03:00
Aleksey Kladov
104cd0ce88
internal: make name consistent with usage
2021-09-06 18:34:03 +03:00
Dawer
a6c650edf6
fix: use placeholder as default type in Generate function
.
2021-09-04 14:24:54 +05:00
Daiki Ihara
4d005e529b
Fix extract_function with macro arg
2021-09-01 11:11:57 +02:00
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