diff options
-rw-r--r-- | Cargo.lock | 166 | ||||
-rw-r--r-- | crates/ra_cli/Cargo.toml | 2 | ||||
-rw-r--r-- | crates/ra_cli/src/main.rs | 3 | ||||
-rw-r--r-- | crates/ra_hir/src/source_binder.rs | 2 | ||||
-rw-r--r-- | crates/ra_hir_def/src/body.rs | 7 | ||||
-rw-r--r-- | crates/ra_hir_def/src/nameres.rs | 29 | ||||
-rw-r--r-- | crates/ra_hir_def/src/nameres/collector.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir_def/src/nameres/path_resolution.rs | 55 | ||||
-rw-r--r-- | crates/ra_hir_def/src/resolver.rs | 38 | ||||
-rw-r--r-- | crates/ra_hir_ty/src/tests.rs | 36 | ||||
-rw-r--r-- | crates/ra_lsp_server/Cargo.toml | 2 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/main.rs | 7 | ||||
-rw-r--r-- | crates/ra_lsp_server/tests/heavy_tests/main.rs | 1 | ||||
-rw-r--r-- | crates/ra_lsp_server/tests/heavy_tests/support.rs | 3 | ||||
-rw-r--r-- | docs/dev/README.md | 5 | ||||
-rw-r--r-- | docs/user/README.md | 15 |
16 files changed, 220 insertions, 155 deletions
diff --git a/Cargo.lock b/Cargo.lock index 2557b5e59..57cfde978 100644 --- a/Cargo.lock +++ b/Cargo.lock | |||
@@ -10,7 +10,7 @@ dependencies = [ | |||
10 | 10 | ||
11 | [[package]] | 11 | [[package]] |
12 | name = "anyhow" | 12 | name = "anyhow" |
13 | version = "1.0.24" | 13 | version = "1.0.25" |
14 | source = "registry+https://github.com/rust-lang/crates.io-index" | 14 | source = "registry+https://github.com/rust-lang/crates.io-index" |
15 | 15 | ||
16 | [[package]] | 16 | [[package]] |
@@ -23,7 +23,7 @@ name = "atty" | |||
23 | version = "0.2.13" | 23 | version = "0.2.13" |
24 | source = "registry+https://github.com/rust-lang/crates.io-index" | 24 | source = "registry+https://github.com/rust-lang/crates.io-index" |
25 | dependencies = [ | 25 | dependencies = [ |
26 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 26 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
27 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 27 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
28 | ] | 28 | ] |
29 | 29 | ||
@@ -39,7 +39,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
39 | dependencies = [ | 39 | dependencies = [ |
40 | "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", | 40 | "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", |
41 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 41 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
42 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 42 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
43 | "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", | 43 | "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", |
44 | ] | 44 | ] |
45 | 45 | ||
@@ -49,7 +49,7 @@ version = "0.1.32" | |||
49 | source = "registry+https://github.com/rust-lang/crates.io-index" | 49 | source = "registry+https://github.com/rust-lang/crates.io-index" |
50 | dependencies = [ | 50 | dependencies = [ |
51 | "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)", | 51 | "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)", |
52 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 52 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
53 | ] | 53 | ] |
54 | 54 | ||
55 | [[package]] | 55 | [[package]] |
@@ -101,7 +101,7 @@ dependencies = [ | |||
101 | 101 | ||
102 | [[package]] | 102 | [[package]] |
103 | name = "cargo_metadata" | 103 | name = "cargo_metadata" |
104 | version = "0.9.0" | 104 | version = "0.9.1" |
105 | source = "registry+https://github.com/rust-lang/crates.io-index" | 105 | source = "registry+https://github.com/rust-lang/crates.io-index" |
106 | dependencies = [ | 106 | dependencies = [ |
107 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 107 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -127,7 +127,7 @@ source = "git+https://github.com/jackh726/chalk.git?rev=095cd38a4f16337913bba487 | |||
127 | dependencies = [ | 127 | dependencies = [ |
128 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", | 128 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
129 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 129 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
130 | "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | 130 | "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", |
131 | ] | 131 | ] |
132 | 132 | ||
133 | [[package]] | 133 | [[package]] |
@@ -187,23 +187,13 @@ dependencies = [ | |||
187 | ] | 187 | ] |
188 | 188 | ||
189 | [[package]] | 189 | [[package]] |
190 | name = "chrono" | ||
191 | version = "0.4.10" | ||
192 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
193 | dependencies = [ | ||
194 | "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", | ||
195 | "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", | ||
196 | "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", | ||
197 | ] | ||
198 | |||
199 | [[package]] | ||
200 | name = "clicolors-control" | 190 | name = "clicolors-control" |
201 | version = "1.0.1" | 191 | version = "1.0.1" |
202 | source = "registry+https://github.com/rust-lang/crates.io-index" | 192 | source = "registry+https://github.com/rust-lang/crates.io-index" |
203 | dependencies = [ | 193 | dependencies = [ |
204 | "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", | 194 | "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", |
205 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 195 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
206 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 196 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
207 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 197 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
208 | ] | 198 | ] |
209 | 199 | ||
@@ -223,7 +213,7 @@ dependencies = [ | |||
223 | "clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 213 | "clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
224 | "encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 214 | "encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
225 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 215 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
226 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 216 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
227 | "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 217 | "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
228 | "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 218 | "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
229 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 219 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -324,12 +314,21 @@ version = "0.3.6" | |||
324 | source = "registry+https://github.com/rust-lang/crates.io-index" | 314 | source = "registry+https://github.com/rust-lang/crates.io-index" |
325 | 315 | ||
326 | [[package]] | 316 | [[package]] |
317 | name = "env_logger" | ||
318 | version = "0.7.1" | ||
319 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
320 | dependencies = [ | ||
321 | "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
322 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||
323 | ] | ||
324 | |||
325 | [[package]] | ||
327 | name = "filetime" | 326 | name = "filetime" |
328 | version = "0.2.8" | 327 | version = "0.2.8" |
329 | source = "registry+https://github.com/rust-lang/crates.io-index" | 328 | source = "registry+https://github.com/rust-lang/crates.io-index" |
330 | dependencies = [ | 329 | dependencies = [ |
331 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 330 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
332 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 331 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
333 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 332 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
334 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 333 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
335 | ] | 334 | ] |
@@ -340,18 +339,6 @@ version = "0.1.9" | |||
340 | source = "registry+https://github.com/rust-lang/crates.io-index" | 339 | source = "registry+https://github.com/rust-lang/crates.io-index" |
341 | 340 | ||
342 | [[package]] | 341 | [[package]] |
343 | name = "flexi_logger" | ||
344 | version = "0.14.5" | ||
345 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
346 | dependencies = [ | ||
347 | "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", | ||
348 | "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
349 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||
350 | "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
351 | "yansi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
352 | ] | ||
353 | |||
354 | [[package]] | ||
355 | name = "fnv" | 342 | name = "fnv" |
356 | version = "1.0.6" | 343 | version = "1.0.6" |
357 | source = "registry+https://github.com/rust-lang/crates.io-index" | 344 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -380,7 +367,7 @@ name = "fsevent-sys" | |||
380 | version = "2.0.1" | 367 | version = "2.0.1" |
381 | source = "registry+https://github.com/rust-lang/crates.io-index" | 368 | source = "registry+https://github.com/rust-lang/crates.io-index" |
382 | dependencies = [ | 369 | dependencies = [ |
383 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 370 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
384 | ] | 371 | ] |
385 | 372 | ||
386 | [[package]] | 373 | [[package]] |
@@ -416,16 +403,11 @@ version = "0.1.13" | |||
416 | source = "registry+https://github.com/rust-lang/crates.io-index" | 403 | source = "registry+https://github.com/rust-lang/crates.io-index" |
417 | dependencies = [ | 404 | dependencies = [ |
418 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 405 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
419 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 406 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
420 | "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | 407 | "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
421 | ] | 408 | ] |
422 | 409 | ||
423 | [[package]] | 410 | [[package]] |
424 | name = "glob" | ||
425 | version = "0.3.0" | ||
426 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
427 | |||
428 | [[package]] | ||
429 | name = "globset" | 411 | name = "globset" |
430 | version = "0.4.4" | 412 | version = "0.4.4" |
431 | source = "registry+https://github.com/rust-lang/crates.io-index" | 413 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -450,7 +432,15 @@ name = "hermit-abi" | |||
450 | version = "0.1.3" | 432 | version = "0.1.3" |
451 | source = "registry+https://github.com/rust-lang/crates.io-index" | 433 | source = "registry+https://github.com/rust-lang/crates.io-index" |
452 | dependencies = [ | 434 | dependencies = [ |
453 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 435 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
436 | ] | ||
437 | |||
438 | [[package]] | ||
439 | name = "humantime" | ||
440 | version = "1.3.0" | ||
441 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
442 | dependencies = [ | ||
443 | "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||
454 | ] | 444 | ] |
455 | 445 | ||
456 | [[package]] | 446 | [[package]] |
@@ -478,7 +468,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
478 | dependencies = [ | 468 | dependencies = [ |
479 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 469 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
480 | "inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 470 | "inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
481 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 471 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
482 | ] | 472 | ] |
483 | 473 | ||
484 | [[package]] | 474 | [[package]] |
@@ -486,7 +476,7 @@ name = "inotify-sys" | |||
486 | version = "0.1.3" | 476 | version = "0.1.3" |
487 | source = "registry+https://github.com/rust-lang/crates.io-index" | 477 | source = "registry+https://github.com/rust-lang/crates.io-index" |
488 | dependencies = [ | 478 | dependencies = [ |
489 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 479 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
490 | ] | 480 | ] |
491 | 481 | ||
492 | [[package]] | 482 | [[package]] |
@@ -508,7 +498,7 @@ name = "iovec" | |||
508 | version = "0.1.4" | 498 | version = "0.1.4" |
509 | source = "registry+https://github.com/rust-lang/crates.io-index" | 499 | source = "registry+https://github.com/rust-lang/crates.io-index" |
510 | dependencies = [ | 500 | dependencies = [ |
511 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 501 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
512 | ] | 502 | ] |
513 | 503 | ||
514 | [[package]] | 504 | [[package]] |
@@ -530,7 +520,7 @@ version = "0.3.3" | |||
530 | source = "registry+https://github.com/rust-lang/crates.io-index" | 520 | source = "registry+https://github.com/rust-lang/crates.io-index" |
531 | dependencies = [ | 521 | dependencies = [ |
532 | "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | 522 | "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", |
533 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 523 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
534 | "paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 524 | "paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
535 | ] | 525 | ] |
536 | 526 | ||
@@ -541,7 +531,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
541 | dependencies = [ | 531 | dependencies = [ |
542 | "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)", | 532 | "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)", |
543 | "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 533 | "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
544 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 534 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
545 | ] | 535 | ] |
546 | 536 | ||
547 | [[package]] | 537 | [[package]] |
@@ -550,7 +540,7 @@ version = "0.3.2" | |||
550 | source = "registry+https://github.com/rust-lang/crates.io-index" | 540 | source = "registry+https://github.com/rust-lang/crates.io-index" |
551 | dependencies = [ | 541 | dependencies = [ |
552 | "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | 542 | "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", |
553 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 543 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
554 | ] | 544 | ] |
555 | 545 | ||
556 | [[package]] | 546 | [[package]] |
@@ -589,7 +579,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
589 | 579 | ||
590 | [[package]] | 580 | [[package]] |
591 | name = "libc" | 581 | name = "libc" |
592 | version = "0.2.65" | 582 | version = "0.2.66" |
593 | source = "registry+https://github.com/rust-lang/crates.io-index" | 583 | source = "registry+https://github.com/rust-lang/crates.io-index" |
594 | 584 | ||
595 | [[package]] | 585 | [[package]] |
@@ -664,7 +654,7 @@ dependencies = [ | |||
664 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | 654 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", |
665 | "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | 655 | "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", |
666 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 656 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", |
667 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 657 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
668 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 658 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
669 | "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 659 | "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
670 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", | 660 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -700,7 +690,7 @@ version = "0.2.33" | |||
700 | source = "registry+https://github.com/rust-lang/crates.io-index" | 690 | source = "registry+https://github.com/rust-lang/crates.io-index" |
701 | dependencies = [ | 691 | dependencies = [ |
702 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 692 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
703 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 693 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
704 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 694 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
705 | ] | 695 | ] |
706 | 696 | ||
@@ -715,7 +705,7 @@ dependencies = [ | |||
715 | "fsevent-sys 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 705 | "fsevent-sys 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
716 | "inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", | 706 | "inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", |
717 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 707 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", |
718 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 708 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
719 | "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", | 709 | "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)", |
720 | "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 710 | "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
721 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | 711 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -723,15 +713,6 @@ dependencies = [ | |||
723 | ] | 713 | ] |
724 | 714 | ||
725 | [[package]] | 715 | [[package]] |
726 | name = "num-integer" | ||
727 | version = "0.1.41" | ||
728 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
729 | dependencies = [ | ||
730 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", | ||
731 | "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", | ||
732 | ] | ||
733 | |||
734 | [[package]] | ||
735 | name = "num-traits" | 716 | name = "num-traits" |
736 | version = "0.2.10" | 717 | version = "0.2.10" |
737 | source = "registry+https://github.com/rust-lang/crates.io-index" | 718 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -745,7 +726,7 @@ version = "1.11.1" | |||
745 | source = "registry+https://github.com/rust-lang/crates.io-index" | 726 | source = "registry+https://github.com/rust-lang/crates.io-index" |
746 | dependencies = [ | 727 | dependencies = [ |
747 | "hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 728 | "hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
748 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 729 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
749 | ] | 730 | ] |
750 | 731 | ||
751 | [[package]] | 732 | [[package]] |
@@ -774,7 +755,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
774 | dependencies = [ | 755 | dependencies = [ |
775 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 756 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
776 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 757 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", |
777 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 758 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
778 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 759 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
779 | "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 760 | "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
780 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 761 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -797,7 +778,7 @@ dependencies = [ | |||
797 | "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", | 778 | "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", |
798 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", | 779 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
799 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 780 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
800 | "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | 781 | "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", |
801 | ] | 782 | ] |
802 | 783 | ||
803 | [[package]] | 784 | [[package]] |
@@ -831,7 +812,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
831 | dependencies = [ | 812 | dependencies = [ |
832 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", | 813 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
833 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 814 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
834 | "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | 815 | "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", |
835 | ] | 816 | ] |
836 | 817 | ||
837 | [[package]] | 818 | [[package]] |
@@ -928,7 +909,7 @@ dependencies = [ | |||
928 | name = "ra_cli" | 909 | name = "ra_cli" |
929 | version = "0.1.0" | 910 | version = "0.1.0" |
930 | dependencies = [ | 911 | dependencies = [ |
931 | "flexi_logger 0.14.5 (registry+https://github.com/rust-lang/crates.io-index)", | 912 | "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
932 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 913 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
933 | "ra_batch 0.1.0", | 914 | "ra_batch 0.1.0", |
934 | "ra_db 0.1.0", | 915 | "ra_db 0.1.0", |
@@ -1060,7 +1041,7 @@ name = "ra_lsp_server" | |||
1060 | version = "0.1.0" | 1041 | version = "0.1.0" |
1061 | dependencies = [ | 1042 | dependencies = [ |
1062 | "crossbeam-channel 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1043 | "crossbeam-channel 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1063 | "flexi_logger 0.14.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1044 | "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1064 | "jod-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1045 | "jod-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1065 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1046 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1066 | "lsp-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1047 | "lsp-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1117,7 +1098,7 @@ dependencies = [ | |||
1117 | name = "ra_project_model" | 1098 | name = "ra_project_model" |
1118 | version = "0.1.0" | 1099 | version = "0.1.0" |
1119 | dependencies = [ | 1100 | dependencies = [ |
1120 | "cargo_metadata 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1101 | "cargo_metadata 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1121 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1102 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1122 | "ra_arena 0.1.0", | 1103 | "ra_arena 0.1.0", |
1123 | "ra_cfg 0.1.0", | 1104 | "ra_cfg 0.1.0", |
@@ -1189,7 +1170,7 @@ version = "0.6.5" | |||
1189 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1170 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1190 | dependencies = [ | 1171 | dependencies = [ |
1191 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1172 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1192 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 1173 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
1193 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1174 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1194 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1175 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1195 | "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1176 | "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1207,7 +1188,7 @@ version = "0.7.2" | |||
1207 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1188 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1208 | dependencies = [ | 1189 | dependencies = [ |
1209 | "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", | 1190 | "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", |
1210 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 1191 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
1211 | "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1192 | "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1212 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1193 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1213 | "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1194 | "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1282,7 +1263,7 @@ name = "rand_jitter" | |||
1282 | version = "0.1.4" | 1263 | version = "0.1.4" |
1283 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1264 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1284 | dependencies = [ | 1265 | dependencies = [ |
1285 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 1266 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
1286 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1267 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1287 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1268 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1288 | ] | 1269 | ] |
@@ -1294,7 +1275,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1294 | dependencies = [ | 1275 | dependencies = [ |
1295 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1276 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1296 | "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1277 | "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1297 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 1278 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
1298 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1279 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1299 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1280 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1300 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1281 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1467,7 +1448,7 @@ dependencies = [ | |||
1467 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1448 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1468 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1449 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1469 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1450 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1470 | "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1451 | "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", |
1471 | ] | 1452 | ] |
1472 | 1453 | ||
1473 | [[package]] | 1454 | [[package]] |
@@ -1512,7 +1493,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1512 | dependencies = [ | 1493 | dependencies = [ |
1513 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1494 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1514 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1495 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1515 | "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1496 | "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", |
1516 | ] | 1497 | ] |
1517 | 1498 | ||
1518 | [[package]] | 1499 | [[package]] |
@@ -1532,7 +1513,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1532 | dependencies = [ | 1513 | dependencies = [ |
1533 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1514 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1534 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1515 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1535 | "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1516 | "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", |
1536 | ] | 1517 | ] |
1537 | 1518 | ||
1538 | [[package]] | 1519 | [[package]] |
@@ -1571,7 +1552,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1571 | dependencies = [ | 1552 | dependencies = [ |
1572 | "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)", | 1553 | "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)", |
1573 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1554 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
1574 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 1555 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
1575 | "psm 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1556 | "psm 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1576 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1557 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1577 | ] | 1558 | ] |
@@ -1583,7 +1564,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1583 | 1564 | ||
1584 | [[package]] | 1565 | [[package]] |
1585 | name = "syn" | 1566 | name = "syn" |
1586 | version = "1.0.8" | 1567 | version = "1.0.11" |
1587 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1568 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1588 | dependencies = [ | 1569 | dependencies = [ |
1589 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1570 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1597,7 +1578,7 @@ version = "3.1.0" | |||
1597 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1578 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1598 | dependencies = [ | 1579 | dependencies = [ |
1599 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1580 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
1600 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 1581 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
1601 | "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1582 | "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1602 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 1583 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
1603 | "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1584 | "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1609,7 +1590,7 @@ name = "termios" | |||
1609 | version = "0.3.1" | 1590 | version = "0.3.1" |
1610 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1591 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1611 | dependencies = [ | 1592 | dependencies = [ |
1612 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | 1593 | "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", |
1613 | ] | 1594 | ] |
1614 | 1595 | ||
1615 | [[package]] | 1596 | [[package]] |
@@ -1648,16 +1629,6 @@ dependencies = [ | |||
1648 | ] | 1629 | ] |
1649 | 1630 | ||
1650 | [[package]] | 1631 | [[package]] |
1651 | name = "time" | ||
1652 | version = "0.1.42" | ||
1653 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1654 | dependencies = [ | ||
1655 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1656 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1657 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1658 | ] | ||
1659 | |||
1660 | [[package]] | ||
1661 | name = "unicase" | 1632 | name = "unicase" |
1662 | version = "2.6.0" | 1633 | version = "2.6.0" |
1663 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1634 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1781,7 +1752,7 @@ dependencies = [ | |||
1781 | name = "xtask" | 1752 | name = "xtask" |
1782 | version = "0.1.0" | 1753 | version = "0.1.0" |
1783 | dependencies = [ | 1754 | dependencies = [ |
1784 | "anyhow 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)", | 1755 | "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", |
1785 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1756 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1786 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1757 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1787 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1758 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1798,14 +1769,9 @@ dependencies = [ | |||
1798 | "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1769 | "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1799 | ] | 1770 | ] |
1800 | 1771 | ||
1801 | [[package]] | ||
1802 | name = "yansi" | ||
1803 | version = "0.5.0" | ||
1804 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1805 | |||
1806 | [metadata] | 1772 | [metadata] |
1807 | "checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" | 1773 | "checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" |
1808 | "checksum anyhow 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b412394828b7ca486b362f300b762d8e43dafd6f0d727b63f1cd2ade207c6cef" | 1774 | "checksum anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "9267dff192e68f3399525901e709a48c1d3982c9c072fa32f2127a0cb0babf14" |
1809 | "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" | 1775 | "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" |
1810 | "checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90" | 1776 | "checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90" |
1811 | "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" | 1777 | "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" |
@@ -1818,7 +1784,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1818 | "checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245" | 1784 | "checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245" |
1819 | "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" | 1785 | "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" |
1820 | "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" | 1786 | "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" |
1821 | "checksum cargo_metadata 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8d2d1617e838936c0d2323a65cc151e03ae19a7678dd24f72bccf27119b90a5d" | 1787 | "checksum cargo_metadata 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "46e3374c604fb39d1a2f35ed5e4a4e30e60d01fab49446e08f1b3e9a90aef202" |
1822 | "checksum cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)" = "aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8" | 1788 | "checksum cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)" = "aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8" |
1823 | "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" | 1789 | "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" |
1824 | "checksum chalk-derive 0.1.0 (git+https://github.com/jackh726/chalk.git?rev=095cd38a4f16337913bba487f2055b9ca0179f30)" = "<none>" | 1790 | "checksum chalk-derive 0.1.0 (git+https://github.com/jackh726/chalk.git?rev=095cd38a4f16337913bba487f2055b9ca0179f30)" = "<none>" |
@@ -1827,7 +1793,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1827 | "checksum chalk-macros 0.1.1 (git+https://github.com/jackh726/chalk.git?rev=095cd38a4f16337913bba487f2055b9ca0179f30)" = "<none>" | 1793 | "checksum chalk-macros 0.1.1 (git+https://github.com/jackh726/chalk.git?rev=095cd38a4f16337913bba487f2055b9ca0179f30)" = "<none>" |
1828 | "checksum chalk-rust-ir 0.1.0 (git+https://github.com/jackh726/chalk.git?rev=095cd38a4f16337913bba487f2055b9ca0179f30)" = "<none>" | 1794 | "checksum chalk-rust-ir 0.1.0 (git+https://github.com/jackh726/chalk.git?rev=095cd38a4f16337913bba487f2055b9ca0179f30)" = "<none>" |
1829 | "checksum chalk-solve 0.1.0 (git+https://github.com/jackh726/chalk.git?rev=095cd38a4f16337913bba487f2055b9ca0179f30)" = "<none>" | 1795 | "checksum chalk-solve 0.1.0 (git+https://github.com/jackh726/chalk.git?rev=095cd38a4f16337913bba487f2055b9ca0179f30)" = "<none>" |
1830 | "checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01" | ||
1831 | "checksum clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e" | 1796 | "checksum clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e" |
1832 | "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" | 1797 | "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" |
1833 | "checksum console 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f5d540c2d34ac9dd0deb5f3b5f54c36c79efa78f6b3ad19106a554d07a7b5d9f" | 1798 | "checksum console 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f5d540c2d34ac9dd0deb5f3b5f54c36c79efa78f6b3ad19106a554d07a7b5d9f" |
@@ -1843,9 +1808,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1843 | "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" | 1808 | "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" |
1844 | "checksum ena 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8944dc8fa28ce4a38f778bd46bf7d923fe73eed5a439398507246c8e017e6f36" | 1809 | "checksum ena 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8944dc8fa28ce4a38f778bd46bf7d923fe73eed5a439398507246c8e017e6f36" |
1845 | "checksum encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" | 1810 | "checksum encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" |
1811 | "checksum env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" | ||
1846 | "checksum filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d" | 1812 | "checksum filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d" |
1847 | "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" | 1813 | "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" |
1848 | "checksum flexi_logger 0.14.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a13ea6b8a4debecf47bf3966d56db0e21366bc3a3649ba159e1a9e6fdd36a4f4" | ||
1849 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" | 1814 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" |
1850 | "checksum format-buf 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f7aea5a5909a74969507051a3b17adc84737e31a5f910559892aedce026f4d53" | 1815 | "checksum format-buf 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f7aea5a5909a74969507051a3b17adc84737e31a5f910559892aedce026f4d53" |
1851 | "checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" | 1816 | "checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" |
@@ -1856,10 +1821,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1856 | "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" | 1821 | "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" |
1857 | "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" | 1822 | "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" |
1858 | "checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" | 1823 | "checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" |
1859 | "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" | ||
1860 | "checksum globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2" | 1824 | "checksum globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2" |
1861 | "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" | 1825 | "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" |
1862 | "checksum hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120" | 1826 | "checksum hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120" |
1827 | "checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" | ||
1863 | "checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" | 1828 | "checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" |
1864 | "checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" | 1829 | "checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" |
1865 | "checksum inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40b54539f3910d6f84fbf9a643efd6e3aa6e4f001426c0329576128255994718" | 1830 | "checksum inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40b54539f3910d6f84fbf9a643efd6e3aa6e4f001426c0329576128255994718" |
@@ -1877,7 +1842,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1877 | "checksum lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cc4fd87be4a815fd373e02773983940f0d75fb26fde8c098e9e45f7af03154c0" | 1842 | "checksum lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cc4fd87be4a815fd373e02773983940f0d75fb26fde8c098e9e45f7af03154c0" |
1878 | "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" | 1843 | "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" |
1879 | "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" | 1844 | "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" |
1880 | "checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8" | 1845 | "checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558" |
1881 | "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" | 1846 | "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" |
1882 | "checksum lock_api 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e57b3997725d2b60dbec1297f6c2e2957cc383db1cebd6be812163f969c7d586" | 1847 | "checksum lock_api 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e57b3997725d2b60dbec1297f6c2e2957cc383db1cebd6be812163f969c7d586" |
1883 | "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" | 1848 | "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" |
@@ -1891,7 +1856,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1891 | "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" | 1856 | "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" |
1892 | "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" | 1857 | "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" |
1893 | "checksum notify 4.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "199628fc33b21bc767baa057490b00b382ecbae030803a7b36292422d15b778b" | 1858 | "checksum notify 4.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "199628fc33b21bc767baa057490b00b382ecbae030803a7b36292422d15b778b" |
1894 | "checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" | ||
1895 | "checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4" | 1859 | "checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4" |
1896 | "checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72" | 1860 | "checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72" |
1897 | "checksum once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "891f486f630e5c5a4916c7e16c4b24a53e78c860b646e9f8e005e4f16847bfed" | 1861 | "checksum once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "891f486f630e5c5a4916c7e16c4b24a53e78c860b646e9f8e005e4f16847bfed" |
@@ -1957,14 +1921,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1957 | "checksum smol_str 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "34836c9a295c62c2ce3514471117c5cb269891e8421b2aafdd910050576c4d8b" | 1921 | "checksum smol_str 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "34836c9a295c62c2ce3514471117c5cb269891e8421b2aafdd910050576c4d8b" |
1958 | "checksum stacker 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d96fc4f13a0ac088e9a3cd9af1cc8c5cc1ab5deb2145cef661267dfc9c542f8a" | 1922 | "checksum stacker 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d96fc4f13a0ac088e9a3cd9af1cc8c5cc1ab5deb2145cef661267dfc9c542f8a" |
1959 | "checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" | 1923 | "checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" |
1960 | "checksum syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "661641ea2aa15845cddeb97dad000d22070bb5c1fb456b96c1cba883ec691e92" | 1924 | "checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238" |
1961 | "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" | 1925 | "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" |
1962 | "checksum termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625" | 1926 | "checksum termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625" |
1963 | "checksum text_unit 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e08bbcb7a3adbda0eb23431206b653bdad3d8dea311e72d36bf2215e27a42579" | 1927 | "checksum text_unit 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e08bbcb7a3adbda0eb23431206b653bdad3d8dea311e72d36bf2215e27a42579" |
1964 | "checksum thin-dst 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c52fd98a9e4913c466d83381a59245691875d2f3e04611fca57f964bd8aa96e1" | 1928 | "checksum thin-dst 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c52fd98a9e4913c466d83381a59245691875d2f3e04611fca57f964bd8aa96e1" |
1965 | "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" | 1929 | "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" |
1966 | "checksum threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865" | 1930 | "checksum threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865" |
1967 | "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" | ||
1968 | "checksum unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" | 1931 | "checksum unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" |
1969 | "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" | 1932 | "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" |
1970 | "checksum unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf" | 1933 | "checksum unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf" |
@@ -1983,4 +1946,3 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1983 | "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" | 1946 | "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" |
1984 | "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" | 1947 | "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" |
1985 | "checksum yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65923dd1784f44da1d2c3dbbc5e822045628c590ba72123e1c73d3c230c4434d" | 1948 | "checksum yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65923dd1784f44da1d2c3dbbc5e822045628c590ba72123e1c73d3c230c4434d" |
1986 | "checksum yansi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9fc79f4a1e39857fc00c3f662cbf2651c771f00e9c15fe2abc341806bd46bd71" | ||
diff --git a/crates/ra_cli/Cargo.toml b/crates/ra_cli/Cargo.toml index c7e0d0f0f..21a37c7bf 100644 --- a/crates/ra_cli/Cargo.toml +++ b/crates/ra_cli/Cargo.toml | |||
@@ -7,7 +7,7 @@ publish = false | |||
7 | 7 | ||
8 | [dependencies] | 8 | [dependencies] |
9 | pico-args = "0.3.0" | 9 | pico-args = "0.3.0" |
10 | flexi_logger = "0.14.0" | 10 | env_logger = { version = "0.7.1", default-features = false, features = ["humantime"] } |
11 | 11 | ||
12 | ra_syntax = { path = "../ra_syntax" } | 12 | ra_syntax = { path = "../ra_syntax" } |
13 | ra_ide = { path = "../ra_ide" } | 13 | ra_ide = { path = "../ra_ide" } |
diff --git a/crates/ra_cli/src/main.rs b/crates/ra_cli/src/main.rs index fe847e611..3808590ab 100644 --- a/crates/ra_cli/src/main.rs +++ b/crates/ra_cli/src/main.rs | |||
@@ -7,7 +7,6 @@ mod progress_report; | |||
7 | 7 | ||
8 | use std::{error::Error, fmt::Write, io::Read}; | 8 | use std::{error::Error, fmt::Write, io::Read}; |
9 | 9 | ||
10 | use flexi_logger::Logger; | ||
11 | use pico_args::Arguments; | 10 | use pico_args::Arguments; |
12 | use ra_ide::{file_structure, Analysis}; | 11 | use ra_ide::{file_structure, Analysis}; |
13 | use ra_prof::profile; | 12 | use ra_prof::profile; |
@@ -32,7 +31,7 @@ impl Verbosity { | |||
32 | } | 31 | } |
33 | 32 | ||
34 | fn main() -> Result<()> { | 33 | fn main() -> Result<()> { |
35 | Logger::with_env_or_str("error").start()?; | 34 | env_logger::try_init()?; |
36 | 35 | ||
37 | let subcommand = match std::env::args_os().nth(1) { | 36 | let subcommand = match std::env::args_os().nth(1) { |
38 | None => { | 37 | None => { |
diff --git a/crates/ra_hir/src/source_binder.rs b/crates/ra_hir/src/source_binder.rs index 1661d92a2..0df7a7cb4 100644 --- a/crates/ra_hir/src/source_binder.rs +++ b/crates/ra_hir/src/source_binder.rs | |||
@@ -286,7 +286,7 @@ impl SourceAnalyzer { | |||
286 | 286 | ||
287 | let items = self | 287 | let items = self |
288 | .resolver | 288 | .resolver |
289 | .resolve_module_path(db, &path) | 289 | .resolve_module_path_in_items(db, &path) |
290 | .take_types() | 290 | .take_types() |
291 | .map(|it| PathResolution::Def(it.into())); | 291 | .map(|it| PathResolution::Def(it.into())); |
292 | types.or(values).or(items).or_else(|| { | 292 | types.or(values).or(items).or_else(|| { |
diff --git a/crates/ra_hir_def/src/body.rs b/crates/ra_hir_def/src/body.rs index 69508dd8a..239f35229 100644 --- a/crates/ra_hir_def/src/body.rs +++ b/crates/ra_hir_def/src/body.rs | |||
@@ -15,7 +15,7 @@ use rustc_hash::FxHashMap; | |||
15 | use crate::{ | 15 | use crate::{ |
16 | db::DefDatabase, | 16 | db::DefDatabase, |
17 | expr::{Expr, ExprId, Pat, PatId}, | 17 | expr::{Expr, ExprId, Pat, PatId}, |
18 | nameres::CrateDefMap, | 18 | nameres::{BuiltinShadowMode, CrateDefMap}, |
19 | path::Path, | 19 | path::Path, |
20 | src::HasSource, | 20 | src::HasSource, |
21 | DefWithBodyId, HasModule, Lookup, ModuleId, | 21 | DefWithBodyId, HasModule, Lookup, ModuleId, |
@@ -83,7 +83,10 @@ impl Expander { | |||
83 | } | 83 | } |
84 | 84 | ||
85 | fn resolve_path_as_macro(&self, db: &impl DefDatabase, path: &Path) -> Option<MacroDefId> { | 85 | fn resolve_path_as_macro(&self, db: &impl DefDatabase, path: &Path) -> Option<MacroDefId> { |
86 | self.crate_def_map.resolve_path(db, self.module.local_id, path).0.take_macros() | 86 | self.crate_def_map |
87 | .resolve_path(db, self.module.local_id, path, BuiltinShadowMode::Other) | ||
88 | .0 | ||
89 | .take_macros() | ||
87 | } | 90 | } |
88 | } | 91 | } |
89 | 92 | ||
diff --git a/crates/ra_hir_def/src/nameres.rs b/crates/ra_hir_def/src/nameres.rs index df42ea84a..3e1521870 100644 --- a/crates/ra_hir_def/src/nameres.rs +++ b/crates/ra_hir_def/src/nameres.rs | |||
@@ -149,6 +149,15 @@ static BUILTIN_SCOPE: Lazy<FxHashMap<Name, Resolution>> = Lazy::new(|| { | |||
149 | .collect() | 149 | .collect() |
150 | }); | 150 | }); |
151 | 151 | ||
152 | /// Shadow mode for builtin type which can be shadowed by module. | ||
153 | #[derive(Debug, Copy, Clone, PartialEq, Eq)] | ||
154 | pub enum BuiltinShadowMode { | ||
155 | // Prefer Module | ||
156 | Module, | ||
157 | // Prefer Other Types | ||
158 | Other, | ||
159 | } | ||
160 | |||
152 | /// Legacy macros can only be accessed through special methods like `get_legacy_macros`. | 161 | /// Legacy macros can only be accessed through special methods like `get_legacy_macros`. |
153 | /// Other methods will only resolve values, types and module scoped macros only. | 162 | /// Other methods will only resolve values, types and module scoped macros only. |
154 | impl ModuleScope { | 163 | impl ModuleScope { |
@@ -178,8 +187,20 @@ impl ModuleScope { | |||
178 | } | 187 | } |
179 | 188 | ||
180 | /// Get a name from current module scope, legacy macros are not included | 189 | /// Get a name from current module scope, legacy macros are not included |
181 | pub fn get(&self, name: &Name) -> Option<&Resolution> { | 190 | pub fn get(&self, name: &Name, shadow: BuiltinShadowMode) -> Option<&Resolution> { |
182 | self.items.get(name).or_else(|| BUILTIN_SCOPE.get(name)) | 191 | match shadow { |
192 | BuiltinShadowMode::Module => self.items.get(name).or_else(|| BUILTIN_SCOPE.get(name)), | ||
193 | BuiltinShadowMode::Other => { | ||
194 | let item = self.items.get(name); | ||
195 | if let Some(res) = item { | ||
196 | if let Some(ModuleDefId::ModuleId(_)) = res.def.take_types() { | ||
197 | return BUILTIN_SCOPE.get(name).or(item); | ||
198 | } | ||
199 | } | ||
200 | |||
201 | item.or_else(|| BUILTIN_SCOPE.get(name)) | ||
202 | } | ||
203 | } | ||
183 | } | 204 | } |
184 | 205 | ||
185 | pub fn traits<'a>(&'a self) -> impl Iterator<Item = TraitId> + 'a { | 206 | pub fn traits<'a>(&'a self) -> impl Iterator<Item = TraitId> + 'a { |
@@ -250,8 +271,10 @@ impl CrateDefMap { | |||
250 | db: &impl DefDatabase, | 271 | db: &impl DefDatabase, |
251 | original_module: LocalModuleId, | 272 | original_module: LocalModuleId, |
252 | path: &Path, | 273 | path: &Path, |
274 | shadow: BuiltinShadowMode, | ||
253 | ) -> (PerNs, Option<usize>) { | 275 | ) -> (PerNs, Option<usize>) { |
254 | let res = self.resolve_path_fp_with_macro(db, ResolveMode::Other, original_module, path); | 276 | let res = |
277 | self.resolve_path_fp_with_macro(db, ResolveMode::Other, original_module, path, shadow); | ||
255 | (res.resolved_def, res.segment_index) | 278 | (res.resolved_def, res.segment_index) |
256 | } | 279 | } |
257 | } | 280 | } |
diff --git a/crates/ra_hir_def/src/nameres/collector.rs b/crates/ra_hir_def/src/nameres/collector.rs index fd8245113..d4bfcae1d 100644 --- a/crates/ra_hir_def/src/nameres/collector.rs +++ b/crates/ra_hir_def/src/nameres/collector.rs | |||
@@ -19,7 +19,7 @@ use crate::{ | |||
19 | db::DefDatabase, | 19 | db::DefDatabase, |
20 | nameres::{ | 20 | nameres::{ |
21 | diagnostics::DefDiagnostic, mod_resolution::ModDir, path_resolution::ReachedFixedPoint, | 21 | diagnostics::DefDiagnostic, mod_resolution::ModDir, path_resolution::ReachedFixedPoint, |
22 | raw, CrateDefMap, ModuleData, Resolution, ResolveMode, | 22 | raw, BuiltinShadowMode, CrateDefMap, ModuleData, Resolution, ResolveMode, |
23 | }, | 23 | }, |
24 | path::{Path, PathKind}, | 24 | path::{Path, PathKind}, |
25 | per_ns::PerNs, | 25 | per_ns::PerNs, |
@@ -299,6 +299,7 @@ where | |||
299 | ResolveMode::Import, | 299 | ResolveMode::Import, |
300 | module_id, | 300 | module_id, |
301 | &import.path, | 301 | &import.path, |
302 | BuiltinShadowMode::Module, | ||
302 | ); | 303 | ); |
303 | 304 | ||
304 | (res.resolved_def, res.reached_fixedpoint) | 305 | (res.resolved_def, res.reached_fixedpoint) |
@@ -477,6 +478,7 @@ where | |||
477 | ResolveMode::Other, | 478 | ResolveMode::Other, |
478 | *module_id, | 479 | *module_id, |
479 | path, | 480 | path, |
481 | BuiltinShadowMode::Module, | ||
480 | ); | 482 | ); |
481 | 483 | ||
482 | if let Some(def) = resolved_res.resolved_def.take_macros() { | 484 | if let Some(def) = resolved_res.resolved_def.take_macros() { |
diff --git a/crates/ra_hir_def/src/nameres/path_resolution.rs b/crates/ra_hir_def/src/nameres/path_resolution.rs index b72c55bd1..42a75226b 100644 --- a/crates/ra_hir_def/src/nameres/path_resolution.rs +++ b/crates/ra_hir_def/src/nameres/path_resolution.rs | |||
@@ -16,7 +16,7 @@ use test_utils::tested_by; | |||
16 | 16 | ||
17 | use crate::{ | 17 | use crate::{ |
18 | db::DefDatabase, | 18 | db::DefDatabase, |
19 | nameres::CrateDefMap, | 19 | nameres::{BuiltinShadowMode, CrateDefMap}, |
20 | path::{Path, PathKind}, | 20 | path::{Path, PathKind}, |
21 | per_ns::PerNs, | 21 | per_ns::PerNs, |
22 | AdtId, EnumVariantId, LocalModuleId, ModuleDefId, ModuleId, | 22 | AdtId, EnumVariantId, LocalModuleId, ModuleDefId, ModuleId, |
@@ -68,7 +68,17 @@ impl CrateDefMap { | |||
68 | mode: ResolveMode, | 68 | mode: ResolveMode, |
69 | original_module: LocalModuleId, | 69 | original_module: LocalModuleId, |
70 | path: &Path, | 70 | path: &Path, |
71 | shadow: BuiltinShadowMode, | ||
71 | ) -> ResolvePathResult { | 72 | ) -> ResolvePathResult { |
73 | // if it is not the last segment, we prefer the module to the builtin | ||
74 | let prefer_module = |index| { | ||
75 | if index == path.segments.len() - 1 { | ||
76 | shadow | ||
77 | } else { | ||
78 | BuiltinShadowMode::Module | ||
79 | } | ||
80 | }; | ||
81 | |||
72 | let mut segments = path.segments.iter().enumerate(); | 82 | let mut segments = path.segments.iter().enumerate(); |
73 | let mut curr_per_ns: PerNs = match path.kind { | 83 | let mut curr_per_ns: PerNs = match path.kind { |
74 | PathKind::DollarCrate(krate) => { | 84 | PathKind::DollarCrate(krate) => { |
@@ -96,20 +106,20 @@ impl CrateDefMap { | |||
96 | if self.edition == Edition::Edition2015 | 106 | if self.edition == Edition::Edition2015 |
97 | && (path.kind == PathKind::Abs || mode == ResolveMode::Import) => | 107 | && (path.kind == PathKind::Abs || mode == ResolveMode::Import) => |
98 | { | 108 | { |
99 | let segment = match segments.next() { | 109 | let (idx, segment) = match segments.next() { |
100 | Some((_, segment)) => segment, | 110 | Some((idx, segment)) => (idx, segment), |
101 | None => return ResolvePathResult::empty(ReachedFixedPoint::Yes), | 111 | None => return ResolvePathResult::empty(ReachedFixedPoint::Yes), |
102 | }; | 112 | }; |
103 | log::debug!("resolving {:?} in crate root (+ extern prelude)", segment); | 113 | log::debug!("resolving {:?} in crate root (+ extern prelude)", segment); |
104 | self.resolve_name_in_crate_root_or_extern_prelude(&segment.name) | 114 | self.resolve_name_in_crate_root_or_extern_prelude(&segment.name, prefer_module(idx)) |
105 | } | 115 | } |
106 | PathKind::Plain => { | 116 | PathKind::Plain => { |
107 | let segment = match segments.next() { | 117 | let (idx, segment) = match segments.next() { |
108 | Some((_, segment)) => segment, | 118 | Some((idx, segment)) => (idx, segment), |
109 | None => return ResolvePathResult::empty(ReachedFixedPoint::Yes), | 119 | None => return ResolvePathResult::empty(ReachedFixedPoint::Yes), |
110 | }; | 120 | }; |
111 | log::debug!("resolving {:?} in module", segment); | 121 | log::debug!("resolving {:?} in module", segment); |
112 | self.resolve_name_in_module(db, original_module, &segment.name) | 122 | self.resolve_name_in_module(db, original_module, &segment.name, prefer_module(idx)) |
113 | } | 123 | } |
114 | PathKind::Super => { | 124 | PathKind::Super => { |
115 | if let Some(p) = self.modules[original_module].parent { | 125 | if let Some(p) = self.modules[original_module].parent { |
@@ -160,7 +170,7 @@ impl CrateDefMap { | |||
160 | Path { segments: path.segments[i..].to_vec(), kind: PathKind::Self_ }; | 170 | Path { segments: path.segments[i..].to_vec(), kind: PathKind::Self_ }; |
161 | log::debug!("resolving {:?} in other crate", path); | 171 | log::debug!("resolving {:?} in other crate", path); |
162 | let defp_map = db.crate_def_map(module.krate); | 172 | let defp_map = db.crate_def_map(module.krate); |
163 | let (def, s) = defp_map.resolve_path(db, module.local_id, &path); | 173 | let (def, s) = defp_map.resolve_path(db, module.local_id, &path, shadow); |
164 | return ResolvePathResult::with( | 174 | return ResolvePathResult::with( |
165 | def, | 175 | def, |
166 | ReachedFixedPoint::Yes, | 176 | ReachedFixedPoint::Yes, |
@@ -169,7 +179,7 @@ impl CrateDefMap { | |||
169 | } | 179 | } |
170 | 180 | ||
171 | // Since it is a qualified path here, it should not contains legacy macros | 181 | // Since it is a qualified path here, it should not contains legacy macros |
172 | match self[module.local_id].scope.get(&segment.name) { | 182 | match self[module.local_id].scope.get(&segment.name, prefer_module(i)) { |
173 | Some(res) => res.def, | 183 | Some(res) => res.def, |
174 | _ => { | 184 | _ => { |
175 | log::debug!("path segment {:?} not found", segment.name); | 185 | log::debug!("path segment {:?} not found", segment.name); |
@@ -212,6 +222,7 @@ impl CrateDefMap { | |||
212 | } | 222 | } |
213 | }; | 223 | }; |
214 | } | 224 | } |
225 | |||
215 | ResolvePathResult::with(curr_per_ns, ReachedFixedPoint::Yes, None) | 226 | ResolvePathResult::with(curr_per_ns, ReachedFixedPoint::Yes, None) |
216 | } | 227 | } |
217 | 228 | ||
@@ -220,6 +231,7 @@ impl CrateDefMap { | |||
220 | db: &impl DefDatabase, | 231 | db: &impl DefDatabase, |
221 | module: LocalModuleId, | 232 | module: LocalModuleId, |
222 | name: &Name, | 233 | name: &Name, |
234 | shadow: BuiltinShadowMode, | ||
223 | ) -> PerNs { | 235 | ) -> PerNs { |
224 | // Resolve in: | 236 | // Resolve in: |
225 | // - legacy scope of macro | 237 | // - legacy scope of macro |
@@ -228,23 +240,33 @@ impl CrateDefMap { | |||
228 | // - std prelude | 240 | // - std prelude |
229 | let from_legacy_macro = | 241 | let from_legacy_macro = |
230 | self[module].scope.get_legacy_macro(name).map_or_else(PerNs::none, PerNs::macros); | 242 | self[module].scope.get_legacy_macro(name).map_or_else(PerNs::none, PerNs::macros); |
231 | let from_scope = self[module].scope.get(name).map_or_else(PerNs::none, |res| res.def); | 243 | let from_scope = |
244 | self[module].scope.get(name, shadow).map_or_else(PerNs::none, |res| res.def); | ||
232 | let from_extern_prelude = | 245 | let from_extern_prelude = |
233 | self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it)); | 246 | self.extern_prelude.get(name).map_or(PerNs::none(), |&it| PerNs::types(it)); |
234 | let from_prelude = self.resolve_in_prelude(db, name); | 247 | let from_prelude = self.resolve_in_prelude(db, name, shadow); |
235 | 248 | ||
236 | from_legacy_macro.or(from_scope).or(from_extern_prelude).or(from_prelude) | 249 | from_legacy_macro.or(from_scope).or(from_extern_prelude).or(from_prelude) |
237 | } | 250 | } |
238 | 251 | ||
239 | fn resolve_name_in_crate_root_or_extern_prelude(&self, name: &Name) -> PerNs { | 252 | fn resolve_name_in_crate_root_or_extern_prelude( |
253 | &self, | ||
254 | name: &Name, | ||
255 | shadow: BuiltinShadowMode, | ||
256 | ) -> PerNs { | ||
240 | let from_crate_root = | 257 | let from_crate_root = |
241 | self[self.root].scope.get(name).map_or_else(PerNs::none, |res| res.def); | 258 | self[self.root].scope.get(name, shadow).map_or_else(PerNs::none, |res| res.def); |
242 | let from_extern_prelude = self.resolve_name_in_extern_prelude(name); | 259 | let from_extern_prelude = self.resolve_name_in_extern_prelude(name); |
243 | 260 | ||
244 | from_crate_root.or(from_extern_prelude) | 261 | from_crate_root.or(from_extern_prelude) |
245 | } | 262 | } |
246 | 263 | ||
247 | fn resolve_in_prelude(&self, db: &impl DefDatabase, name: &Name) -> PerNs { | 264 | fn resolve_in_prelude( |
265 | &self, | ||
266 | db: &impl DefDatabase, | ||
267 | name: &Name, | ||
268 | shadow: BuiltinShadowMode, | ||
269 | ) -> PerNs { | ||
248 | if let Some(prelude) = self.prelude { | 270 | if let Some(prelude) = self.prelude { |
249 | let keep; | 271 | let keep; |
250 | let def_map = if prelude.krate == self.krate { | 272 | let def_map = if prelude.krate == self.krate { |
@@ -254,7 +276,10 @@ impl CrateDefMap { | |||
254 | keep = db.crate_def_map(prelude.krate); | 276 | keep = db.crate_def_map(prelude.krate); |
255 | &keep | 277 | &keep |
256 | }; | 278 | }; |
257 | def_map[prelude.local_id].scope.get(name).map_or_else(PerNs::none, |res| res.def) | 279 | def_map[prelude.local_id] |
280 | .scope | ||
281 | .get(name, shadow) | ||
282 | .map_or_else(PerNs::none, |res| res.def) | ||
258 | } else { | 283 | } else { |
259 | PerNs::none() | 284 | PerNs::none() |
260 | } | 285 | } |
diff --git a/crates/ra_hir_def/src/resolver.rs b/crates/ra_hir_def/src/resolver.rs index 0847f6dcf..7d4df222e 100644 --- a/crates/ra_hir_def/src/resolver.rs +++ b/crates/ra_hir_def/src/resolver.rs | |||
@@ -14,7 +14,7 @@ use crate::{ | |||
14 | db::DefDatabase, | 14 | db::DefDatabase, |
15 | expr::{ExprId, PatId}, | 15 | expr::{ExprId, PatId}, |
16 | generics::GenericParams, | 16 | generics::GenericParams, |
17 | nameres::CrateDefMap, | 17 | nameres::{BuiltinShadowMode, CrateDefMap}, |
18 | path::{Path, PathKind}, | 18 | path::{Path, PathKind}, |
19 | per_ns::PerNs, | 19 | per_ns::PerNs, |
20 | AdtId, AstItemDef, ConstId, ContainerId, DefWithBodyId, EnumId, EnumVariantId, FunctionId, | 20 | AdtId, AstItemDef, ConstId, ContainerId, DefWithBodyId, EnumId, EnumVariantId, FunctionId, |
@@ -91,7 +91,7 @@ pub enum ValueNs { | |||
91 | impl Resolver { | 91 | impl Resolver { |
92 | /// Resolve known trait from std, like `std::futures::Future` | 92 | /// Resolve known trait from std, like `std::futures::Future` |
93 | pub fn resolve_known_trait(&self, db: &impl DefDatabase, path: &Path) -> Option<TraitId> { | 93 | pub fn resolve_known_trait(&self, db: &impl DefDatabase, path: &Path) -> Option<TraitId> { |
94 | let res = self.resolve_module_path(db, path).take_types()?; | 94 | let res = self.resolve_module_path(db, path, BuiltinShadowMode::Other).take_types()?; |
95 | match res { | 95 | match res { |
96 | ModuleDefId::TraitId(it) => Some(it), | 96 | ModuleDefId::TraitId(it) => Some(it), |
97 | _ => None, | 97 | _ => None, |
@@ -100,7 +100,7 @@ impl Resolver { | |||
100 | 100 | ||
101 | /// Resolve known struct from std, like `std::boxed::Box` | 101 | /// Resolve known struct from std, like `std::boxed::Box` |
102 | pub fn resolve_known_struct(&self, db: &impl DefDatabase, path: &Path) -> Option<StructId> { | 102 | pub fn resolve_known_struct(&self, db: &impl DefDatabase, path: &Path) -> Option<StructId> { |
103 | let res = self.resolve_module_path(db, path).take_types()?; | 103 | let res = self.resolve_module_path(db, path, BuiltinShadowMode::Other).take_types()?; |
104 | match res { | 104 | match res { |
105 | ModuleDefId::AdtId(AdtId::StructId(it)) => Some(it), | 105 | ModuleDefId::AdtId(AdtId::StructId(it)) => Some(it), |
106 | _ => None, | 106 | _ => None, |
@@ -109,26 +109,34 @@ impl Resolver { | |||
109 | 109 | ||
110 | /// Resolve known enum from std, like `std::result::Result` | 110 | /// Resolve known enum from std, like `std::result::Result` |
111 | pub fn resolve_known_enum(&self, db: &impl DefDatabase, path: &Path) -> Option<EnumId> { | 111 | pub fn resolve_known_enum(&self, db: &impl DefDatabase, path: &Path) -> Option<EnumId> { |
112 | let res = self.resolve_module_path(db, path).take_types()?; | 112 | let res = self.resolve_module_path(db, path, BuiltinShadowMode::Other).take_types()?; |
113 | match res { | 113 | match res { |
114 | ModuleDefId::AdtId(AdtId::EnumId(it)) => Some(it), | 114 | ModuleDefId::AdtId(AdtId::EnumId(it)) => Some(it), |
115 | _ => None, | 115 | _ => None, |
116 | } | 116 | } |
117 | } | 117 | } |
118 | 118 | ||
119 | /// pub only for source-binder | 119 | fn resolve_module_path( |
120 | pub fn resolve_module_path(&self, db: &impl DefDatabase, path: &Path) -> PerNs { | 120 | &self, |
121 | db: &impl DefDatabase, | ||
122 | path: &Path, | ||
123 | shadow: BuiltinShadowMode, | ||
124 | ) -> PerNs { | ||
121 | let (item_map, module) = match self.module() { | 125 | let (item_map, module) = match self.module() { |
122 | Some(it) => it, | 126 | Some(it) => it, |
123 | None => return PerNs::none(), | 127 | None => return PerNs::none(), |
124 | }; | 128 | }; |
125 | let (module_res, segment_index) = item_map.resolve_path(db, module, path); | 129 | let (module_res, segment_index) = item_map.resolve_path(db, module, path, shadow); |
126 | if segment_index.is_some() { | 130 | if segment_index.is_some() { |
127 | return PerNs::none(); | 131 | return PerNs::none(); |
128 | } | 132 | } |
129 | module_res | 133 | module_res |
130 | } | 134 | } |
131 | 135 | ||
136 | pub fn resolve_module_path_in_items(&self, db: &impl DefDatabase, path: &Path) -> PerNs { | ||
137 | self.resolve_module_path(db, path, BuiltinShadowMode::Module) | ||
138 | } | ||
139 | |||
132 | pub fn resolve_path_in_type_ns( | 140 | pub fn resolve_path_in_type_ns( |
133 | &self, | 141 | &self, |
134 | db: &impl DefDatabase, | 142 | db: &impl DefDatabase, |
@@ -163,7 +171,12 @@ impl Resolver { | |||
163 | } | 171 | } |
164 | } | 172 | } |
165 | Scope::ModuleScope(m) => { | 173 | Scope::ModuleScope(m) => { |
166 | let (module_def, idx) = m.crate_def_map.resolve_path(db, m.module_id, path); | 174 | let (module_def, idx) = m.crate_def_map.resolve_path( |
175 | db, | ||
176 | m.module_id, | ||
177 | path, | ||
178 | BuiltinShadowMode::Other, | ||
179 | ); | ||
167 | let res = match module_def.take_types()? { | 180 | let res = match module_def.take_types()? { |
168 | ModuleDefId::AdtId(it) => TypeNs::AdtId(it), | 181 | ModuleDefId::AdtId(it) => TypeNs::AdtId(it), |
169 | ModuleDefId::EnumVariantId(it) => TypeNs::EnumVariantId(it), | 182 | ModuleDefId::EnumVariantId(it) => TypeNs::EnumVariantId(it), |
@@ -256,7 +269,12 @@ impl Resolver { | |||
256 | Scope::ImplBlockScope(_) | Scope::AdtScope(_) => continue, | 269 | Scope::ImplBlockScope(_) | Scope::AdtScope(_) => continue, |
257 | 270 | ||
258 | Scope::ModuleScope(m) => { | 271 | Scope::ModuleScope(m) => { |
259 | let (module_def, idx) = m.crate_def_map.resolve_path(db, m.module_id, path); | 272 | let (module_def, idx) = m.crate_def_map.resolve_path( |
273 | db, | ||
274 | m.module_id, | ||
275 | path, | ||
276 | BuiltinShadowMode::Other, | ||
277 | ); | ||
260 | return match idx { | 278 | return match idx { |
261 | None => { | 279 | None => { |
262 | let value = match module_def.take_values()? { | 280 | let value = match module_def.take_values()? { |
@@ -310,7 +328,7 @@ impl Resolver { | |||
310 | 328 | ||
311 | pub fn resolve_path_as_macro(&self, db: &impl DefDatabase, path: &Path) -> Option<MacroDefId> { | 329 | pub fn resolve_path_as_macro(&self, db: &impl DefDatabase, path: &Path) -> Option<MacroDefId> { |
312 | let (item_map, module) = self.module()?; | 330 | let (item_map, module) = self.module()?; |
313 | item_map.resolve_path(db, module, path).0.take_macros() | 331 | item_map.resolve_path(db, module, path, BuiltinShadowMode::Other).0.take_macros() |
314 | } | 332 | } |
315 | 333 | ||
316 | pub fn process_all_names(&self, db: &impl DefDatabase, f: &mut dyn FnMut(Name, ScopeDef)) { | 334 | pub fn process_all_names(&self, db: &impl DefDatabase, f: &mut dyn FnMut(Name, ScopeDef)) { |
diff --git a/crates/ra_hir_ty/src/tests.rs b/crates/ra_hir_ty/src/tests.rs index c856d6afd..a3cc5cf95 100644 --- a/crates/ra_hir_ty/src/tests.rs +++ b/crates/ra_hir_ty/src/tests.rs | |||
@@ -3694,6 +3694,42 @@ fn main() { | |||
3694 | } | 3694 | } |
3695 | 3695 | ||
3696 | #[test] | 3696 | #[test] |
3697 | fn not_shadowing_primitive_by_module() { | ||
3698 | let t = type_at( | ||
3699 | r#" | ||
3700 | //- /str.rs | ||
3701 | fn foo() {} | ||
3702 | |||
3703 | //- /main.rs | ||
3704 | mod str; | ||
3705 | fn foo() -> &'static str { "" } | ||
3706 | |||
3707 | fn main() { | ||
3708 | foo()<|>; | ||
3709 | }"#, | ||
3710 | ); | ||
3711 | assert_eq!(t, "&str"); | ||
3712 | } | ||
3713 | |||
3714 | #[test] | ||
3715 | fn not_shadowing_module_by_primitive() { | ||
3716 | let t = type_at( | ||
3717 | r#" | ||
3718 | //- /str.rs | ||
3719 | fn foo() -> u32 {0} | ||
3720 | |||
3721 | //- /main.rs | ||
3722 | mod str; | ||
3723 | fn foo() -> &'static str { "" } | ||
3724 | |||
3725 | fn main() { | ||
3726 | str::foo()<|>; | ||
3727 | }"#, | ||
3728 | ); | ||
3729 | assert_eq!(t, "u32"); | ||
3730 | } | ||
3731 | |||
3732 | #[test] | ||
3697 | fn deref_trait() { | 3733 | fn deref_trait() { |
3698 | let t = type_at( | 3734 | let t = type_at( |
3699 | r#" | 3735 | r#" |
diff --git a/crates/ra_lsp_server/Cargo.toml b/crates/ra_lsp_server/Cargo.toml index 21aef842c..41672eaff 100644 --- a/crates/ra_lsp_server/Cargo.toml +++ b/crates/ra_lsp_server/Cargo.toml | |||
@@ -13,7 +13,6 @@ relative-path = "1.0.0" | |||
13 | serde_json = "1.0.34" | 13 | serde_json = "1.0.34" |
14 | serde = { version = "1.0.83", features = ["derive"] } | 14 | serde = { version = "1.0.83", features = ["derive"] } |
15 | crossbeam-channel = "0.4" | 15 | crossbeam-channel = "0.4" |
16 | flexi_logger = "0.14.0" | ||
17 | log = "0.4.3" | 16 | log = "0.4.3" |
18 | lsp-types = { version = "0.61.0", features = ["proposed"] } | 17 | lsp-types = { version = "0.61.0", features = ["proposed"] } |
19 | rustc-hash = "1.0" | 18 | rustc-hash = "1.0" |
@@ -27,6 +26,7 @@ lsp-server = "0.3.0" | |||
27 | ra_project_model = { path = "../ra_project_model" } | 26 | ra_project_model = { path = "../ra_project_model" } |
28 | ra_prof = { path = "../ra_prof" } | 27 | ra_prof = { path = "../ra_prof" } |
29 | ra_vfs_glob = { path = "../ra_vfs_glob" } | 28 | ra_vfs_glob = { path = "../ra_vfs_glob" } |
29 | env_logger = { version = "0.7.1", default-features = false, features = ["humantime"] } | ||
30 | 30 | ||
31 | [dev-dependencies] | 31 | [dev-dependencies] |
32 | tempfile = "3" | 32 | tempfile = "3" |
diff --git a/crates/ra_lsp_server/src/main.rs b/crates/ra_lsp_server/src/main.rs index e13c8ca14..8076a7fa5 100644 --- a/crates/ra_lsp_server/src/main.rs +++ b/crates/ra_lsp_server/src/main.rs | |||
@@ -1,6 +1,5 @@ | |||
1 | //! `ra_lsp_server` binary | 1 | //! `ra_lsp_server` binary |
2 | 2 | ||
3 | use flexi_logger::{Duplicate, Logger}; | ||
4 | use lsp_server::Connection; | 3 | use lsp_server::Connection; |
5 | use ra_lsp_server::{show_message, Result, ServerConfig}; | 4 | use ra_lsp_server::{show_message, Result, ServerConfig}; |
6 | use ra_prof; | 5 | use ra_prof; |
@@ -14,11 +13,7 @@ fn main() -> Result<()> { | |||
14 | fn setup_logging() -> Result<()> { | 13 | fn setup_logging() -> Result<()> { |
15 | std::env::set_var("RUST_BACKTRACE", "short"); | 14 | std::env::set_var("RUST_BACKTRACE", "short"); |
16 | 15 | ||
17 | let logger = Logger::with_env_or_str("error").duplicate_to_stderr(Duplicate::All); | 16 | env_logger::try_init()?; |
18 | match std::env::var("RA_LOG_DIR") { | ||
19 | Ok(ref v) if v == "1" => logger.log_to_file().directory("log").start()?, | ||
20 | _ => logger.start()?, | ||
21 | }; | ||
22 | 17 | ||
23 | ra_prof::set_filter(match std::env::var("RA_PROFILE") { | 18 | ra_prof::set_filter(match std::env::var("RA_PROFILE") { |
24 | Ok(spec) => ra_prof::Filter::from_spec(&spec), | 19 | Ok(spec) => ra_prof::Filter::from_spec(&spec), |
diff --git a/crates/ra_lsp_server/tests/heavy_tests/main.rs b/crates/ra_lsp_server/tests/heavy_tests/main.rs index 2ba82ab05..29224cbe8 100644 --- a/crates/ra_lsp_server/tests/heavy_tests/main.rs +++ b/crates/ra_lsp_server/tests/heavy_tests/main.rs | |||
@@ -15,7 +15,6 @@ use tempfile::TempDir; | |||
15 | 15 | ||
16 | use crate::support::{project, Project}; | 16 | use crate::support::{project, Project}; |
17 | 17 | ||
18 | const LOG: &'static str = ""; | ||
19 | const PROFILE: &'static str = ""; | 18 | const PROFILE: &'static str = ""; |
20 | // const PROFILE: &'static str = "*@3>100"; | 19 | // const PROFILE: &'static str = "*@3>100"; |
21 | 20 | ||
diff --git a/crates/ra_lsp_server/tests/heavy_tests/support.rs b/crates/ra_lsp_server/tests/heavy_tests/support.rs index 86073b57d..d5ea52fa9 100644 --- a/crates/ra_lsp_server/tests/heavy_tests/support.rs +++ b/crates/ra_lsp_server/tests/heavy_tests/support.rs | |||
@@ -7,7 +7,6 @@ use std::{ | |||
7 | }; | 7 | }; |
8 | 8 | ||
9 | use crossbeam_channel::{after, select, Receiver}; | 9 | use crossbeam_channel::{after, select, Receiver}; |
10 | use flexi_logger::Logger; | ||
11 | use lsp_server::{Connection, Message, Notification, Request}; | 10 | use lsp_server::{Connection, Message, Notification, Request}; |
12 | use lsp_types::{ | 11 | use lsp_types::{ |
13 | notification::{DidOpenTextDocument, Exit}, | 12 | notification::{DidOpenTextDocument, Exit}, |
@@ -53,7 +52,7 @@ impl<'a> Project<'a> { | |||
53 | let tmp_dir = self.tmp_dir.unwrap_or_else(|| TempDir::new().unwrap()); | 52 | let tmp_dir = self.tmp_dir.unwrap_or_else(|| TempDir::new().unwrap()); |
54 | static INIT: Once = Once::new(); | 53 | static INIT: Once = Once::new(); |
55 | INIT.call_once(|| { | 54 | INIT.call_once(|| { |
56 | let _ = Logger::with_env_or_str(crate::LOG).start().unwrap(); | 55 | let _ = env_logger::builder().is_test(true).try_init().unwrap(); |
57 | ra_prof::set_filter(if crate::PROFILE.is_empty() { | 56 | ra_prof::set_filter(if crate::PROFILE.is_empty() { |
58 | ra_prof::Filter::disabled() | 57 | ra_prof::Filter::disabled() |
59 | } else { | 58 | } else { |
diff --git a/docs/dev/README.md b/docs/dev/README.md index 0f64d7e5f..2f6215d6b 100644 --- a/docs/dev/README.md +++ b/docs/dev/README.md | |||
@@ -124,9 +124,8 @@ Logging is done by both rust-analyzer and VS Code, so it might be tricky to | |||
124 | figure out where logs go. | 124 | figure out where logs go. |
125 | 125 | ||
126 | Inside rust-analyzer, we use the standard `log` crate for logging, and | 126 | Inside rust-analyzer, we use the standard `log` crate for logging, and |
127 | `flexi_logger` for logging frotend. By default, log goes to stderr (the same as | 127 | `env_logger` for logging frontend. By default, log goes to stderr, but the |
128 | with `env_logger`), but the stderr itself is processed by VS Code. To mirror | 128 | stderr itself is processed by VS Code. |
129 | logs to a `./log` directory, set `RA_LOG_DIR=1` environmental variable. | ||
130 | 129 | ||
131 | To see stderr in the running VS Code instance, go to the "Output" tab of the | 130 | To see stderr in the running VS Code instance, go to the "Output" tab of the |
132 | panel and select `rust-analyzer`. This shows `eprintln!` as well. Note that | 131 | panel and select `rust-analyzer`. This shows `eprintln!` as well. Note that |
diff --git a/docs/user/README.md b/docs/user/README.md index 913ecea18..adacead52 100644 --- a/docs/user/README.md +++ b/docs/user/README.md | |||
@@ -1,14 +1,19 @@ | |||
1 | The main interface to rust-analyzer is the | 1 | The main interface to rust-analyzer is the |
2 | [LSP](https://microsoft.github.io/language-server-protocol/) implementation. To | 2 | [LSP](https://microsoft.github.io/language-server-protocol/) implementation. To |
3 | install lsp server, use `cargo xtask install --server`, which is a shorthand for `cargo | 3 | install lsp server, clone the repository and then run `cargo xtask install |
4 | install --package ra_lsp_server`. The binary is named `ra_lsp_server`, you | 4 | --server` (which is shorthand for `cargo install --path |
5 | should be able to use it with any LSP-compatible editor. We use custom | 5 | ./crates/ra_lsp_server`). This will produce a binary named `ra_lsp_server` which |
6 | you should be able to use it with any LSP-compatible editor. We use custom | ||
6 | extensions to LSP, so special client-side support is required to take full | 7 | extensions to LSP, so special client-side support is required to take full |
7 | advantage of rust-analyzer. This repository contains support code for VS Code | 8 | advantage of rust-analyzer. This repository contains support code for VS Code |
8 | and Emacs. | 9 | and Emacs. |
9 | 10 | ||
10 | Rust Analyzer needs sources of rust standard library to work, so you might need | 11 | ``` |
11 | to execute | 12 | $ git clone [email protected]:rust-analyzer/rust-analyzer && cd rust-analyzer |
13 | $ cargo xtask install --server | ||
14 | ``` | ||
15 | Rust Analyzer needs sources of rust standard library to work, so | ||
16 | you might also need to execute | ||
12 | 17 | ||
13 | ``` | 18 | ``` |
14 | $ rustup component add rust-src | 19 | $ rustup component add rust-src |