bors[bot]
5cade89d73
Merge #5630
...
5630: Remove dead code r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-07-31 16:56:57 +00:00
Aleksey Kladov
45e6052406
Remove dead code
2020-07-31 18:53:10 +02:00
Aleksey Kladov
c1c97b2896
Fix leading colon
2020-07-31 18:49:42 +02:00
Aleksey Kladov
ddf08daddf
Fix const arguments grammar
2020-07-31 18:46:07 +02:00
Aleksey Kladov
040b4c800d
Fix GenericArgs grammar
2020-07-31 18:41:37 +02:00
Aleksey Kladov
d21b5db891
fixup! Finalize Path grammar
2020-07-31 18:30:02 +02:00
Aleksey Kladov
91781c7ce8
Rename TypeArgList -> GenericArgList
2020-07-31 18:29:29 +02:00
Aleksey Kladov
54fd09a9ca
Finalize Path grammar
2020-07-31 18:27:23 +02:00
Aleksey Kladov
8d28289d0f
Specify literal tokens
2020-07-31 18:16:08 +02:00
Aleksey Kladov
7980a7e19a
Minor
2020-07-31 18:10:46 +02:00
Aleksey Kladov
633aace411
Rename LambdaExpr -> ClosureExpr
2020-07-31 17:08:58 +02:00
Aleksey Kladov
bfcee63e75
Work on expressions grammar
2020-07-31 16:52:08 +02:00
Aleksey Kladov
d4d986c7f8
Item is a Stmt
2020-07-31 15:51:01 +02:00
Aleksey Kladov
a7ca6583fb
Handwrite Stmt
2020-07-31 15:40:48 +02:00
Aleksey Kladov
4d38b0dce1
Move Stmt Grammar
2020-07-31 15:27:40 +02:00
Aleksey Kladov
c04c06c4bc
Finalize WhereClause gramamr
2020-07-31 15:13:00 +02:00
Aleksey Kladov
b250ae6c55
Finalize TypeBound grammar
2020-07-31 15:01:18 +02:00
Aleksey Kladov
a6527ed92c
"Finalize" Types grammar
...
Note that `for` type is rust-analyzer's own invention.
Both the reference and syn allow `for` only for fnptr types, and we
allow them everywhere. This needs to be checked with respect to type
bounds grammar...
2020-07-31 14:40:28 +02:00
Aleksey Kladov
a6e45c6c69
Reame PlaceholderType -> InferType
2020-07-31 14:12:51 +02:00
Aleksey Kladov
08ea2271e8
Rename TypeRef -> Type
...
The TypeRef name comes from IntelliJ days, where you often have both
type *syntax* as well as *semantical* representation of types in
scope. And naming both Type is confusing.
In rust-analyzer however, we use ast types as `ast::Type`, and have
many more semantic counterparts to ast types, so avoiding name clash
here is just confusing.
2020-07-31 12:14:37 +02:00
Aleksey Kladov
e0f21133cd
Reorder
2020-07-31 12:02:42 +02:00
Zac Pullar-Strecker
1fa842c8c9
Update expect tests
2020-07-31 14:49:20 +12:00
Aleksey Kladov
f95f425ae4
Use ty to access most TypeRefs
2020-07-30 21:02:55 +02:00
Aleksey Kladov
2e2642efcc
Remove TypeAscriptionOwner
2020-07-30 20:51:43 +02:00
Aleksey Kladov
fbe60a2e28
simplify
2020-07-30 20:38:15 +02:00
Aleksey Kladov
fcce07d2d1
Finalize attribute grammar
2020-07-30 20:21:32 +02:00
Aleksey Kladov
01d6c3836b
Dead code
2020-07-30 19:10:46 +02:00
Aleksey Kladov
71a4d32562
Minor
2020-07-30 19:10:22 +02:00
Aleksey Kladov
ceca94536c
Finalize visibility grammar
2020-07-30 18:55:49 +02:00
Aleksey Kladov
3dce34aaf8
Introduce GenericParam
2020-07-30 18:52:02 +02:00
Aleksey Kladov
917c89c103
Finaize item grammar
2020-07-30 18:37:46 +02:00
Aleksey Kladov
c5798c4d75
Finalize impl Grammar
2020-07-30 18:28:28 +02:00
Aleksey Kladov
c83467796b
Finalize Trait grammar
2020-07-30 18:17:28 +02:00
Aleksey Kladov
b2cdb0b226
Fix param gramamr
2020-07-30 18:15:08 +02:00
Aleksey Kladov
3cd4112bdc
Finalize const&static grammar
2020-07-30 18:02:20 +02:00
Aleksey Kladov
6b25f640a6
Finalize Enum grammar
2020-07-30 17:57:58 +02:00
Aleksey Kladov
1766aae145
Rename EnumVariant -> Variant
2020-07-30 17:56:53 +02:00
Aleksey Kladov
609680ef97
Rename EnumDef -> Enum
2020-07-30 17:52:53 +02:00
Aleksey Kladov
216a5344c8
Rename StructDef -> Struct
2020-07-30 17:50:40 +02:00
Aleksey Kladov
1ae4721c9c
Finalize union grammar
2020-07-30 17:38:52 +02:00
Aleksey Kladov
8ddbf06e39
Finalize structs grammar
2020-07-30 17:24:07 +02:00
Aleksey Kladov
b043947301
Simplify
2020-07-30 17:19:51 +02:00
Aleksey Kladov
d549f6164c
Simplify codegen
2020-07-30 17:10:44 +02:00
Aleksey Kladov
0a9e3ccc26
Rename FieldDef -> Field
2020-07-30 16:49:13 +02:00
Aleksey Kladov
6f8aa75329
Rename RecordLit -> RecordExpr
2020-07-30 16:21:30 +02:00
Aleksey Kladov
98ec5f2c21
Minor, reorder
2020-07-30 16:12:35 +02:00
Aleksey Kladov
28ef4c375a
Rename TypeParamList -> GenericParamList
2020-07-30 15:36:21 +02:00
Aleksey Kladov
eb2f806344
Rename TypeAliasDef -> TypeAlias
2020-07-30 15:25:46 +02:00
Aleksey Kladov
1142112c70
Rename FnDef -> Fn
2020-07-30 15:16:05 +02:00
Aleksey Kladov
b1332670c7
Rename UseItem -> Use
2020-07-30 14:20:33 +02:00
Aleksey Kladov
e381c02ef3
Add comma list to use tree
2020-07-30 14:20:33 +02:00
Aleksey Kladov
d032f872b6
Finish extern crates grammar
2020-07-30 12:31:07 +02:00
Aleksey Kladov
6cd2131caf
Rename Rename
2020-07-30 11:58:41 +02:00
Aleksey Kladov
7d09e5ed61
Finish Module grammar
2020-07-30 11:50:56 +02:00
Aleksey Kladov
2984da672e
Split ItemList & AssocItemList
2020-07-30 11:50:56 +02:00
Aleksey Kladov
ede5d17b04
Finish SourceFile grammar
2020-07-30 00:46:39 +02:00
Aleksey Kladov
6636f56e79
Rename ModuleItem -> Item
2020-07-30 00:23:03 +02:00
Aleksey Kladov
ba585309ec
Replace rand with oorandom
2020-07-29 19:49:10 +02:00
Aleksey Kladov
76202a2c73
Rename NomialDef -> AdtDef
2020-07-29 19:22:15 +02:00
Aleksey Kladov
3d28292157
Switch to ungrammar from ast_src
...
The primary advantage of ungrammar is that it (eventually) allows one
to describe concrete syntax tree structure -- with alternatives and
specific sequence of tokens & nodes.
That should be re-usable for:
* generate `make` calls
* Rust reference
* Hypothetical parser's evented API
We loose doc comments for the time being unfortunately. I don't think
we should add support for doc comments to ungrammar -- they'll make
grammar file hard to read. We might supply docs as out-of band info,
or maybe just via a reference, but we'll think about that once things
are no longer in flux
2020-07-29 19:18:25 +02:00
Aleksey Kladov
0d1357be05
Dead code
2020-07-29 17:35:12 +02:00
Aleksey Kladov
9fb1624c5e
Remove dead code
2020-07-29 15:46:47 +02:00
Aleksey Kladov
dc18ff51c3
Remove dead code
2020-07-29 15:12:19 +02:00
Aleksey Kladov
627eddbc7e
Owned AST IR
2020-07-29 12:04:22 +02:00
Aleksey Kladov
451edcc098
Add rustc-perf to metrics
2020-07-25 10:35:45 +02:00
Aleksey Kladov
101cdc57c2
Add self-analysis-stats to metrics
2020-07-25 00:16:21 +02:00
Aleksey Kladov
75e67ee74e
Real metrics
2020-07-24 21:07:58 +02:00
Aleksey Kladov
cdddd205f6
Fix metrics
2020-07-24 21:03:49 +02:00
Aleksey Kladov
c0b2b15123
Fix metrics
2020-07-24 20:53:27 +02:00
Aleksey Kladov
cc0c8b2882
Fix email
2020-07-24 20:42:29 +02:00
Aleksey Kladov
d9d00988f2
fix syntax
2020-07-24 20:37:44 +02:00
Aleksey Kladov
ae3506d002
Fix another name
2020-07-24 20:34:30 +02:00
Aleksey Kladov
80d6bdbb30
fix name
2020-07-24 20:21:18 +02:00
Aleksey Kladov
de714640bd
Add metrics
2020-07-24 20:05:16 +02:00
Aleksey Kladov
93dfa39766
Minor
2020-07-24 16:11:24 +02:00
Aleksey Kladov
4f7a3fba59
Replace superslice with API on path to stabilization
2020-07-23 12:59:18 +02:00
Aleksey Kladov
deed44a472
Remove support for jemalloc
...
We only used it for measuring memory usage, but now we can use glibc's
allocator for that just fine
2020-07-22 13:40:45 +02:00
Aleksey Kladov
8339281d4f
Fix typo
2020-07-20 18:59:46 +02:00
Aleksey Kladov
46ac9ff5e3
Simplify exclusion logic
2020-07-18 16:40:10 +02:00
bors[bot]
b8b41c5f41
Merge #5354
...
5354: Add opt-in mimalloc feature r=matklad a=ivan
This adds a `mimalloc` feature to use [mimalloc](https://github.com/microsoft/mimalloc ) via [mimalloc_rust](https://github.com/purpleprotocol/mimalloc_rust ), and a corresponding `cargo xtask install --server --mimalloc`.
In my tests on Linux, mimalloc seems to run consistently faster than jemalloc and uses only slightly more memory in `analysis-stats` on chalk. Also, builds with mimalloc produce a binary 3MB smaller than builds with jemalloc.
A summary of `env time -v cargo run --release -p rust-analyzer -- analysis-stats ../chalk/` runs on NixOS master on an Intel 4790K in VMware Workstation:
<table>
<tr>
<td></td><td>self-reported time</td><td>elapsed time</td><td>max RSS</td>
</tr>
<tr><td>glibc 2.30 run 1</td><td>225.1 sec</td><td>3:46.91</td><td>1075208</td></tr>
<tr><td>glibc 2.30 run 2</td><td>228.4 sec</td><td>3:50.13</td><td>1074996</td></tr>
<tr><td>jemalloc run 1</td><td>201.8 sec</td><td>3:23.03</td><td>1055960</td></tr>
<tr><td>jemalloc run 2</td><td>199.2 sec</td><td>3:20.41</td><td>1065040</td></tr>
<tr><td>mimalloc run 1</td><td>188.6 sec</td><td>3:09.77</td><td>1105584</td></tr>
<tr><td>mimalloc run 2</td><td>185.0 sec</td><td>3:06.23</td><td>1108132</td></tr>
<tr><td>mimalloc + lto run 1</td><td>160.7 sec</td><td>2:41.80</td><td>1106076</td></tr>
<tr><td>mimalloc + lto run 2</td><td>162.2 sec</td><td>2:43.31</td><td>1104268</td></tr>
</tr>
</table>
I included an `lto = true; codegen-units = 1` run out of curiosity, this PR doesn't enable it.
<details>
<summary>analysis-stats benchmark runs</summary>
## default
```
# env time -v cargo run --release -p rust-analyzer -- analysis-stats ../chalk/
Finished release [optimized] target(s) in 0.10s
Running `target/release/rust-analyzer analysis-stats ../chalk/`
[ERROR ra_project_model] cyclic dependency chalk-integration -> chalk-engine
[ERROR ra_project_model] cyclic dependency chalk-recursive -> chalk-integration
[ERROR ra_project_model] cyclic dependency chalk-solve -> chalk-integration
Database loaded 333.880345ms
Crates in this dir: 11
Total modules found: 159
Total declarations: 2631
Total functions: 1947
Item Collection: 10.176299461s, 0b allocated 0b resident
Total expressions: 57094
Expressions of unknown type: 2938 (5%)
Expressions of partially unknown type: 2427 (4%)
Type mismatches: 232
Inference: 214.968806927s, 0b allocated 0b resident
Total: 225.145114417s, 0b allocated 0b resident
Command being timed: "cargo run --release -p rust-analyzer -- analysis-stats ../chalk/"
User time (seconds): 225.34
System time (seconds): 1.49
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:46.91
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1075208
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 6
Minor (reclaiming a frame) page faults: 294711
Voluntary context switches: 365
Involuntary context switches: 3273
Swaps: 0
File system inputs: 2904
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
# env time -v cargo run --release -p rust-analyzer -- analysis-stats ../chalk/
Finished release [optimized] target(s) in 0.10s
Running `target/release/rust-analyzer analysis-stats ../chalk/`
[ERROR ra_project_model] cyclic dependency chalk-integration -> chalk-engine
[ERROR ra_project_model] cyclic dependency chalk-recursive -> chalk-integration
[ERROR ra_project_model] cyclic dependency chalk-solve -> chalk-integration
Database loaded 332.711598ms
Crates in this dir: 11
Total modules found: 159
Total declarations: 2631
Total functions: 1947
Item Collection: 9.895020518s, 0b allocated 0b resident
Total expressions: 57094
Expressions of unknown type: 2938 (5%)
Expressions of partially unknown type: 2427 (4%)
Type mismatches: 232
Inference: 218.5001697s, 0b allocated 0b resident
Total: 228.39519833s, 0b allocated 0b resident
Command being timed: "cargo run --release -p rust-analyzer -- analysis-stats ../chalk/"
User time (seconds): 228.26
System time (seconds): 1.75
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:50.13
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1074996
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 9
Minor (reclaiming a frame) page faults: 294748
Voluntary context switches: 330
Involuntary context switches: 1561
Swaps: 0
File system inputs: 12608
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
```
## jemalloc
```
# env time -v cargo run --release -p rust-analyzer -- analysis-stats ../chalk/
Finished release [optimized] target(s) in 0.11s
Running `target/release/rust-analyzer analysis-stats ../chalk/`
[ERROR ra_project_model] cyclic dependency chalk-integration -> chalk-engine
[ERROR ra_project_model] cyclic dependency chalk-recursive -> chalk-integration
[ERROR ra_project_model] cyclic dependency chalk-solve -> chalk-integration
Database loaded 356.090374ms
Crates in this dir: 11
Total modules found: 159
Total declarations: 2631
Total functions: 1947
Item Collection: 10.176550183s, 439mb allocated 465mb resident
Total expressions: 57094
Expressions of unknown type: 2938 (5%)
Expressions of partially unknown type: 2427 (4%)
Type mismatches: 232
Inference: 191.607201827s, 993mb allocated 1036mb resident
Total: 201.783937913s, 993mb allocated 1036mb resident
Command being timed: "cargo run --release -p rust-analyzer -- analysis-stats ../chalk/"
User time (seconds): 201.07
System time (seconds): 1.89
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:23.03
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1055960
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 357755
Voluntary context switches: 240
Involuntary context switches: 1889
Swaps: 0
File system inputs: 256
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
# env time -v cargo run --release -p rust-analyzer -- analysis-stats ../chalk/
Finished release [optimized] target(s) in 0.10s
Running `target/release/rust-analyzer analysis-stats ../chalk/`
[ERROR ra_project_model] cyclic dependency chalk-integration -> chalk-engine
[ERROR ra_project_model] cyclic dependency chalk-recursive -> chalk-integration
[ERROR ra_project_model] cyclic dependency chalk-solve -> chalk-integration
Database loaded 317.917622ms
Crates in this dir: 11
Total modules found: 159
Total declarations: 2631
Total functions: 1947
Item Collection: 9.902142185s, 439mb allocated 463mb resident
Total expressions: 57094
Expressions of unknown type: 2938 (5%)
Expressions of partially unknown type: 2427 (4%)
Type mismatches: 232
Inference: 189.295317017s, 993mb allocated 1046mb resident
Total: 199.197555943s, 993mb allocated 1046mb resident
Command being timed: "cargo run --release -p rust-analyzer -- analysis-stats ../chalk/"
User time (seconds): 198.64
System time (seconds): 1.67
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:20.41
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1065040
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 369013
Voluntary context switches: 243
Involuntary context switches: 2835
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
```
## mimalloc
```
# env time -v cargo run --release -p rust-analyzer -- analysis-stats ../chalk/
Finished release [optimized] target(s) in 0.12s
Running `target/release/rust-analyzer analysis-stats ../chalk/`
[ERROR ra_project_model] cyclic dependency chalk-integration -> chalk-engine
[ERROR ra_project_model] cyclic dependency chalk-recursive -> chalk-integration
[ERROR ra_project_model] cyclic dependency chalk-solve -> chalk-integration
Database loaded 332.116806ms
Crates in this dir: 11
Total modules found: 159
Total declarations: 2631
Total functions: 1947
Item Collection: 9.796643695s, 0b allocated 0b resident
Total expressions: 57094
Expressions of unknown type: 2938 (5%)
Expressions of partially unknown type: 2427 (4%)
Type mismatches: 232
Inference: 178.82132362s, 0b allocated 0b resident
Total: 188.617975605s, 0b allocated 0b resident
Command being timed: "cargo run --release -p rust-analyzer -- analysis-stats ../chalk/"
User time (seconds): 187.70
System time (seconds): 1.97
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:09.77
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1105584
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 296481
Voluntary context switches: 222
Involuntary context switches: 1868
Swaps: 0
File system inputs: 256
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
# env time -v cargo run --release -p rust-analyzer -- analysis-stats ../chalk/
Finished release [optimized] target(s) in 0.13s
Running `target/release/rust-analyzer analysis-stats ../chalk/`
[ERROR ra_project_model] cyclic dependency chalk-integration -> chalk-engine
[ERROR ra_project_model] cyclic dependency chalk-recursive -> chalk-integration
[ERROR ra_project_model] cyclic dependency chalk-solve -> chalk-integration
Database loaded 320.046776ms
Crates in this dir: 11
Total modules found: 159
Total declarations: 2631
Total functions: 1947
Item Collection: 9.287690124s, 0b allocated 0b resident
Total expressions: 57094
Expressions of unknown type: 2938 (5%)
Expressions of partially unknown type: 2427 (4%)
Type mismatches: 232
Inference: 175.710939697s, 0b allocated 0b resident
Total: 184.998640033s, 0b allocated 0b resident
Command being timed: "cargo run --release -p rust-analyzer -- analysis-stats ../chalk/"
User time (seconds): 184.38
System time (seconds): 1.81
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:06.23
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1108132
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 297055
Voluntary context switches: 374
Involuntary context switches: 2374
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
```
## mimalloc + lto
```
# env time -v cargo run --release -p rust-analyzer -- analysis-stats ../chalk/
Finished release [optimized] target(s) in 0.11s
Running `target/release/rust-analyzer analysis-stats ../chalk/`
[ERROR ra_project_model] cyclic dependency chalk-integration -> chalk-engine
[ERROR ra_project_model] cyclic dependency chalk-recursive -> chalk-integration
[ERROR ra_project_model] cyclic dependency chalk-solve -> chalk-integration
Database loaded 369.600196ms
Crates in this dir: 11
Total modules found: 159
Total declarations: 2631
Total functions: 1947
Item Collection: 7.572726834s, 0b allocated 0b resident
Total expressions: 57094
Expressions of unknown type: 2938 (5%)
Expressions of partially unknown type: 2427 (4%)
Type mismatches: 232
Inference: 153.090899101s, 0b allocated 0b resident
Total: 160.663635235s, 0b allocated 0b resident
Command being timed: "cargo run --release -p rust-analyzer -- analysis-stats ../chalk/"
User time (seconds): 160.01
System time (seconds): 1.70
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:41.80
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1106076
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 1
Minor (reclaiming a frame) page faults: 296610
Voluntary context switches: 209
Involuntary context switches: 2798
Swaps: 0
File system inputs: 8
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
# env time -v cargo run --release -p rust-analyzer -- analysis-stats ../chalk/
Finished release [optimized] target(s) in 0.10s
Running `target/release/rust-analyzer analysis-stats ../chalk/`
[ERROR ra_project_model] cyclic dependency chalk-integration -> chalk-engine
[ERROR ra_project_model] cyclic dependency chalk-recursive -> chalk-integration
[ERROR ra_project_model] cyclic dependency chalk-solve -> chalk-integration
Database loaded 334.630658ms
Crates in this dir: 11
Total modules found: 159
Total declarations: 2631
Total functions: 1947
Item Collection: 7.71699197s, 0b allocated 0b resident
Total expressions: 57094
Expressions of unknown type: 2938 (5%)
Expressions of partially unknown type: 2427 (4%)
Type mismatches: 232
Inference: 154.50351318s, 0b allocated 0b resident
Total: 162.220513775s, 0b allocated 0b resident
Command being timed: "cargo run --release -p rust-analyzer -- analysis-stats ../chalk/"
User time (seconds): 161.52
System time (seconds): 1.74
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:43.31
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1104268
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 296183
Voluntary context switches: 200
Involuntary context switches: 1666
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
```
</details>
Co-authored-by: Ivan Kozik <ivan@ludios.org>
2020-07-15 09:43:08 +00:00
Ivan Kozik
6710856c10
Add opt-in mimalloc feature
2020-07-14 20:57:51 +00:00
Aleksey Kladov
239a6012eb
Check licenses
2020-07-14 17:14:00 +02:00
Yuki Okushi
6f423466d1
Add a license field to all the crates
2020-07-14 10:57:26 +09:00
Aleksey Kladov
6db29e6b8d
Prefill reviewer
2020-07-13 15:35:52 +02:00
Aleksey Kladov
e4b4600752
better language
2020-07-08 22:47:50 +02:00
Veetaha
f92bfb5807
Gzip artifacts
...
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
Override miniz_oxide to build it with optimizations
Building this crate with optimizations decreases the gzipping
part of `cargo xtask dist` from `30-40s` down to `3s`,
the overhead for `rustc` to apply optimizations is miserable on this background
2020-07-07 23:30:11 +03:00
Aleksey Kladov
a614d84ff4
Automate rust-analyzer promotion
2020-07-07 18:38:34 +02:00
Aleksey Kladov
faa65d7856
.
2020-07-07 18:12:22 +02:00
Aleksey Kladov
a92b76d823
sponsors link
2020-07-06 17:13:08 +02:00
Aleksey Kladov
66b6a433c6
Unify naming of generating assists
2020-07-03 19:32:18 +02:00
Aleksey Kladov
4b17a90c41
Add sponsors section to changelog
2020-06-22 15:11:22 +02:00
bors[bot]
f3d73865d6
Merge #4855
...
4855: Use more idiomatic style for lifetimes in generated code r=matklad a=Veetaha
Co-authored-by: Veetaha <veetaha2@gmail.com>
2020-06-12 12:49:30 +00:00
Veetaha
4fefc7d06c
Simplify
2020-06-12 02:56:06 +03:00
Veetaha
33e009ec42
Use more idiomatic style for lifetimes in generated code
2020-06-12 01:23:04 +03:00
Matthew Jasper
506e1ddbfa
Separating parsing of for
in predicates and types
2020-06-10 11:30:58 +01:00
Aleksey Kladov
cbc5eb8738
Refactor
2020-06-08 14:05:14 +02:00
Aleksey Kladov
97ea2dfc4b
Move to a dedicated file
2020-06-08 13:58:54 +02:00
Aleksey Kladov
5315934d88
Don't store generated docs in the repo
2020-06-03 18:26:50 +02:00
veetaha
f2f3c554af
Don't exclude dirs that appear in project root parent path
2020-06-02 23:15:23 +03:00
bors[bot]
62564008f7
Merge #4672
...
4672: Link docs and code r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-05-31 13:36:52 +00:00
Aleksey Kladov
899570ad7a
Link to the specific source line
2020-05-31 15:36:20 +02:00
bors[bot]
d96f3368d6
Merge #4670
...
4670: Move assists documentation into the manual r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-05-31 13:03:55 +00:00
Aleksey Kladov
46292c7cec
Move assists documentation into the manual
2020-05-31 15:02:12 +02:00
bors[bot]
5579ba8af5
Merge #4667
...
4667: Infer labelled breaks correctly r=flodiebold a=robojumper
Fixes #4663 .
Co-authored-by: robojumper <robojumper@gmail.com>
2020-05-31 12:03:24 +00:00
Aleksey Kladov
5a2f4548e5
Rename user/readme.adoc -> user/manual.adoc
2020-05-31 13:22:02 +02:00
Aleksey Kladov
13a996f3b6
Force / slashes on windows
2020-05-31 12:49:06 +02:00
Aleksey Kladov
7e3ee77c83
Tweak whitespace
2020-05-31 12:12:41 +02:00
robojumper
1cd78a3355
correctly infer labelled breaks
2020-05-31 11:40:18 +02:00
Aleksey Kladov
1c6a2eb14a
Move the rest of the features to generated docs
2020-05-31 11:29:19 +02:00
Aleksey Kladov
8915183d7d
Don't require module docs for Features and Assists
2020-05-31 09:59:38 +02:00
Aleksey Kladov
f593393ebb
Specify actions
2020-05-31 09:45:41 +02:00
Aleksey Kladov
5dd6549569
Simplify
2020-05-31 09:28:53 +02:00
Aleksey Kladov
c8f27a4a88
Generate features docs from source
2020-05-31 01:54:54 +02:00
Aleksey Kladov
383247a9ae
Generalize
2020-05-31 00:33:37 +02:00
Aleksey Kladov
e1829d8959
minor
2020-05-30 23:57:16 +02:00
robojumper
367487fe88
Support raw_ref_op's raw reference operator
2020-05-28 21:42:22 +02:00
Aleksey Kladov
80545e5d3a
New assist: add turbo fish
2020-05-20 00:27:10 +02:00
veetaha
b22cf23ad1
Convert TODO about ParamList used in closures to a FIXME
...
cc @matklad (you didn't comment on this one)
2020-05-12 23:58:51 +03:00
veetaha
8d4c11625a
Remove an equals sign from ConstArg
(this probably pertains only to ConstParam)
...
(As per matklad)
2020-05-12 23:57:04 +03:00
veetaha
b31475d316
Remove a comment on NameRefToken as per matklad
2020-05-12 23:55:46 +03:00
veetaha
fcd11dd1a8
Convert TODO to a FIXME as per matklad
2020-05-12 23:54:40 +03:00
veetaha
51edfbaffe
Convert TODO to a Note(matklad)
2020-05-12 23:50:52 +03:00
veetaha
65b380fa8d
Convert to TODOs to FIXMEs as per matklad
2020-05-12 23:48:04 +03:00
veetaha
55a29982c0
Revert "Remove MacroStmts as per edwin0cheng" (cc @edwin0cheng) and add a fixme to document it.
...
This reverts commit 7a49165f5d
.
MacroStmts ast node is not used by itself, but it pertains
to SyntaxNodeKind MACRO_STMTS that is used by ra_paser, so
even tho the node itself is not used, it is better to keep it
with a FIXME to actually add a doc comment when it becomes useful.
2020-05-12 23:45:29 +03:00
veetaha
24b27abf9f
Add a doc comment on the difference between Name and NameRef ast nodes
2020-05-12 23:31:37 +03:00
veetaha
2a5ab9f5dd
Resolve TODO about macro 2.0 def
2020-05-10 22:08:06 +03:00
veetaha
73c6bc4dbd
Fix typo
2020-05-10 21:59:15 +03:00
veetaha
33f240960d
Carify on a semicolon in macro call
2020-05-10 21:57:49 +03:00
veetaha
a1dc28f236
Resolve TODO about curly-braced constructions in expression statement
2020-05-10 21:51:53 +03:00
veetaha
1677f35ef1
Remove TODO about Block since it was removed
2020-05-10 21:46:26 +03:00
veetaha
8a298eed7a
Resolve todos about refs and empty statements
2020-05-10 21:44:14 +03:00
veetaha
f5e2e02aa9
Converted TODO about MacroItems to FIXME as per edwin0cheng
2020-05-10 21:06:12 +03:00
veetaha
71f2be968b
Verified ConstArg example, waiting for response on what =
sign pertains to
2020-05-10 21:02:21 +03:00
veetaha
f6fd4c4a74
Correcy use tree and type args docs
2020-05-10 20:52:25 +03:00
veetaha
2af6b4b67e
Correct use
cannot have type args as per flodiebold
2020-05-10 20:23:29 +03:00
veetaha
a19b164661
Correct path docs and add colon2 token to Path ast node
2020-05-10 20:21:46 +03:00
veetaha
eedf11ae88
Add example with const in TypeBound as per flodiebold
2020-05-10 19:24:06 +03:00
veetaha
5707c2d7a6
Remove todo comment about arg vs param difference as per clarification from flodiebold
2020-05-10 19:19:56 +03:00
veetaha
09c438b47e
Properly document const impl as per flodiebold
2020-05-10 19:17:46 +03:00
veetaha
80c529d1dc
Remove on TypeAliasDef as per flodiebold
2020-05-10 19:15:04 +03:00
veetaha
7a49165f5d
Remove MacroStmts as per edwin0cheng
2020-05-10 19:11:22 +03:00
veetaha
258a3461b4
Add proper docs for TokenTree as per edwin0cheng
2020-05-10 19:09:36 +03:00
veetaha
e0e384a34a
Add ast docs to codegen script
2020-05-10 19:05:51 +03:00
Timo Freiberg
8a5d14453e
Add fixture doc comment
2020-05-06 18:09:28 +02:00
Aleksey Kladov
845d47759e
Simplify tidy tests
2020-05-06 10:25:34 +02:00
Aleksey Kladov
eea431180e
Regenerate
2020-05-06 10:21:35 +02:00
Aleksey Kladov
4a6fa8f0df
Rename AtomTextEdit -> Indel
2020-05-05 23:15:49 +02:00
Edwin Cheng
92665358cd
Rename ImplItem to AssocItem
2020-05-05 23:56:10 +08:00
Edwin Cheng
f90fbaf6a6
Add documents owner for ImplDef and SourceFile
2020-05-03 18:00:27 +08:00
Aleksey Kladov
4f2134cc33
Introduce EffectExpr
2020-05-02 11:21:39 +02:00
Aleksey Kladov
fd030f9450
Revert "Merge #4233 "
...
This reverts commit a5f2b16366
, reversing
changes made to c96b2180c1
.
2020-05-02 01:12:37 +02:00
bors[bot]
21588e15df
Merge #4246
...
4246: Validate uses of self and super r=matklad a=djrenren
This change follows on the validation of the `crate` keyword in paths. It verifies the following things:
`super`:
- May only be preceded by other `super` segments
- If in a `UseItem` then all semantically preceding paths also consist only of `super`
`self`
- May only be the start of a path
Just a note, a couple times while working on this I found myself really wanting a Visitor of some sort so that I could traverse descendants while skipping sub-trees that are unimportant. Iterators don't really work for this, so as you can see I reached for recursion. Considering paths are generally small a fancy debounced visitor probably isn't important but figured I'd say something in case we had something like this lying around and I wasn't using it.
Co-authored-by: John Renner <john@jrenner.net>
2020-05-01 19:24:25 +00:00
John Renner
3bb46042fb
Validate uses of self and super
2020-05-01 08:59:24 -07:00
Aleksey Kladov
292ba6a1f8
Remove dead code, which elaborately pretends to be alive
2020-04-30 22:41:14 +02:00
Aleksey Kladov
15cfa9a808
Fix a bunch of false-positives in join-lines
2020-04-30 22:08:50 +02:00
Aleksey Kladov
5f0008040e
Allow to set env vars and pipe stdin via not_bash
2020-04-30 15:20:47 +02:00
bors[bot]
36775ef0d0
Merge #4219
...
4219: Avoid `rustup` invocation for non-rustup rust installation r=matklad a=oxalica
Fix #4218 and #3243 .
Co-authored-by: oxalica <oxalicc@pm.me>
2020-04-30 11:59:29 +00:00
bors[bot]
95e8766db6
Merge #4178
...
4178: Validate the location of `crate` in paths r=matklad a=djrenren
**This solution does not fully handle `use` statements. See below**
This pull requests implements simple validation of usages of the `crate` keyword in `Path`s. Specifically it validates that:
- If a `PathSegment` is starts with the `crate` keyword, it is also the first segment of the `Path`
- All other usages of `crate` in `Path`s are considered errors.
This aligns with `rustc`'s rules. Unlike rustc this implementation does not issue a special error message in the case of `::crate` but it does catch the error.
Furthermore, this change does not cover all error cases. Specifically the following is not caught:
```rust
use foo::{crate}
```
This is because this check is context sensitive. From an AST perspective, `crate` is the root of the `Path`. Only by inspecting the full `UseItem` do we see that it is not in fact the root. This problem becomes worse because `UseTree`s are allowed to be arbitrarily nested:
```rust
use {crate, {{crate, foo::{crate}}}
```
So this is a hard problem to solve without essentially a breadth-first search. In a traditional compiler, I'd say this error is most easily found during the AST -> HIR conversion pass but within rust-analyzer I'm not sure where it belongs.
Under the implementation in this PR, such errors are ignored so we're *more correct* just not *entirely correct*.
Co-authored-by: John Renner <john@jrenner.net>
2020-04-30 10:17:40 +00:00
oxalica
a1e84516e8
Avoid rustup
invocation for non-rustup rust installation
2020-04-30 17:53:38 +08:00
John Renner
0af727da91
Validate the location of crate
in paths
2020-04-29 11:06:51 -07:00
Laurențiu Nicola
77de40192e
Use x86_64-unknown-linux-gnu for releases
2020-04-28 20:47:13 +03:00
kjeremy
4378c63272
Bump required rust to 1.43
2020-04-23 11:56:32 -04:00
veetaha
972d3b2ba3
Group generated ast boilerplate apart from the interesting part
2020-04-18 23:51:13 +03:00
veetaha
21b98d585e
Refucktor codegen
2020-04-18 21:46:24 +03:00
Benjamin Coenen
828f69ce54
tests: add more info about what failed in tidy tests
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-17 10:32:12 +02:00
Timo Freiberg
1231418f31
Change add_function assist to use todo!()
2020-04-13 22:17:06 +02:00
Aleksey Kladov
5e5eb6a108
Align grammar for record patterns and literals
...
The grammar now looks like this
[name_ref :] pat
2020-04-12 00:00:15 +02:00
Chris Hopman
af04d45d32
Change missing impl assist to use todo!() instead of unimplemented()
...
todo!() "Indicates unfinished code" (https://doc.rust-lang.org/std/macro.todo.html )
Rust documentation provides further clarification:
> The difference between unimplemented! and todo! is that while todo!
> conveys an intent of implementing the functionality later and the
> message is "not yet implemented", unimplemented! makes no such claims.
todo!() seems more appropriate for assists that insert missing impls.
2020-04-10 13:56:12 -07:00
Aleksey Kladov
c476742f47
Simplify
2020-04-10 17:47:49 +02:00
Aleksey Kladov
5c5bde47fb
Rename some tokens
2020-04-10 17:07:09 +02:00
Aleksey Kladov
d4332760d8
Better readability
2020-04-10 16:10:28 +02:00
Aleksey Kladov
e0f02d233f
Remove dead code
2020-04-10 16:10:28 +02:00
Aleksey Kladov
4560fe2abf
Generate only minimal set of ineresting tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
8d71a6bf0c
Scale token generation back
2020-04-10 16:10:28 +02:00
Aleksey Kladov
779f06ed77
Convert more tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
548f562dda
Other delimiters
2020-04-10 16:10:28 +02:00
Aleksey Kladov
460c8bbdec
Curley tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
1c5d859195
Start replacing tokens
2020-04-10 16:10:28 +02:00
Aleksey Kladov
c8b4c36f81
Semicolon token
2020-04-10 16:10:28 +02:00
Aleksey Kladov
f89f2e3885
More readable ast_src for keywords
2020-04-10 16:10:28 +02:00
Aleksey Kladov
ff5643c524
Simplify
2020-04-10 16:10:27 +02:00
Aleksey Kladov
30084a56a5
Simpler acessors for keywords
2020-04-09 23:42:01 +02:00
Aleksey Kladov
0ed27c388a
Drop needless trait
2020-04-09 23:02:10 +02:00
Aleksey Kladov
2bfb65db93
Be consistent about token accesors
2020-04-09 18:48:13 +02:00
Aleksey Kladov
e6d22187a6
Add _token suffix to token accessors
...
I think this makes is more clear which things are : AstNode and which
are : AstToken
2020-04-09 18:25:36 +02:00
Aleksey Kladov
56c8581b90
Put displays at the end
2020-04-09 18:11:16 +02:00
Aleksey Kladov
9285cbffb6
More compact
2020-04-09 18:08:54 +02:00
Aleksey Kladov
6fd2a12495
More compact generated code
2020-04-09 18:07:16 +02:00
Aleksey Kladov
4a063e651f
Move the rest of the tokens to generated/tokens
2020-04-09 17:58:15 +02:00
Aleksey Kladov
c80795e274
Move generated tokens to a separate file
2020-04-09 17:47:46 +02:00
Aleksey Kladov
59b6b2278b
Start ast/generated/tokens
2020-04-09 16:25:06 +02:00
Aleksey Kladov
d61932ef7e
Prepare for spliting generated into tokens and nodes
2020-04-09 16:17:18 +02:00
Aleksey Kladov
0fc8c5cca0
Reduce visibility
2020-04-09 15:49:17 +02:00
Aleksey Kladov
6379061e21
Cleanup import
2020-04-09 15:47:48 +02:00
Aleksey Kladov
689661c959
Scale back to only two traits
2020-04-09 13:00:09 +02:00
Luca Barbieri
60f4d7bd8c
Provide more complete AST accessors to support usage in rustc
2020-04-09 11:50:37 +02:00
Aleksey Kladov
8f01e62bb9
Scale back the traits
2020-04-09 11:04:18 +02:00
Luca Barbieri
68196ccc10
Add AstElement trait, generate tokens, support tokens in enums
...
- Adds a new AstElement trait that is implemented by all generated
node, token and enum structs
- Overhauls the code generators to code-generate all tokens, and
also enhances enums to support including tokens, node, and nested
enums
2020-04-08 17:15:12 +02:00
Aleksey Kladov
9e3c843847
fmt
2020-04-08 12:19:41 +02:00
Aleksey Kladov
ffb7ea678b
Don't strip nightly releases
2020-04-08 11:47:40 +02:00
Aleksey Kladov
372e684f6e
When making a release, just promote the latest nightly
2020-04-07 11:42:36 +02:00
Aleksey Kladov
da8eb29a2f
Macro patterns are not confused with expressions.
...
We treat macro calls as expressions (there's appropriate Into impl),
which causes problem if there's expresison and non-expression macro in
the same node (like in the match arm).
We fix this problem by nesting macor patterns into another node (the
same way we nest path into PathExpr or PathPat). Ideally, we probably
should add a similar nesting for macro expressions, but that needs
some careful thinking about macros in blocks: `{ am_i_expression!() }`.
2020-04-03 16:12:38 +02:00
Aleksey Kladov
db34abeb85
Get rid of ItemOrMacro
2020-03-26 16:10:01 +01:00
Aleksey Kladov
b605271d7f
Fix formatting
2020-03-23 15:20:49 +01:00
Aleksey Kladov
59f6bf87d6
Fix release
2020-03-23 14:33:44 +01:00
Josh Mcguigan
90c66470f9
gen_assists_docs skip hidden files
2020-03-21 09:39:45 -07:00
Aleksey Kladov
4b5435b52b
Make from-source install use cargo installed binary by default
2020-03-20 13:07:12 +01:00
Aleksey Kladov
3d1cb5e20f
Simplify extension tag sniffing
2020-03-19 09:37:03 +01:00
Aleksey Kladov
e511b3280f
Make xtask dist more reliable
2020-03-18 13:23:44 +01:00
Aleksey Kladov
de7662c852
Check that no file contains trailing ws
...
rustfmt allows trailing spaces in string literals unfortunately.
2020-03-17 11:42:54 +01:00
Aleksey Kladov
8f6efa01b2
Tidier tidy checks
2020-03-17 10:27:09 +01:00
Aleksey Kladov
ebab250b6b
Fix version
2020-03-16 13:39:13 +01:00
Aleksey Kladov
680182d0a0
Restore cargo-fmt gating
2020-03-13 12:54:32 +01:00
Aleksey Kladov
afd64ef4f7
Merge pull request #3562 from FireofGods/display_for_node
...
Add `std::fmt::Display` as a supertrait for `AstNode`
2020-03-12 15:40:53 +01:00
Fireassember
31eec5e80c
implementing Display for enums too.
2020-03-11 22:54:24 +02:00
Aleksey Kladov
bf3eef8897
Set extension version during release
2020-03-09 14:24:00 +01:00
Aleksey Kladov
5770fa71fa
Disable jemalloc, it doesn't work out of the box with musl
2020-03-09 13:55:14 +01:00
Aleksey Kladov
264ce7b722
Use jemalloc for linux builds
2020-03-09 12:35:31 +01:00
Fireassember
787043496a
added fmt::Display as a supertrait for AstNode and changed generation.
2020-03-06 19:29:30 +02:00
bors[bot]
aec78f090c
Merge #3472
...
3472: Fix dist again r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-03-05 10:56:12 +00:00
Aleksey Kladov
700a1a3175
Fix dist again
2020-03-05 11:55:34 +01:00
Aleksey Kladov
ca62f568be
Remove pwd
2020-03-05 11:25:23 +01:00
Aleksey Kladov
166c07b28d
Install node deps during dist
2020-03-05 11:11:47 +01:00
Aleksey Kladov
4a48256f0e
Don't disable proposed features for nightly
2020-03-04 21:35:31 +01:00
Aleksey Kladov
694ca4e185
Build server via dist as well
2020-03-04 18:56:20 +01:00
Aleksey Kladov
558608548f
Hopefully fix YAML syntax
2020-03-04 18:45:56 +01:00
Aleksey Kladov
fd586e58d9
cargo xtask dist
...
This builds the typescript extension
2020-03-04 18:18:20 +01:00
Christopher Durham
e070553cef
Clean xtask partial artifacts in xtask pre-cache
2020-03-02 23:50:10 -05:00
Aleksey Kladov
4eea4e1993
Print log on release
2020-03-02 14:54:55 +01:00
nmio
930b70c5d2
Readability
2020-03-01 13:07:16 +00:00
nmio
4b2880b886
Add note
2020-03-01 13:02:42 +00:00
Aleksey Kladov
a1e1869554
Rename ast::ImplBlock -> ast::ImplDef
2020-02-29 21:33:15 +01:00
Aleksey Kladov
364162f875
Some docs
2020-02-27 11:07:26 +01:00
Aleksey Kladov
520b0c8faf
Make xtask install path-agnostic
2020-02-27 10:55:27 +01:00
Kirill Bulatov
f6816c253b
Update versions
2020-02-18 16:12:40 +02:00
Kirill Bulatov
eceaf94f19
More manual clippy fixes
2020-02-18 16:12:37 +02:00
Aleksey Kladov
c855e36696
Rename config value for server Path
2020-02-18 12:35:44 +01:00
Aleksey Kladov
c0fa5e2246
Rename the binary to rust-analyzer
2020-02-18 12:33:16 +01:00
Aleksey Kladov
59e1207dac
Better folder structure
2020-02-18 11:56:18 +01:00
Aleksey Kladov
2c9b91ad32
Merge ra_vfs_glob and ra_lsp_server
2020-02-17 19:07:30 +01:00
Aleksey Kladov
d7be1da8df
Inline ra_batch
2020-02-17 17:32:17 +01:00
Aleksey Kladov
57140f1730
Drop proptest tests
...
It takes waaay to long to compile.
We should add quickcheck tests when we touch the relevant code next
time.
2020-02-17 16:57:06 +01:00
Aleksey Kladov
94fb9ad6b3
Fix extension name
2020-02-17 15:35:06 +01:00
Veetaha
c9d83bcacc
xtask: bump nodejs requirement while we can!
2020-02-14 23:20:49 +02:00
Aleksey Kladov
2ae71a9ed0
Simplify
2020-02-14 19:13:26 +01:00
Aleksey Kladov
5acb467894
Move rm_rf to not-bash
2020-02-14 19:03:45 +01:00
Aleksey Kladov
cd956a191f
Trim output
2020-02-14 18:59:26 +01:00
Aleksey Kladov
3f675179e5
Add fs2 module for better error messages
2020-02-14 18:56:07 +01:00
Aleksey Kladov
705f8820c9
Update the manual on release
2020-02-14 18:42:48 +01:00
Aleksey Kladov
9fc2748d47
Add dry run mode to xtask release
2020-02-14 18:42:48 +01:00
Aleksey Kladov
f2e8dfc820
Cleanup
2020-02-14 17:11:19 +01:00
Aleksey Kladov
269e2f22a9
More declarative fs massaging
2020-02-14 17:05:56 +01:00
Aleksey Kladov
ce29497e43
Replace Cmd with not-bash
2020-02-14 16:47:09 +01:00
Aleksey Kladov
bd3a41cc33
Prevent auto-update of dev extension
2020-02-14 15:29:19 +01:00
Aleksey Kladov
52dcf3243e
Minor
2020-02-14 15:10:49 +01:00
bors[bot]
759100fb0d
Merge #3062
...
3062: Implement slice pattern AST > HIR lowering r=jplatte a=jplatte
WIP. The necessary changes for parsing are implemented, but actual inference is not yet. Just wanted to upload what I've got so far so it doesn't get duplicated :)
Will fix #3043
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2020-02-11 21:46:36 +00:00
Jonas Platte
a3b104aa6d
Implement slice pattern AST > HIR lowering
2020-02-11 22:33:11 +01:00
bors[bot]
f8d6d6f23b
Merge #3074
...
3074: Or patterns r=matthewjasper a=matthewjasper
Works towards #2458
Co-authored-by: Matthew Jasper <mjjasper1@gmail.com>
2020-02-10 20:14:08 +00:00
Aleksey Kladov
57147d7471
xtask release
2020-02-10 15:34:04 +01:00
Aleksey Kladov
1b6acc391a
More convenient run_with_output
2020-02-10 15:16:07 +01:00
Aleksey Kladov
bbd9013bca
Add note
2020-02-10 10:53:31 +01:00
Matthew Jasper
8c8d0bb34f
Add or- and parenthesized-patterns
2020-02-09 22:06:15 +00:00
Kirill Bulatov
740a26b7d2
Rename add import assist
2020-02-07 23:53:08 +02:00
Aleksey Kladov
561b4b11ff
Name assist handlers
2020-02-07 17:28:02 +01:00
Aleksey Kladov
755077e372
Doctest autoimport
2020-02-06 18:14:44 +01:00
Aleksey Kladov
5d7614197d
⬆️ rust
2020-01-30 18:03:24 +01:00
Veetaha
ecf3b3c9a1
todo(codegen): added todo to change the reference to removed ra_tools crate
2020-01-17 01:31:03 +02:00
Veetaha
51fec39b82
fix(xtask.gen_syntax.typo): add s to the verb that refers to the 3d person
2020-01-16 00:47:03 +02:00
Aleksey Kladov
bd7aa5db14
Rename VS Code extension to rust-analyzer
2020-01-13 11:13:18 +01:00
Aleksey Kladov
fd394ff424
Use correct rustfmt for codegen
...
closes #1569
2020-01-10 11:23:43 +01:00
Aleksey Kladov
ceb8f74901
⬆️ pico-args
2020-01-08 11:27:31 +01:00
bors[bot]
2a8dd492a8
Merge #2758
...
2758: Add "code-oss" Visual Studio Code binary name r=matklad a=leo-lb
When Visual Studio Code is manually compiled from the upstream
source tree the binary is named "code-oss".
Co-authored-by: leo-lb <lle-bout@zaclys.net>
2020-01-07 16:18:07 +00:00
Aleksey Kladov
6a7db8c701
Share cache cleaning logic between OSes
2020-01-07 16:45:57 +01:00
leo-lb
e34c5d0f06
Add "code-oss" Visual Studio Code binary name
...
When Visual Studio Code is manually compiled from the upstream
source tree the binary is named "code-oss".
2020-01-07 16:42:45 +01:00
Aleksey Kladov
5e7995eeb7
Cleanup
2020-01-07 15:36:43 +01:00
Aleksey Kladov
64f0510d18
Move cmd to a separate dir
2020-01-07 15:33:09 +01:00
Aleksey Kladov
91f9bc2b86
Refactor xtasks
2020-01-07 14:42:56 +01:00
Aleksey Kladov
b02576d562
Simplify
...
help for internal tools does not worth the duplication
2020-01-07 14:11:18 +01:00
Michael Chesser
ce1b34fd59
Improve const generics parsing
...
- Handle const generics type args
- Fix issue with const generic as first parameter in trait impl
2020-01-07 09:29:03 +10:30
Aleksey Kladov
084bd304f3
Switch ast declaration from ron to a macro
2020-01-03 21:54:10 +01:00
Aleksey Kladov
67922a029a
kill unused file
2020-01-02 15:32:36 +01:00
Florian Diebold
1a4a3eb69b
Check for todo!
macros in no_todo
2019-12-26 16:23:40 +01:00
bold
2a09752137
Notify that latest version of VS Code is required
2019-12-24 20:04:42 +08:00
Aleksey Kladov
c7291386d3
⬆️ Rust
2019-12-19 18:27:44 +01:00
Aleksey Kladov
6e48a5bf91
Make reformat hook actually reformat files
2019-12-18 15:45:24 +01:00
Edwin Cheng
74c7c7a8b1
Use rustup toolchain instead of rustup install
2019-12-08 23:13:56 +08:00
Aleksey Kladov
1836671d53
Switch back to npm install
...
Locks like it honors package.lock nowdays
2019-12-02 15:17:55 +01:00
Aleksey Kladov
757e593b25
rename ra_ide_api -> ra_ide
2019-11-27 21:35:06 +03:00
Aleksey Kladov
a87579500a
Move Ty
2019-11-27 21:16:00 +03:00
Aleksey Kladov
d87c16bea6
hir_def is fully doc'ed!
2019-11-24 21:00:50 +03:00
Aleksey Kladov
ad2b6cad48
Remove npm.cmd
...
I *think* this is more correct
2019-11-20 23:27:03 +03:00
Aleksey Kladov
7020167aa2
Cleanup imports
2019-11-20 09:47:14 +03:00
Aleksey Kladov
76da22e66a
Don't create a separate bin for format hook
2019-11-18 15:27:04 +03:00
Aleksey Kladov
c65f42325f
Revert #2230
...
Looks like autocfg tries to do slightly more than we need (see #2231 ),
so let's stick with minimal home-grown solution.
2019-11-14 11:12:52 +03:00
Pascal Hertleif
5075c77957
Use anyhow::Result in xtask, add contexts
...
This builds on #2231 but was actually done before that. You see, the
cause for #2231 was that I got this error message:
Error: Error { kind: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" }) }
Just switching to `anyhow::Result` got me stack traces (when setting
`RUST_LIB_BACKTRACE=1`) that at least showed
stack backtrace:
0: std::backtrace::Backtrace::create
1: std::backtrace::Backtrace::capture
2: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
3: xtask::install_server
4: xtask::install
5: xtask::main
6: std::rt::lang_start::{{closure}}
7: std::panicking::try::do_call
8: __rust_maybe_catch_panic
9: std::rt::lang_start_internal
10: std::rt::lang_start
11: main
With the added contexts (not at all exhaustive), the error became
Error: install server
Caused by:
0: build AutoCfg with target directory
1: No such file or directory (os error 2)
Since anyhow is such a small thing (no new transitive dependencies!),
and in general gives you `Result<T, Box<dyn Error>>` on steroids, I
think this a nice small change. The only slightly annoying thing was to
replace all the `Err(format!(…))?` calls (haven't even looked at whether
we can make it support wrapping strings though), but the `bail!` macro
is shorter anyway :)
2019-11-13 20:51:57 +01:00
Pascal Hertleif
5e3c1c2b5f
Allow usage of CARGO_TARGET_DIR env var
2019-11-13 20:44:39 +01:00
kjeremy
06754b78ac
Use autocfg to determine rust version
2019-11-13 11:19:07 -05:00
Aleksey Kladov
018255efe3
Minor cleanup
2019-11-13 10:32:53 +03:00
Aleksey Kladov
30bf7e43db
Disallow regressing crate docs
2019-11-12 15:41:02 +03:00
mkucijan
d67157c0f1
Add '--scripts-prepend-node-pat' to npm run package
2019-11-11 20:51:07 +01:00
Aleksey Kladov
5efd99a6e0
Ignore line-endings when checking generated files for freshness
...
closes #2184
2019-11-06 12:40:28 +03:00
Aleksey Kladov
8922a44395
Add small module-level docs
2019-11-04 00:23:14 +03:00
Laurențiu Nicola
e3354c1496
Use run-time project path in xtask
2019-11-01 22:20:44 +02:00
krk
462c1b49c6
Fix typo in xtask/src/main.rs.
2019-10-30 21:17:27 +01:00
bors[bot]
ce3173469c
Merge #2132
...
2132: echo cargo version during install r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-10-30 17:52:02 +00:00
Aleksey Kladov
e529c8e3e2
echo cargo version during install
2019-10-30 20:49:04 +03:00
kjeremy
b441b4e8ef
Some clippy fixes
2019-10-30 13:36:37 -04:00
Aleksey Kladov
cf4720ffd5
use unicode bar for drawing the cursor
2019-10-26 21:22:40 +03:00
Aleksey Kladov
a5cbd8d5e8
check style for assist docs
2019-10-26 19:08:13 +03:00
bors[bot]
65e3fc8e77
Merge #2075
...
2075: document a couple of assists r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-10-26 14:38:20 +00:00
Aleksey Kladov
394e474479
add blank lines for readability
2019-10-26 17:27:47 +03:00
bors[bot]
fa4ccc5fef
Merge #2074
...
2074: document tasks module r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-10-26 14:25:35 +00:00
Aleksey Kladov
e3a253d80f
document tasks module
2019-10-26 17:20:44 +03:00
bors[bot]
75cd15c84f
Merge #2073
...
2073: warn if npm is not found r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-10-26 14:13:21 +00:00
Aleksey Kladov
8e8b6e7f62
warn if npm is not found
2019-10-26 17:12:56 +03:00
Aleksey Kladov
d385438bcc
generate more assists docs
2019-10-25 23:38:15 +03:00
Aleksey Kladov
0dd35ff2b2
auto-generate assists docs and tests
2019-10-25 14:47:48 +03:00
Aleksey Kladov
a40d02c9eb
refactor comment extraction from tasks
2019-10-24 19:29:38 +03:00
Aleksey Kladov
a409a12f1b
simplify
2019-10-24 19:19:22 +03:00
Aleksey Kladov
6048d29400
xtask: don't depend on itertools
...
xtask should be fast to compiler, as it's a gateway to rust-analyzer
2019-10-23 18:57:18 +03:00
Aleksey Kladov
a669049ef3
xtask: fold gen-tests and gen-ast into codegen
2019-10-23 18:57:18 +03:00
Aleksey Kladov
b5f13d8d51
xtask: move codegen to a module
2019-10-23 18:57:18 +03:00
Aleksey Kladov
4aa7873588
try to warn about old rust
2019-10-21 13:40:40 +03:00
Aleksey Kladov
5376c769f0
rename tools -> xtask
2019-10-17 23:14:05 +03:00
Aleksey Kladov
7b15c4f7ae
WIP: move to xtasks
2019-10-17 22:54:38 +03:00