diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-01-17 11:17:46 +0000 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-01-17 11:17:46 +0000 |
commit | 168c46ab777f6e3263bb2e58f0ce9b0b1619114e (patch) | |
tree | 0723f5b15899902811d027587a46698016d21d54 | |
parent | 454cc313589fb17de92d6f3dbf576a5ea5f4adf2 (diff) | |
parent | a2ca03d10b093ea20d7db8bfd78aa1e787482cc0 (diff) |
Merge #561
561: :arrow_up: salsa r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
-rw-r--r-- | Cargo.lock | 99 | ||||
-rw-r--r-- | crates/ra_db/Cargo.toml | 2 | ||||
-rw-r--r-- | crates/ra_db/src/input.rs | 65 | ||||
-rw-r--r-- | crates/ra_db/src/lib.rs | 10 | ||||
-rw-r--r-- | crates/ra_hir/Cargo.toml | 1 | ||||
-rw-r--r-- | crates/ra_hir/src/db.rs | 174 | ||||
-rw-r--r-- | crates/ra_hir/src/mock.rs | 10 | ||||
-rw-r--r-- | crates/ra_hir/src/nameres/tests.rs | 3 | ||||
-rw-r--r-- | crates/ra_hir/src/ty/tests.rs | 4 | ||||
-rw-r--r-- | crates/ra_ide_api/Cargo.toml | 1 | ||||
-rw-r--r-- | crates/ra_ide_api/src/db.rs | 19 | ||||
-rw-r--r-- | crates/ra_ide_api/src/imp.rs | 9 | ||||
-rw-r--r-- | crates/ra_ide_api/src/lib.rs | 6 | ||||
-rw-r--r-- | crates/ra_ide_api/src/symbol_index.rs | 21 |
14 files changed, 190 insertions, 234 deletions
diff --git a/Cargo.lock b/Cargo.lock index 56fb4aad3..e0a41e258 100644 --- a/Cargo.lock +++ b/Cargo.lock | |||
@@ -39,7 +39,7 @@ dependencies = [ | |||
39 | 39 | ||
40 | [[package]] | 40 | [[package]] |
41 | name = "autocfg" | 41 | name = "autocfg" |
42 | version = "0.1.1" | 42 | version = "0.1.2" |
43 | source = "registry+https://github.com/rust-lang/crates.io-index" | 43 | source = "registry+https://github.com/rust-lang/crates.io-index" |
44 | 44 | ||
45 | [[package]] | 45 | [[package]] |
@@ -47,7 +47,7 @@ name = "backtrace" | |||
47 | version = "0.3.13" | 47 | version = "0.3.13" |
48 | source = "registry+https://github.com/rust-lang/crates.io-index" | 48 | source = "registry+https://github.com/rust-lang/crates.io-index" |
49 | dependencies = [ | 49 | dependencies = [ |
50 | "autocfg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 50 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
51 | "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", | 51 | "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", |
52 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 52 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
53 | "libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)", | 53 | "libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -118,7 +118,7 @@ dependencies = [ | |||
118 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 118 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
119 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", | 119 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", |
120 | "serde_derive 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", | 120 | "serde_derive 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", |
121 | "serde_json 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)", | 121 | "serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)", |
122 | ] | 122 | ] |
123 | 123 | ||
124 | [[package]] | 124 | [[package]] |
@@ -246,9 +246,9 @@ name = "derive-new" | |||
246 | version = "0.5.6" | 246 | version = "0.5.6" |
247 | source = "registry+https://github.com/rust-lang/crates.io-index" | 247 | source = "registry+https://github.com/rust-lang/crates.io-index" |
248 | dependencies = [ | 248 | dependencies = [ |
249 | "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", | 249 | "proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)", |
250 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 250 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
251 | "syn 0.15.25 (registry+https://github.com/rust-lang/crates.io-index)", | 251 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", |
252 | ] | 252 | ] |
253 | 253 | ||
254 | [[package]] | 254 | [[package]] |
@@ -314,9 +314,9 @@ name = "failure_derive" | |||
314 | version = "0.1.5" | 314 | version = "0.1.5" |
315 | source = "registry+https://github.com/rust-lang/crates.io-index" | 315 | source = "registry+https://github.com/rust-lang/crates.io-index" |
316 | dependencies = [ | 316 | dependencies = [ |
317 | "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", | 317 | "proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)", |
318 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 318 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
319 | "syn 0.15.25 (registry+https://github.com/rust-lang/crates.io-index)", | 319 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", |
320 | "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", | 320 | "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", |
321 | ] | 321 | ] |
322 | 322 | ||
@@ -327,7 +327,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
327 | 327 | ||
328 | [[package]] | 328 | [[package]] |
329 | name = "flexi_logger" | 329 | name = "flexi_logger" |
330 | version = "0.10.4" | 330 | version = "0.10.5" |
331 | source = "registry+https://github.com/rust-lang/crates.io-index" | 331 | source = "registry+https://github.com/rust-lang/crates.io-index" |
332 | dependencies = [ | 332 | dependencies = [ |
333 | "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 333 | "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -373,7 +373,7 @@ dependencies = [ | |||
373 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 373 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
374 | "lsp-types 0.54.0 (registry+https://github.com/rust-lang/crates.io-index)", | 374 | "lsp-types 0.54.0 (registry+https://github.com/rust-lang/crates.io-index)", |
375 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", | 375 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", |
376 | "serde_json 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)", | 376 | "serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)", |
377 | ] | 377 | ] |
378 | 378 | ||
379 | [[package]] | 379 | [[package]] |
@@ -414,7 +414,7 @@ dependencies = [ | |||
414 | 414 | ||
415 | [[package]] | 415 | [[package]] |
416 | name = "im" | 416 | name = "im" |
417 | version = "12.2.0" | 417 | version = "12.3.0" |
418 | source = "registry+https://github.com/rust-lang/crates.io-index" | 418 | source = "registry+https://github.com/rust-lang/crates.io-index" |
419 | dependencies = [ | 419 | dependencies = [ |
420 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", | 420 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -437,7 +437,7 @@ dependencies = [ | |||
437 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 437 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
438 | "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 438 | "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
439 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", | 439 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", |
440 | "serde_json 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)", | 440 | "serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)", |
441 | ] | 441 | ] |
442 | 442 | ||
443 | [[package]] | 443 | [[package]] |
@@ -495,7 +495,7 @@ dependencies = [ | |||
495 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | 495 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", |
496 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", | 496 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", |
497 | "serde_derive 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", | 497 | "serde_derive 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", |
498 | "serde_json 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)", | 498 | "serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)", |
499 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 499 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
500 | "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 500 | "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
501 | ] | 501 | ] |
@@ -545,9 +545,9 @@ version = "0.2.3" | |||
545 | source = "registry+https://github.com/rust-lang/crates.io-index" | 545 | source = "registry+https://github.com/rust-lang/crates.io-index" |
546 | dependencies = [ | 546 | dependencies = [ |
547 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | 547 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", |
548 | "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", | 548 | "proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)", |
549 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 549 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
550 | "syn 0.15.25 (registry+https://github.com/rust-lang/crates.io-index)", | 550 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", |
551 | ] | 551 | ] |
552 | 552 | ||
553 | [[package]] | 553 | [[package]] |
@@ -629,9 +629,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
629 | dependencies = [ | 629 | dependencies = [ |
630 | "pest 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 630 | "pest 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
631 | "pest_meta 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 631 | "pest_meta 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
632 | "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", | 632 | "proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)", |
633 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 633 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
634 | "syn 0.15.25 (registry+https://github.com/rust-lang/crates.io-index)", | 634 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", |
635 | ] | 635 | ] |
636 | 636 | ||
637 | [[package]] | 637 | [[package]] |
@@ -646,7 +646,7 @@ dependencies = [ | |||
646 | 646 | ||
647 | [[package]] | 647 | [[package]] |
648 | name = "proc-macro2" | 648 | name = "proc-macro2" |
649 | version = "0.4.24" | 649 | version = "0.4.25" |
650 | source = "registry+https://github.com/rust-lang/crates.io-index" | 650 | source = "registry+https://github.com/rust-lang/crates.io-index" |
651 | dependencies = [ | 651 | dependencies = [ |
652 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 652 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -679,7 +679,7 @@ name = "quote" | |||
679 | version = "0.6.10" | 679 | version = "0.6.10" |
680 | source = "registry+https://github.com/rust-lang/crates.io-index" | 680 | source = "registry+https://github.com/rust-lang/crates.io-index" |
681 | dependencies = [ | 681 | dependencies = [ |
682 | "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", | 682 | "proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)", |
683 | ] | 683 | ] |
684 | 684 | ||
685 | [[package]] | 685 | [[package]] |
@@ -707,7 +707,7 @@ dependencies = [ | |||
707 | "ra_syntax 0.1.0", | 707 | "ra_syntax 0.1.0", |
708 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 708 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
709 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 709 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
710 | "salsa 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", | 710 | "salsa 0.10.0-alpha1 (registry+https://github.com/rust-lang/crates.io-index)", |
711 | "test_utils 0.1.0", | 711 | "test_utils 0.1.0", |
712 | ] | 712 | ] |
713 | 713 | ||
@@ -717,7 +717,7 @@ version = "0.1.0" | |||
717 | dependencies = [ | 717 | dependencies = [ |
718 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", | 718 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", |
719 | "ena 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", | 719 | "ena 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
720 | "flexi_logger 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)", | 720 | "flexi_logger 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", |
721 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 721 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
722 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 722 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
723 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | 723 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -726,7 +726,6 @@ dependencies = [ | |||
726 | "ra_syntax 0.1.0", | 726 | "ra_syntax 0.1.0", |
727 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 727 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
728 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 728 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
729 | "salsa 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||
730 | "test_utils 0.1.0", | 729 | "test_utils 0.1.0", |
731 | ] | 730 | ] |
732 | 731 | ||
@@ -747,7 +746,6 @@ dependencies = [ | |||
747 | "rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 746 | "rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", |
748 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 747 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
749 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 748 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
750 | "salsa 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||
751 | "test_utils 0.1.0", | 749 | "test_utils 0.1.0", |
752 | "unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 750 | "unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
753 | ] | 751 | ] |
@@ -776,9 +774,9 @@ dependencies = [ | |||
776 | "drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | 774 | "drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", |
777 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 775 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
778 | "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 776 | "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
779 | "flexi_logger 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)", | 777 | "flexi_logger 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", |
780 | "gen_lsp_server 0.1.0", | 778 | "gen_lsp_server 0.1.0", |
781 | "im 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 779 | "im 12.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
782 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 780 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
783 | "lsp-types 0.54.0 (registry+https://github.com/rust-lang/crates.io-index)", | 781 | "lsp-types 0.54.0 (registry+https://github.com/rust-lang/crates.io-index)", |
784 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | 782 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -791,7 +789,7 @@ dependencies = [ | |||
791 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 789 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
792 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 790 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
793 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", | 791 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", |
794 | "serde_json 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)", | 792 | "serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)", |
795 | "tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 793 | "tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
796 | "test_utils 0.1.0", | 794 | "test_utils 0.1.0", |
797 | "thread_worker 0.1.0", | 795 | "thread_worker 0.1.0", |
@@ -857,7 +855,7 @@ name = "rand" | |||
857 | version = "0.6.4" | 855 | version = "0.6.4" |
858 | source = "registry+https://github.com/rust-lang/crates.io-index" | 856 | source = "registry+https://github.com/rust-lang/crates.io-index" |
859 | dependencies = [ | 857 | dependencies = [ |
860 | "autocfg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 858 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
861 | "libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)", | 859 | "libc 0.2.47 (registry+https://github.com/rust-lang/crates.io-index)", |
862 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 860 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
863 | "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 861 | "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -874,7 +872,7 @@ name = "rand_chacha" | |||
874 | version = "0.1.1" | 872 | version = "0.1.1" |
875 | source = "registry+https://github.com/rust-lang/crates.io-index" | 873 | source = "registry+https://github.com/rust-lang/crates.io-index" |
876 | dependencies = [ | 874 | dependencies = [ |
877 | "autocfg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 875 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
878 | "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 876 | "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
879 | ] | 877 | ] |
880 | 878 | ||
@@ -1071,7 +1069,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1071 | 1069 | ||
1072 | [[package]] | 1070 | [[package]] |
1073 | name = "salsa" | 1071 | name = "salsa" |
1074 | version = "0.9.2" | 1072 | version = "0.10.0-alpha1" |
1075 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1073 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1076 | dependencies = [ | 1074 | dependencies = [ |
1077 | "derive-new 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1075 | "derive-new 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1080,10 +1078,22 @@ dependencies = [ | |||
1080 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1078 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1081 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1079 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1082 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1080 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1081 | "salsa-macros 0.10.0-alpha1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1083 | "smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1082 | "smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1084 | ] | 1083 | ] |
1085 | 1084 | ||
1086 | [[package]] | 1085 | [[package]] |
1086 | name = "salsa-macros" | ||
1087 | version = "0.10.0-alpha1" | ||
1088 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1089 | dependencies = [ | ||
1090 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1091 | "proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1092 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1093 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1094 | ] | ||
1095 | |||
1096 | [[package]] | ||
1087 | name = "same-file" | 1097 | name = "same-file" |
1088 | version = "1.0.4" | 1098 | version = "1.0.4" |
1089 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1099 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1123,14 +1133,14 @@ name = "serde_derive" | |||
1123 | version = "1.0.84" | 1133 | version = "1.0.84" |
1124 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1134 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1125 | dependencies = [ | 1135 | dependencies = [ |
1126 | "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", | 1136 | "proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)", |
1127 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1137 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
1128 | "syn 0.15.25 (registry+https://github.com/rust-lang/crates.io-index)", | 1138 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", |
1129 | ] | 1139 | ] |
1130 | 1140 | ||
1131 | [[package]] | 1141 | [[package]] |
1132 | name = "serde_json" | 1142 | name = "serde_json" |
1133 | version = "1.0.35" | 1143 | version = "1.0.36" |
1134 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1144 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1135 | dependencies = [ | 1145 | dependencies = [ |
1136 | "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1146 | "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1190,10 +1200,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1190 | 1200 | ||
1191 | [[package]] | 1201 | [[package]] |
1192 | name = "syn" | 1202 | name = "syn" |
1193 | version = "0.15.25" | 1203 | version = "0.15.26" |
1194 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1204 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1195 | dependencies = [ | 1205 | dependencies = [ |
1196 | "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", | 1206 | "proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)", |
1197 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1207 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
1198 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1208 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1199 | ] | 1209 | ] |
@@ -1203,9 +1213,9 @@ name = "synstructure" | |||
1203 | version = "0.10.1" | 1213 | version = "0.10.1" |
1204 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1214 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1205 | dependencies = [ | 1215 | dependencies = [ |
1206 | "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", | 1216 | "proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)", |
1207 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1217 | "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
1208 | "syn 0.15.25 (registry+https://github.com/rust-lang/crates.io-index)", | 1218 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", |
1209 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1219 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1210 | ] | 1220 | ] |
1211 | 1221 | ||
@@ -1236,7 +1246,7 @@ dependencies = [ | |||
1236 | "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1246 | "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1237 | "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1247 | "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1238 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", | 1248 | "serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)", |
1239 | "serde_json 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)", | 1249 | "serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)", |
1240 | "slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | 1250 | "slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", |
1241 | "unic-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1251 | "unic-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1242 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1252 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1277,7 +1287,7 @@ version = "0.1.0" | |||
1277 | dependencies = [ | 1287 | dependencies = [ |
1278 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1288 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1279 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1289 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1280 | "serde_json 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)", | 1290 | "serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)", |
1281 | "text_unit 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1291 | "text_unit 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1282 | ] | 1292 | ] |
1283 | 1293 | ||
@@ -1536,7 +1546,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1536 | "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" | 1546 | "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" |
1537 | "checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" | 1547 | "checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" |
1538 | "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" | 1548 | "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" |
1539 | "checksum autocfg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4e5f34df7a019573fb8bdc7e24a2bfebe51a2a1d6bfdbaeccedb3c41fc574727" | 1549 | "checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799" |
1540 | "checksum backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "b5b493b66e03090ebc4343eb02f94ff944e0cbc9ac6571491d170ba026741eb5" | 1550 | "checksum backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "b5b493b66e03090ebc4343eb02f94ff944e0cbc9ac6571491d170ba026741eb5" |
1541 | "checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6" | 1551 | "checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6" |
1542 | "checksum base64 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "621fc7ecb8008f86d7fb9b95356cd692ce9514b80a86d85b397f32a22da7b9e2" | 1552 | "checksum base64 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "621fc7ecb8008f86d7fb9b95356cd692ce9514b80a86d85b397f32a22da7b9e2" |
@@ -1571,7 +1581,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1571 | "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" | 1581 | "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" |
1572 | "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" | 1582 | "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" |
1573 | "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" | 1583 | "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" |
1574 | "checksum flexi_logger 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7d3681306880a7ce87740ceb3d1ce98ca92ae636ff30a629494488cbbcf85ff8" | 1584 | "checksum flexi_logger 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bbd731387787f54fa333fa426e173fe42ea3d1123636b2b27ad802025fc5d182" |
1575 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" | 1585 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" |
1576 | "checksum fst 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "db72126ca7dff566cdbbdd54af44668c544897d9d3862b198141f176f1238bdf" | 1586 | "checksum fst 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "db72126ca7dff566cdbbdd54af44668c544897d9d3862b198141f176f1238bdf" |
1577 | "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" | 1587 | "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" |
@@ -1581,7 +1591,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1581 | "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" | 1591 | "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" |
1582 | "checksum humansize 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6cab2627acfc432780848602f3f558f7e9dd427352224b0d9324025796d2a5e" | 1592 | "checksum humansize 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6cab2627acfc432780848602f3f558f7e9dd427352224b0d9324025796d2a5e" |
1583 | "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" | 1593 | "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" |
1584 | "checksum im 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ae9c7f9bb8aee47fc16d535a705f7867a9fc83bb822e5e1043bb98e77ffeed3c" | 1594 | "checksum im 12.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0627d417829c1d763d602687634869f254fc79f7e22dea6c824dab993db857e4" |
1585 | "checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d" | 1595 | "checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d" |
1586 | "checksum insta 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "60e94ba6dd3521d953caeed96f6ba06f4cdc9e30e398b3ee7acdd680294f87dc" | 1596 | "checksum insta 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "60e94ba6dd3521d953caeed96f6ba06f4cdc9e30e398b3ee7acdd680294f87dc" |
1587 | "checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" | 1597 | "checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" |
@@ -1610,7 +1620,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1610 | "checksum pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" | 1620 | "checksum pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" |
1611 | "checksum pest_generator 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "63120576c4efd69615b5537d3d052257328a4ca82876771d6944424ccfd9f646" | 1621 | "checksum pest_generator 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "63120576c4efd69615b5537d3d052257328a4ca82876771d6944424ccfd9f646" |
1612 | "checksum pest_meta 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f5a3492a4ed208ffc247adcdcc7ba2a95be3104f58877d0d02f0df39bf3efb5e" | 1622 | "checksum pest_meta 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f5a3492a4ed208ffc247adcdcc7ba2a95be3104f58877d0d02f0df39bf3efb5e" |
1613 | "checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09" | 1623 | "checksum proc-macro2 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)" = "d3797b7142c9aa74954e351fc089bbee7958cebbff6bf2815e7ffff0b19f547d" |
1614 | "checksum proptest 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "926d0604475349f463fe44130aae73f2294b5309ab2ca0310b998bd334ef191f" | 1624 | "checksum proptest 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "926d0604475349f463fe44130aae73f2294b5309ab2ca0310b998bd334ef191f" |
1615 | "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" | 1625 | "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" |
1616 | "checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c" | 1626 | "checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c" |
@@ -1640,14 +1650,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1640 | "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" | 1650 | "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" |
1641 | "checksum rusty-fork 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9591f190d2852720b679c21f66ad929f9f1d7bb09d1193c26167586029d8489c" | 1651 | "checksum rusty-fork 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9591f190d2852720b679c21f66ad929f9f1d7bb09d1193c26167586029d8489c" |
1642 | "checksum ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7" | 1652 | "checksum ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7" |
1643 | "checksum salsa 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c73fd43ecb8ec5fbe64828ced981075b828109f011620d0fa1b66e9e983ceb84" | 1653 | "checksum salsa 0.10.0-alpha1 (registry+https://github.com/rust-lang/crates.io-index)" = "4cc048429df53bf0720b93cfa5fa8c3fc3dc7dd65ab41b3f754a8870e7b5c834" |
1654 | "checksum salsa-macros 0.10.0-alpha1 (registry+https://github.com/rust-lang/crates.io-index)" = "0d5a1aeb618da4b1a00d2885d045154ac30deb04109f3ce73c1fd789caba4fb1" | ||
1644 | "checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267" | 1655 | "checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267" |
1645 | "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" | 1656 | "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" |
1646 | "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" | 1657 | "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" |
1647 | "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" | 1658 | "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" |
1648 | "checksum serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)" = "0e732ed5a5592c17d961555e3b552985baf98d50ce418b7b655f31f6ba7eb1b7" | 1659 | "checksum serde 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)" = "0e732ed5a5592c17d961555e3b552985baf98d50ce418b7b655f31f6ba7eb1b7" |
1649 | "checksum serde_derive 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d6115a3ca25c224e409185325afc16a0d5aaaabc15c42b09587d6f1ba39a5b" | 1660 | "checksum serde_derive 1.0.84 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d6115a3ca25c224e409185325afc16a0d5aaaabc15c42b09587d6f1ba39a5b" |
1650 | "checksum serde_json 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)" = "dfb1277d4d0563e4593e0b8b5d23d744d277b55d2bc0bf1c38d0d8a6589d38aa" | 1661 | "checksum serde_json 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)" = "574378d957d6dcdf1bbb5d562a15cbd5e644159432f84634b94e485267abbcc7" |
1651 | "checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded" | 1662 | "checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded" |
1652 | "checksum slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373" | 1663 | "checksum slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373" |
1653 | "checksum smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b73ea3738b47563803ef814925e69be00799a8c07420be8b996f8e98fb2336db" | 1664 | "checksum smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b73ea3738b47563803ef814925e69be00799a8c07420be8b996f8e98fb2336db" |
@@ -1655,7 +1666,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1655 | "checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" | 1666 | "checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" |
1656 | "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" | 1667 | "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" |
1657 | "checksum superslice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b50b13d42370e0f5fc62eafdd5c2d20065eaf5458dab215ff3e20e63eea96b30" | 1668 | "checksum superslice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b50b13d42370e0f5fc62eafdd5c2d20065eaf5458dab215ff3e20e63eea96b30" |
1658 | "checksum syn 0.15.25 (registry+https://github.com/rust-lang/crates.io-index)" = "71b7693d9626935a362a3d1d4e59380800a919ebfa478d77a4f49e2a6d2c3ad5" | 1669 | "checksum syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)" = "f92e629aa1d9c827b2bb8297046c1ccffc57c99b947a680d3ccff1f136a3bee9" |
1659 | "checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" | 1670 | "checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" |
1660 | "checksum tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "7e91405c14320e5c79b3d148e1c86f40749a36e490642202a31689cb1a3452b2" | 1671 | "checksum tempfile 3.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "7e91405c14320e5c79b3d148e1c86f40749a36e490642202a31689cb1a3452b2" |
1661 | "checksum tera 0.11.20 (registry+https://github.com/rust-lang/crates.io-index)" = "4b505279e19d8f7d24b1a9dc58327c9c36174b1a2c7ebdeac70792d017cb64f3" | 1672 | "checksum tera 0.11.20 (registry+https://github.com/rust-lang/crates.io-index)" = "4b505279e19d8f7d24b1a9dc58327c9c36174b1a2c7ebdeac70792d017cb64f3" |
diff --git a/crates/ra_db/Cargo.toml b/crates/ra_db/Cargo.toml index 21d987688..bb1b5eae7 100644 --- a/crates/ra_db/Cargo.toml +++ b/crates/ra_db/Cargo.toml | |||
@@ -6,7 +6,7 @@ authors = ["Aleksey Kladov <[email protected]>"] | |||
6 | 6 | ||
7 | [dependencies] | 7 | [dependencies] |
8 | relative-path = "0.4.0" | 8 | relative-path = "0.4.0" |
9 | salsa = "0.9.2" | 9 | salsa = "0.10.0-alpha1" |
10 | rustc-hash = "1.0" | 10 | rustc-hash = "1.0" |
11 | parking_lot = "0.7.0" | 11 | parking_lot = "0.7.0" |
12 | ra_arena = { path = "../ra_arena" } | 12 | ra_arena = { path = "../ra_arena" } |
diff --git a/crates/ra_db/src/input.rs b/crates/ra_db/src/input.rs index 2b761ea0c..b5d63e820 100644 --- a/crates/ra_db/src/input.rs +++ b/crates/ra_db/src/input.rs | |||
@@ -146,46 +146,31 @@ impl CrateGraph { | |||
146 | } | 146 | } |
147 | } | 147 | } |
148 | 148 | ||
149 | salsa::query_group! { | 149 | #[salsa::query_group] |
150 | pub trait FilesDatabase: salsa::Database { | 150 | pub trait FilesDatabase: salsa::Database { |
151 | /// Text of the file. | 151 | /// Text of the file. |
152 | fn file_text(file_id: FileId) -> Arc<String> { | 152 | #[salsa::input] |
153 | type FileTextQuery; | 153 | fn file_text(&self, file_id: FileId) -> Arc<String>; |
154 | storage input; | 154 | /// Path to a file, relative to the root of its source root. |
155 | } | 155 | #[salsa::input] |
156 | /// Path to a file, relative to the root of its source root. | 156 | fn file_relative_path(&self, file_id: FileId) -> RelativePathBuf; |
157 | fn file_relative_path(file_id: FileId) -> RelativePathBuf { | 157 | /// Source root of the file. |
158 | type FileRelativePathQuery; | 158 | #[salsa::input] |
159 | storage input; | 159 | fn file_source_root(&self, file_id: FileId) -> SourceRootId; |
160 | } | 160 | /// Contents of the source root. |
161 | /// Source root of the file. | 161 | #[salsa::input] |
162 | fn file_source_root(file_id: FileId) -> SourceRootId { | 162 | fn source_root(&self, id: SourceRootId) -> Arc<SourceRoot>; |
163 | type FileSourceRootQuery; | 163 | /// The set of "local" (that is, from the current workspace) roots. |
164 | storage input; | 164 | /// Files in local roots are assumed to change frequently. |
165 | } | 165 | #[salsa::input] |
166 | /// Contents of the source root. | 166 | fn local_roots(&self) -> Arc<Vec<SourceRootId>>; |
167 | fn source_root(id: SourceRootId) -> Arc<SourceRoot> { | 167 | /// The set of roots for crates.io libraries. |
168 | type SourceRootQuery; | 168 | /// Files in libraries are assumed to never change. |
169 | storage input; | 169 | #[salsa::input] |
170 | } | 170 | fn library_roots(&self) -> Arc<Vec<SourceRootId>>; |
171 | /// The set of "local" (that is, from the current workspace) roots. | 171 | /// The crate graph. |
172 | /// Files in local roots are assumed to change frequently. | 172 | #[salsa::input] |
173 | fn local_roots() -> Arc<Vec<SourceRootId>> { | 173 | fn crate_graph(&self) -> Arc<CrateGraph>; |
174 | type LocalRootsQuery; | ||
175 | storage input; | ||
176 | } | ||
177 | /// The set of roots for crates.io libraries. | ||
178 | /// Files in libraries are assumed to never change. | ||
179 | fn library_roots() -> Arc<Vec<SourceRootId>> { | ||
180 | type LibraryRootsQuery; | ||
181 | storage input; | ||
182 | } | ||
183 | /// The crate graph. | ||
184 | fn crate_graph() -> Arc<CrateGraph> { | ||
185 | type CrateGraphQuery; | ||
186 | storage input; | ||
187 | } | ||
188 | } | ||
189 | } | 174 | } |
190 | 175 | ||
191 | #[cfg(test)] | 176 | #[cfg(test)] |
diff --git a/crates/ra_db/src/lib.rs b/crates/ra_db/src/lib.rs index 89113e7a6..dbeb9ec71 100644 --- a/crates/ra_db/src/lib.rs +++ b/crates/ra_db/src/lib.rs | |||
@@ -9,6 +9,7 @@ use std::panic; | |||
9 | 9 | ||
10 | use ra_syntax::{TextUnit, TextRange, SourceFile, TreeArc}; | 10 | use ra_syntax::{TextUnit, TextRange, SourceFile, TreeArc}; |
11 | 11 | ||
12 | pub use ::salsa as salsa; | ||
12 | pub use crate::{ | 13 | pub use crate::{ |
13 | cancellation::Canceled, | 14 | cancellation::Canceled, |
14 | syntax_ptr::LocalSyntaxPtr, | 15 | syntax_ptr::LocalSyntaxPtr, |
@@ -51,12 +52,9 @@ pub trait BaseDatabase: salsa::Database + panic::RefUnwindSafe { | |||
51 | } | 52 | } |
52 | } | 53 | } |
53 | 54 | ||
54 | salsa::query_group! { | 55 | #[salsa::query_group] |
55 | pub trait SyntaxDatabase: crate::input::FilesDatabase + BaseDatabase { | 56 | pub trait SyntaxDatabase: crate::input::FilesDatabase + BaseDatabase { |
56 | fn source_file(file_id: FileId) -> TreeArc<SourceFile> { | 57 | fn source_file(&self, file_id: FileId) -> TreeArc<SourceFile>; |
57 | type SourceFileQuery; | ||
58 | } | ||
59 | } | ||
60 | } | 58 | } |
61 | 59 | ||
62 | fn source_file(db: &impl SyntaxDatabase, file_id: FileId) -> TreeArc<SourceFile> { | 60 | fn source_file(db: &impl SyntaxDatabase, file_id: FileId) -> TreeArc<SourceFile> { |
diff --git a/crates/ra_hir/Cargo.toml b/crates/ra_hir/Cargo.toml index 415848f09..87d2e98e9 100644 --- a/crates/ra_hir/Cargo.toml +++ b/crates/ra_hir/Cargo.toml | |||
@@ -8,7 +8,6 @@ authors = ["Aleksey Kladov <[email protected]>"] | |||
8 | arrayvec = "0.4.10" | 8 | arrayvec = "0.4.10" |
9 | log = "0.4.5" | 9 | log = "0.4.5" |
10 | relative-path = "0.4.0" | 10 | relative-path = "0.4.0" |
11 | salsa = "0.9.2" | ||
12 | rustc-hash = "1.0" | 11 | rustc-hash = "1.0" |
13 | parking_lot = "0.7.0" | 12 | parking_lot = "0.7.0" |
14 | ena = "0.11" | 13 | ena = "0.11" |
diff --git a/crates/ra_hir/src/db.rs b/crates/ra_hir/src/db.rs index 0a0994f5f..b42f10071 100644 --- a/crates/ra_hir/src/db.rs +++ b/crates/ra_hir/src/db.rs | |||
@@ -1,7 +1,7 @@ | |||
1 | use std::sync::Arc; | 1 | use std::sync::Arc; |
2 | 2 | ||
3 | use ra_syntax::{SyntaxNode, TreeArc, SourceFile}; | 3 | use ra_syntax::{SyntaxNode, TreeArc, SourceFile}; |
4 | use ra_db::{SourceRootId, LocationIntener, SyntaxDatabase}; | 4 | use ra_db::{SourceRootId, LocationIntener, SyntaxDatabase, salsa}; |
5 | 5 | ||
6 | use crate::{ | 6 | use crate::{ |
7 | DefLoc, DefId, MacroCallLoc, MacroCallId, Name, HirFileId, | 7 | DefLoc, DefId, MacroCallLoc, MacroCallId, Name, HirFileId, |
@@ -16,111 +16,77 @@ use crate::{ | |||
16 | impl_block::ModuleImplBlocks, | 16 | impl_block::ModuleImplBlocks, |
17 | }; | 17 | }; |
18 | 18 | ||
19 | salsa::query_group! { | 19 | #[salsa::query_group] |
20 | 20 | pub trait HirDatabase: | |
21 | pub trait HirDatabase: SyntaxDatabase | 21 | SyntaxDatabase |
22 | + AsRef<LocationIntener<DefLoc, DefId>> | 22 | + AsRef<LocationIntener<DefLoc, DefId>> |
23 | + AsRef<LocationIntener<MacroCallLoc, MacroCallId>> | 23 | + AsRef<LocationIntener<MacroCallLoc, MacroCallId>> |
24 | { | 24 | { |
25 | fn hir_source_file(file_id: HirFileId) -> TreeArc<SourceFile> { | 25 | #[salsa::invoke(HirFileId::hir_source_file)] |
26 | type HirSourceFileQuery; | 26 | fn hir_source_file(&self, file_id: HirFileId) -> TreeArc<SourceFile>; |
27 | use fn HirFileId::hir_source_file; | 27 | |
28 | } | 28 | #[salsa::invoke(crate::macros::expand_macro_invocation)] |
29 | 29 | fn expand_macro_invocation(&self, invoc: MacroCallId) -> Option<Arc<MacroExpansion>>; | |
30 | fn expand_macro_invocation(invoc: MacroCallId) -> Option<Arc<MacroExpansion>> { | 30 | |
31 | type ExpandMacroCallQuery; | 31 | #[salsa::invoke(query_definitions::fn_scopes)] |
32 | use fn crate::macros::expand_macro_invocation; | 32 | fn fn_scopes(&self, def_id: DefId) -> Arc<FnScopes>; |
33 | } | 33 | |
34 | 34 | #[salsa::invoke(crate::adt::StructData::struct_data_query)] | |
35 | fn fn_scopes(def_id: DefId) -> Arc<FnScopes> { | 35 | fn struct_data(&self, def_id: DefId) -> Arc<StructData>; |
36 | type FnScopesQuery; | 36 | |
37 | use fn query_definitions::fn_scopes; | 37 | #[salsa::invoke(crate::adt::EnumData::enum_data_query)] |
38 | } | 38 | fn enum_data(&self, def_id: DefId) -> Arc<EnumData>; |
39 | 39 | ||
40 | fn struct_data(def_id: DefId) -> Arc<StructData> { | 40 | #[salsa::invoke(crate::adt::EnumVariantData::enum_variant_data_query)] |
41 | type StructDataQuery; | 41 | fn enum_variant_data(&self, def_id: DefId) -> Arc<EnumVariantData>; |
42 | use fn crate::adt::StructData::struct_data_query; | 42 | |
43 | } | 43 | #[salsa::invoke(crate::ty::infer)] |
44 | 44 | fn infer(&self, def_id: DefId) -> Arc<InferenceResult>; | |
45 | fn enum_data(def_id: DefId) -> Arc<EnumData> { | 45 | |
46 | type EnumDataQuery; | 46 | #[salsa::invoke(crate::ty::type_for_def)] |
47 | use fn crate::adt::EnumData::enum_data_query; | 47 | fn type_for_def(&self, def_id: DefId) -> Ty; |
48 | } | 48 | |
49 | 49 | #[salsa::invoke(crate::ty::type_for_field)] | |
50 | fn enum_variant_data(def_id: DefId) -> Arc<EnumVariantData> { | 50 | fn type_for_field(&self, def_id: DefId, field: Name) -> Option<Ty>; |
51 | type EnumVariantDataQuery; | 51 | |
52 | use fn crate::adt::EnumVariantData::enum_variant_data_query; | 52 | #[salsa::invoke(query_definitions::file_items)] |
53 | } | 53 | fn file_items(&self, file_id: HirFileId) -> Arc<SourceFileItems>; |
54 | 54 | ||
55 | fn infer(def_id: DefId) -> Arc<InferenceResult> { | 55 | #[salsa::invoke(query_definitions::file_item)] |
56 | type InferQuery; | 56 | fn file_item(&self, source_item_id: SourceItemId) -> TreeArc<SyntaxNode>; |
57 | use fn crate::ty::infer; | 57 | |
58 | } | 58 | #[salsa::invoke(crate::module_tree::Submodule::submodules_query)] |
59 | 59 | fn submodules(&self, source: SourceItemId) -> Arc<Vec<crate::module_tree::Submodule>>; | |
60 | fn type_for_def(def_id: DefId) -> Ty { | 60 | |
61 | type TypeForDefQuery; | 61 | #[salsa::invoke(query_definitions::input_module_items)] |
62 | use fn crate::ty::type_for_def; | 62 | fn input_module_items( |
63 | } | 63 | &self, |
64 | 64 | source_root_id: SourceRootId, | |
65 | fn type_for_field(def_id: DefId, field: Name) -> Option<Ty> { | 65 | module_id: ModuleId, |
66 | type TypeForFieldQuery; | 66 | ) -> Arc<InputModuleItems>; |
67 | use fn crate::ty::type_for_field; | 67 | |
68 | } | 68 | #[salsa::invoke(query_definitions::item_map)] |
69 | 69 | fn item_map(&self, source_root_id: SourceRootId) -> Arc<ItemMap>; | |
70 | fn file_items(file_id: HirFileId) -> Arc<SourceFileItems> { | 70 | |
71 | type SourceFileItemsQuery; | 71 | #[salsa::invoke(crate::module_tree::ModuleTree::module_tree_query)] |
72 | use fn query_definitions::file_items; | 72 | fn module_tree(&self, source_root_id: SourceRootId) -> Arc<ModuleTree>; |
73 | } | 73 | |
74 | 74 | #[salsa::invoke(crate::impl_block::impls_in_module)] | |
75 | fn file_item(source_item_id: SourceItemId) -> TreeArc<SyntaxNode> { | 75 | fn impls_in_module( |
76 | type FileItemQuery; | 76 | &self, |
77 | use fn query_definitions::file_item; | 77 | source_root_id: SourceRootId, |
78 | } | 78 | module_id: ModuleId, |
79 | 79 | ) -> Arc<ModuleImplBlocks>; | |
80 | fn submodules(source: SourceItemId) -> Arc<Vec<crate::module_tree::Submodule>> { | 80 | |
81 | type SubmodulesQuery; | 81 | #[salsa::invoke(crate::ty::method_resolution::CrateImplBlocks::impls_in_crate_query)] |
82 | use fn crate::module_tree::Submodule::submodules_query; | 82 | fn impls_in_crate(&self, krate: Crate) -> Arc<CrateImplBlocks>; |
83 | } | 83 | |
84 | 84 | #[salsa::invoke(crate::expr::body_hir)] | |
85 | fn input_module_items(source_root_id: SourceRootId, module_id: ModuleId) -> Arc<InputModuleItems> { | 85 | fn body_hir(&self, def_id: DefId) -> Arc<crate::expr::Body>; |
86 | type InputModuleItemsQuery; | 86 | |
87 | use fn query_definitions::input_module_items; | 87 | #[salsa::invoke(crate::expr::body_syntax_mapping)] |
88 | } | 88 | fn body_syntax_mapping(&self, def_id: DefId) -> Arc<crate::expr::BodySyntaxMapping>; |
89 | |||
90 | fn item_map(source_root_id: SourceRootId) -> Arc<ItemMap> { | ||
91 | type ItemMapQuery; | ||
92 | use fn query_definitions::item_map; | ||
93 | } | ||
94 | |||
95 | fn module_tree(source_root_id: SourceRootId) -> Arc<ModuleTree> { | ||
96 | type ModuleTreeQuery; | ||
97 | use fn crate::module_tree::ModuleTree::module_tree_query; | ||
98 | } | ||
99 | |||
100 | fn impls_in_module(source_root_id: SourceRootId, module_id: ModuleId) -> Arc<ModuleImplBlocks> { | ||
101 | type ImplsInModuleQuery; | ||
102 | use fn crate::impl_block::impls_in_module; | ||
103 | } | ||
104 | |||
105 | fn impls_in_crate(krate: Crate) -> Arc<CrateImplBlocks> { | ||
106 | type ImplsInCrateQuery; | ||
107 | use fn crate::ty::method_resolution::CrateImplBlocks::impls_in_crate_query; | ||
108 | } | ||
109 | |||
110 | fn body_hir(def_id: DefId) -> Arc<crate::expr::Body> { | ||
111 | type BodyHirQuery; | ||
112 | use fn crate::expr::body_hir; | ||
113 | } | ||
114 | |||
115 | fn body_syntax_mapping(def_id: DefId) -> Arc<crate::expr::BodySyntaxMapping> { | ||
116 | type BodySyntaxMappingQuery; | ||
117 | use fn crate::expr::body_syntax_mapping; | ||
118 | } | ||
119 | |||
120 | fn fn_signature(def_id: DefId) -> Arc<FnSignature> { | ||
121 | type FnSignatureQuery; | ||
122 | use fn crate::FnSignature::fn_signature_query; | ||
123 | } | ||
124 | } | ||
125 | 89 | ||
90 | #[salsa::invoke(crate::FnSignature::fn_signature_query)] | ||
91 | fn fn_signature(&self, def_id: DefId) -> Arc<FnSignature>; | ||
126 | } | 92 | } |
diff --git a/crates/ra_hir/src/mock.rs b/crates/ra_hir/src/mock.rs index 9371c5a0d..a83a5c6cc 100644 --- a/crates/ra_hir/src/mock.rs +++ b/crates/ra_hir/src/mock.rs | |||
@@ -1,8 +1,10 @@ | |||
1 | use std::{sync::Arc, panic}; | 1 | use std::{sync::Arc, panic}; |
2 | 2 | ||
3 | use parking_lot::Mutex; | 3 | use parking_lot::Mutex; |
4 | use salsa::{self, Database}; | 4 | use ra_db::{ |
5 | use ra_db::{LocationIntener, BaseDatabase, FilePosition, FileId, CrateGraph, SourceRoot, SourceRootId}; | 5 | LocationIntener, BaseDatabase, FilePosition, FileId, CrateGraph, SourceRoot, SourceRootId, |
6 | salsa::{self, Database}, | ||
7 | }; | ||
6 | use relative_path::RelativePathBuf; | 8 | use relative_path::RelativePathBuf; |
7 | use test_utils::{parse_fixture, CURSOR_MARKER, extract_offset}; | 9 | use test_utils::{parse_fixture, CURSOR_MARKER, extract_offset}; |
8 | 10 | ||
@@ -220,10 +222,10 @@ salsa::database_storage! { | |||
220 | } | 222 | } |
221 | impl db::HirDatabase { | 223 | impl db::HirDatabase { |
222 | fn hir_source_file() for db::HirSourceFileQuery; | 224 | fn hir_source_file() for db::HirSourceFileQuery; |
223 | fn expand_macro_invocation() for db::ExpandMacroCallQuery; | 225 | fn expand_macro_invocation() for db::ExpandMacroInvocationQuery; |
224 | fn module_tree() for db::ModuleTreeQuery; | 226 | fn module_tree() for db::ModuleTreeQuery; |
225 | fn fn_scopes() for db::FnScopesQuery; | 227 | fn fn_scopes() for db::FnScopesQuery; |
226 | fn file_items() for db::SourceFileItemsQuery; | 228 | fn file_items() for db::FileItemsQuery; |
227 | fn file_item() for db::FileItemQuery; | 229 | fn file_item() for db::FileItemQuery; |
228 | fn input_module_items() for db::InputModuleItemsQuery; | 230 | fn input_module_items() for db::InputModuleItemsQuery; |
229 | fn item_map() for db::ItemMapQuery; | 231 | fn item_map() for db::ItemMapQuery; |
diff --git a/crates/ra_hir/src/nameres/tests.rs b/crates/ra_hir/src/nameres/tests.rs index 9a0474045..0ec11ec12 100644 --- a/crates/ra_hir/src/nameres/tests.rs +++ b/crates/ra_hir/src/nameres/tests.rs | |||
@@ -1,7 +1,6 @@ | |||
1 | use std::sync::Arc; | 1 | use std::sync::Arc; |
2 | 2 | ||
3 | use salsa::Database; | 3 | use ra_db::{FilesDatabase, CrateGraph, SourceRootId, salsa::Database}; |
4 | use ra_db::{FilesDatabase, CrateGraph, SourceRootId}; | ||
5 | use relative_path::RelativePath; | 4 | use relative_path::RelativePath; |
6 | use test_utils::assert_eq_text; | 5 | use test_utils::assert_eq_text; |
7 | 6 | ||
diff --git a/crates/ra_hir/src/ty/tests.rs b/crates/ra_hir/src/ty/tests.rs index affd63a85..a430cbe88 100644 --- a/crates/ra_hir/src/ty/tests.rs +++ b/crates/ra_hir/src/ty/tests.rs | |||
@@ -3,9 +3,7 @@ use std::fmt::Write; | |||
3 | use std::path::{PathBuf, Path}; | 3 | use std::path::{PathBuf, Path}; |
4 | use std::fs; | 4 | use std::fs; |
5 | 5 | ||
6 | use salsa::Database; | 6 | use ra_db::{SyntaxDatabase, salsa::Database}; |
7 | |||
8 | use ra_db::SyntaxDatabase; | ||
9 | use ra_syntax::ast::{self, AstNode}; | 7 | use ra_syntax::ast::{self, AstNode}; |
10 | use test_utils::{project_dir, assert_eq_text, read_text}; | 8 | use test_utils::{project_dir, assert_eq_text, read_text}; |
11 | 9 | ||
diff --git a/crates/ra_ide_api/Cargo.toml b/crates/ra_ide_api/Cargo.toml index 022cbd5a3..702c11932 100644 --- a/crates/ra_ide_api/Cargo.toml +++ b/crates/ra_ide_api/Cargo.toml | |||
@@ -10,7 +10,6 @@ log = "0.4.5" | |||
10 | relative-path = "0.4.0" | 10 | relative-path = "0.4.0" |
11 | rayon = "1.0.2" | 11 | rayon = "1.0.2" |
12 | fst = "0.3.1" | 12 | fst = "0.3.1" |
13 | salsa = "0.9.2" | ||
14 | rustc-hash = "1.0" | 13 | rustc-hash = "1.0" |
15 | parking_lot = "0.7.0" | 14 | parking_lot = "0.7.0" |
16 | unicase = "2.2.0" | 15 | unicase = "2.2.0" |
diff --git a/crates/ra_ide_api/src/db.rs b/crates/ra_ide_api/src/db.rs index 60f84675d..36778b955 100644 --- a/crates/ra_ide_api/src/db.rs +++ b/crates/ra_ide_api/src/db.rs | |||
@@ -1,7 +1,9 @@ | |||
1 | use std::{fmt, sync::Arc}; | 1 | use std::{fmt, sync::Arc}; |
2 | 2 | ||
3 | use salsa::{self, Database}; | 3 | use ra_db::{ |
4 | use ra_db::{LocationIntener, BaseDatabase, FileId, Canceled}; | 4 | LocationIntener, BaseDatabase, FileId, Canceled, |
5 | salsa::{self, Database}, | ||
6 | }; | ||
5 | 7 | ||
6 | use crate::{symbol_index, LineIndex}; | 8 | use crate::{symbol_index, LineIndex}; |
7 | 9 | ||
@@ -73,12 +75,9 @@ impl AsRef<LocationIntener<hir::MacroCallLoc, hir::MacroCallId>> for RootDatabas | |||
73 | } | 75 | } |
74 | } | 76 | } |
75 | 77 | ||
76 | salsa::query_group! { | 78 | #[salsa::query_group] |
77 | pub(crate) trait LineIndexDatabase: ra_db::FilesDatabase + BaseDatabase { | 79 | pub(crate) trait LineIndexDatabase: ra_db::FilesDatabase + BaseDatabase { |
78 | fn line_index(file_id: FileId) -> Arc<LineIndex> { | 80 | fn line_index(&self, file_id: FileId) -> Arc<LineIndex>; |
79 | type LineIndexQuery; | ||
80 | } | ||
81 | } | ||
82 | } | 81 | } |
83 | 82 | ||
84 | fn line_index(db: &impl ra_db::FilesDatabase, file_id: FileId) -> Arc<LineIndex> { | 83 | fn line_index(db: &impl ra_db::FilesDatabase, file_id: FileId) -> Arc<LineIndex> { |
@@ -109,10 +108,10 @@ salsa::database_storage! { | |||
109 | } | 108 | } |
110 | impl hir::db::HirDatabase { | 109 | impl hir::db::HirDatabase { |
111 | fn hir_source_file() for hir::db::HirSourceFileQuery; | 110 | fn hir_source_file() for hir::db::HirSourceFileQuery; |
112 | fn expand_macro_invocation() for hir::db::ExpandMacroCallQuery; | 111 | fn expand_macro_invocation() for hir::db::ExpandMacroInvocationQuery; |
113 | fn module_tree() for hir::db::ModuleTreeQuery; | 112 | fn module_tree() for hir::db::ModuleTreeQuery; |
114 | fn fn_scopes() for hir::db::FnScopesQuery; | 113 | fn fn_scopes() for hir::db::FnScopesQuery; |
115 | fn file_items() for hir::db::SourceFileItemsQuery; | 114 | fn file_items() for hir::db::FileItemsQuery; |
116 | fn file_item() for hir::db::FileItemQuery; | 115 | fn file_item() for hir::db::FileItemQuery; |
117 | fn input_module_items() for hir::db::InputModuleItemsQuery; | 116 | fn input_module_items() for hir::db::InputModuleItemsQuery; |
118 | fn item_map() for hir::db::ItemMapQuery; | 117 | fn item_map() for hir::db::ItemMapQuery; |
diff --git a/crates/ra_ide_api/src/imp.rs b/crates/ra_ide_api/src/imp.rs index 61771ed40..28e497965 100644 --- a/crates/ra_ide_api/src/imp.rs +++ b/crates/ra_ide_api/src/imp.rs | |||
@@ -1,11 +1,12 @@ | |||
1 | use std::sync::Arc; | 1 | use std::sync::Arc; |
2 | 2 | ||
3 | use salsa::Database; | ||
4 | |||
5 | use hir::{ | 3 | use hir::{ |
6 | self, Problem, source_binder, | 4 | self, Problem, source_binder, |
7 | }; | 5 | }; |
8 | use ra_db::{FilesDatabase, SourceRoot, SourceRootId, SyntaxDatabase}; | 6 | use ra_db::{ |
7 | FilesDatabase, SourceRoot, SourceRootId, SyntaxDatabase, | ||
8 | salsa::{self, Database}, | ||
9 | }; | ||
9 | use ra_ide_api_light::{self, assists, LocalEdit, Severity}; | 10 | use ra_ide_api_light::{self, assists, LocalEdit, Severity}; |
10 | use ra_syntax::{ | 11 | use ra_syntax::{ |
11 | TextRange, AstNode, SourceFile, | 12 | TextRange, AstNode, SourceFile, |
@@ -89,7 +90,7 @@ impl db::RootDatabase { | |||
89 | fn gc_syntax_trees(&mut self) { | 90 | fn gc_syntax_trees(&mut self) { |
90 | self.query(ra_db::SourceFileQuery) | 91 | self.query(ra_db::SourceFileQuery) |
91 | .sweep(salsa::SweepStrategy::default().discard_values()); | 92 | .sweep(salsa::SweepStrategy::default().discard_values()); |
92 | self.query(hir::db::SourceFileItemsQuery) | 93 | self.query(hir::db::FileItemsQuery) |
93 | .sweep(salsa::SweepStrategy::default().discard_values()); | 94 | .sweep(salsa::SweepStrategy::default().discard_values()); |
94 | self.query(hir::db::FileItemQuery) | 95 | self.query(hir::db::FileItemQuery) |
95 | .sweep(salsa::SweepStrategy::default().discard_values()); | 96 | .sweep(salsa::SweepStrategy::default().discard_values()); |
diff --git a/crates/ra_ide_api/src/lib.rs b/crates/ra_ide_api/src/lib.rs index 3a0d2dbbe..7b47d7b6d 100644 --- a/crates/ra_ide_api/src/lib.rs +++ b/crates/ra_ide_api/src/lib.rs | |||
@@ -28,11 +28,13 @@ use std::{fmt, sync::Arc}; | |||
28 | 28 | ||
29 | use ra_syntax::{SourceFile, TreeArc, TextRange, TextUnit}; | 29 | use ra_syntax::{SourceFile, TreeArc, TextRange, TextUnit}; |
30 | use ra_text_edit::TextEdit; | 30 | use ra_text_edit::TextEdit; |
31 | use ra_db::{SyntaxDatabase, FilesDatabase, BaseDatabase}; | 31 | use ra_db::{ |
32 | SyntaxDatabase, FilesDatabase, BaseDatabase, | ||
33 | salsa::{self, ParallelDatabase}, | ||
34 | }; | ||
32 | use rayon::prelude::*; | 35 | use rayon::prelude::*; |
33 | use relative_path::RelativePathBuf; | 36 | use relative_path::RelativePathBuf; |
34 | use rustc_hash::FxHashMap; | 37 | use rustc_hash::FxHashMap; |
35 | use salsa::ParallelDatabase; | ||
36 | 38 | ||
37 | use crate::{ | 39 | use crate::{ |
38 | symbol_index::{FileSymbol, SymbolIndex}, | 40 | symbol_index::{FileSymbol, SymbolIndex}, |
diff --git a/crates/ra_ide_api/src/symbol_index.rs b/crates/ra_ide_api/src/symbol_index.rs index 74165d68f..bfa2f3469 100644 --- a/crates/ra_ide_api/src/symbol_index.rs +++ b/crates/ra_ide_api/src/symbol_index.rs | |||
@@ -32,8 +32,10 @@ use ra_syntax::{ | |||
32 | SyntaxKind::{self, *}, | 32 | SyntaxKind::{self, *}, |
33 | ast::{self, NameOwner}, | 33 | ast::{self, NameOwner}, |
34 | }; | 34 | }; |
35 | use ra_db::{SourceRootId, FilesDatabase, LocalSyntaxPtr}; | 35 | use ra_db::{ |
36 | use salsa::ParallelDatabase; | 36 | SourceRootId, FilesDatabase, LocalSyntaxPtr, |
37 | salsa::{self, ParallelDatabase}, | ||
38 | }; | ||
37 | use rayon::prelude::*; | 39 | use rayon::prelude::*; |
38 | 40 | ||
39 | use crate::{ | 41 | use crate::{ |
@@ -41,16 +43,11 @@ use crate::{ | |||
41 | db::RootDatabase, | 43 | db::RootDatabase, |
42 | }; | 44 | }; |
43 | 45 | ||
44 | salsa::query_group! { | 46 | #[salsa::query_group] |
45 | pub(crate) trait SymbolsDatabase: hir::db::HirDatabase { | 47 | pub(crate) trait SymbolsDatabase: hir::db::HirDatabase { |
46 | fn file_symbols(file_id: FileId) -> Arc<SymbolIndex> { | 48 | fn file_symbols(&self, file_id: FileId) -> Arc<SymbolIndex>; |
47 | type FileSymbolsQuery; | 49 | #[salsa::input] |
48 | } | 50 | fn library_symbols(&self, id: SourceRootId) -> Arc<SymbolIndex>; |
49 | fn library_symbols(id: SourceRootId) -> Arc<SymbolIndex> { | ||
50 | type LibrarySymbolsQuery; | ||
51 | storage input; | ||
52 | } | ||
53 | } | ||
54 | } | 51 | } |
55 | 52 | ||
56 | fn file_symbols(db: &impl SymbolsDatabase, file_id: FileId) -> Arc<SymbolIndex> { | 53 | fn file_symbols(db: &impl SymbolsDatabase, file_id: FileId) -> Arc<SymbolIndex> { |