Lúcás Meier
e769a54502
Create an assist for applying De Morgan's law
...
Fixes #1807
This assist can transform expressions of the form `!x || !y` into
`!(x && y)`. This also works with `&&`.
This assist will only trigger if the cursor is on the central logical
operator.
The main limitation of this current implementation is that both operands
need to be an explicit negation, either of the form `!x`, or `x != y`.
More operands could be accepted, but this would complicate the implementation
quite a bit.
2019-10-03 22:48:35 +02:00
Lúcás Meier
ad65ba4062
WIP: Add demorgan application with naive negation
2019-10-03 22:19:46 +02:00
bors[bot]
7d1bb35fb1
Merge #1950
...
1950: Fix parsing of block expressions in "forbid_structs" contexts. r=kjeremy a=goffrie
Forbidding block expressions entirely is too strict; instead, we should only
forbid them in contexts where we are parsing an optional RHS (i.e. the RHS of a
range expression).
Fixes #1773 .
Co-authored-by: Geoffry Song <goffrie@gmail.com>
2019-10-03 15:03:29 +00:00
Geoffry Song
9638adaa40
Fix parsing of block expressions in "forbid_structs" contexts.
...
Forbidding block expressions entirely is too strict; instead, we should only
forbid them in contexts where we are parsing an optional RHS (i.e. the RHS of a
range expression).
2019-10-03 00:39:52 -07:00
bors[bot]
e1c3675951
Merge #1945
...
1945: Handle divergence in type inference for blocks r=flodiebold a=lnicola
Fixes #1944 .
The `infer_basics` test is failing, not sure what to do about it.
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2019-10-02 18:57:20 +00:00
bors[bot]
ba3ec8b150
Merge #1948
...
1948: Update pico-args, flexi_logger and either r=matklad a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-10-02 17:26:57 +00:00
kjeremy
b4e6939760
Update pico-args
2019-10-02 10:58:15 -04:00
kjeremy
79979db944
flexi_logger and either
2019-10-02 10:48:14 -04:00
Laurențiu Nicola
f491567fb3
Handle divergence in type inference for blocks
2019-10-02 17:31:34 +03:00
bors[bot]
31f22d8549
Merge #1938
...
1938: ⬆️ deps r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-30 19:10:57 +00:00
Aleksey Kladov
2643ab1d11
⬆️ deps
2019-09-30 22:05:46 +03:00
bors[bot]
ebfba46112
Merge #1937
...
1937: Added test for check doc strings in directory crates/ r=andreevlex a=andreevlex
#1856
Co-authored-by: Alexander Andreev <andreevlex.as@gmail.com>
2019-09-30 10:46:13 +00:00
Alexander Andreev
a47bca636c
Change user message.
2019-09-30 13:31:28 +03:00
Alexander Andreev
506222a9b1
Drop debug strings.
2019-09-30 12:09:56 +03:00
Alexander Andreev
81efd696cc
Merge branch 'master' into feature/issue/1856
...
# Conflicts:
# crates/ra_assists/src/ast_editor.rs
2019-09-30 12:07:26 +03:00
Alexander Andreev
fdbd6bb11a
Added test for check doc strings in crates.
...
#1856
2019-09-30 11:58:53 +03:00
bors[bot]
733f1d8b70
Merge #1934
...
1934: Parse Path and AttrInput in Attr r=matklad a=uHOOCCOOHu
[Syntax reference](https://doc.rust-lang.org/reference/attributes.html#attributes )
Co-authored-by: uHOOCCOOHu <hooccooh1896@gmail.com>
2019-09-30 08:46:08 +00:00
uHOOCCOOHu
f7e12559cb
Fixes
2019-09-30 16:17:54 +08:00
uHOOCCOOHu
5a4b4f507e
Fix API of Attr
2019-09-30 16:17:53 +08:00
uHOOCCOOHu
71efdaa636
Parse correct AttrInput
2019-09-30 16:11:40 +08:00
bors[bot]
c913b48928
Merge #1936
...
1936: cleanup editor r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-30 07:16:23 +00:00
Aleksey Kladov
4acadbdca6
cleanup editor
2019-09-30 10:08:28 +03:00
Aleksey Kladov
05ca252fb5
remove ast_editor.rs
2019-09-30 10:05:12 +03:00
Aleksey Kladov
054c53aeb9
move remove bounds to ast/edit.rs
2019-09-30 09:56:20 +03:00
Aleksey Kladov
e010b144d5
move field list to ast/edit.rs
2019-09-30 09:27:26 +03:00
Aleksey Kladov
0840ec038b
migrate add impl items to the new editing API
2019-09-28 20:10:53 +03:00
Aleksey Kladov
5dbbfda34a
simplify strip attrs
2019-09-28 19:50:16 +03:00
bors[bot]
dbdf0e24d5
Merge #1931
...
1931: Support the new deprecated tag r=matklad a=arsdragonfly
Which is rendered as a strike-through line. Fixes #1671 .
![深度截图_选择区域_20190927162008](https://user-images.githubusercontent.com/4067473/65799714-ccb4c180-e142-11e9-8e45-ab18964605f3.png )
Co-authored-by: arsdragonfly <arsdragonfly@gmail.com>
2019-09-28 15:59:28 +00:00
bors[bot]
12f617e661
Merge #1932
...
1932: correctly reset chalk state after a panic r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-28 15:51:02 +00:00
Aleksey Kladov
e60677178e
correctly reset chalk state after a panic
2019-09-28 18:49:00 +03:00
arsdragonfly
17d1405a8b
Fix
2019-09-27 20:02:51 -04:00
arsdragonfly
945679e42f
Fix tests
2019-09-27 17:33:14 -04:00
arsdragonfly
84340db87a
Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer
2019-09-27 16:17:23 -04:00
arsdragonfly
d1988a17f4
Support the new deprecated tag
2019-09-27 16:17:02 -04:00
bors[bot]
21fa889cf3
Merge #1930
...
1930: replace horrible hack with a slightly less horrible one r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-27 17:48:00 +00:00
Aleksey Kladov
35f1655b0b
replace horrible hack with a slightly less horrible one
2019-09-27 20:47:36 +03:00
bors[bot]
2b69c84396
Merge #1815
...
1815: Support correct `$crate` expansion in macros r=uHOOCCOOHu a=uHOOCCOOHu
This PR makes normal use cases of `$crate` from macros work as expected.
It makes more macros from `std` work. Type inference works well with `panic`, `unimplemented`, `format`, and maybe more.
Sadly that `vec![1, 2, 3]` still not works, but it is not longer an issue about macro.
Screenshot:
![Screenshot_20190927_022136](https://user-images.githubusercontent.com/14816024/65714465-b4568f80-e0cd-11e9-8043-dd44c2ae8040.png )
Co-authored-by: uHOOCCOOHu <hooccooh1896@gmail.com>
2019-09-27 02:58:26 +00:00
uHOOCCOOHu
edadeb95be
Fix
2019-09-27 10:55:25 +08:00
bors[bot]
fc218ec0d0
Merge #1923
...
1923: Add SubstsBuilder r=flodiebold a=flodiebold
+ further refactoring.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-09-26 21:04:20 +00:00
Florian Diebold
daaf46177e
Add SubstsBuilder
...
+ further refactoring.
2019-09-26 23:03:39 +02:00
bors[bot]
1002e47074
Merge #1921
...
1921: WIP: start simplifying editing API r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-26 19:31:28 +00:00
Aleksey Kladov
d847d53e36
Start simplifying editing API
2019-09-26 22:22:08 +03:00
uHOOCCOOHu
2ecb126f5c
Support $crate
in item and expr place.
2019-09-27 02:05:06 +08:00
uHOOCCOOHu
8cd23a4fb8
Store crate info in MacroDefId
2019-09-27 02:05:06 +08:00
uHOOCCOOHu
128dc5355b
Refactor Name
ready for hygienic macro
2019-09-27 02:04:47 +08:00
bors[bot]
53a30d9e69
Merge #1919
...
1919: move diff to ra_syntax r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-26 12:58:54 +00:00
Aleksey Kladov
1a4b424005
move diff to ra_syntax
2019-09-26 15:56:52 +03:00
bors[bot]
3882231f32
Merge #1918
...
1918: keep ast creation API simple r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-26 12:30:44 +00:00
Aleksey Kladov
183a38fb50
keep ast creation API simple
2019-09-26 15:29:28 +03:00
bors[bot]
d6bbdfefa7
Merge #1917
...
1917: disable periodic GC r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-26 09:33:18 +00:00