aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock60
-rw-r--r--crates/ra_analysis/Cargo.toml2
-rw-r--r--crates/ra_analysis/src/imp.rs9
-rw-r--r--crates/ra_analysis/src/input.rs4
4 files changed, 40 insertions, 35 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 88c7ba356..76391eff4 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,9 +1,9 @@
1[[package]] 1[[package]]
2name = "aho-corasick" 2name = "aho-corasick"
3version = "0.6.8" 3version = "0.6.9"
4source = "registry+https://github.com/rust-lang/crates.io-index" 4source = "registry+https://github.com/rust-lang/crates.io-index"
5dependencies = [ 5dependencies = [
6 "memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 6 "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
7] 7]
8 8
9[[package]] 9[[package]]
@@ -268,7 +268,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
268dependencies = [ 268dependencies = [
269 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 269 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
270 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 270 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
271 "syn 0.15.15 (registry+https://github.com/rust-lang/crates.io-index)", 271 "syn 0.15.16 (registry+https://github.com/rust-lang/crates.io-index)",
272 "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", 272 "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
273] 273]
274 274
@@ -449,7 +449,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
449 449
450[[package]] 450[[package]]
451name = "memchr" 451name = "memchr"
452version = "2.1.0" 452version = "2.1.1"
453source = "registry+https://github.com/rust-lang/crates.io-index" 453source = "registry+https://github.com/rust-lang/crates.io-index"
454dependencies = [ 454dependencies = [
455 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 455 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -484,7 +484,7 @@ dependencies = [
484 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 484 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
485 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 485 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
486 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 486 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
487 "syn 0.15.15 (registry+https://github.com/rust-lang/crates.io-index)", 487 "syn 0.15.16 (registry+https://github.com/rust-lang/crates.io-index)",
488] 488]
489 489
490[[package]] 490[[package]]
@@ -608,7 +608,7 @@ dependencies = [
608 "rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 608 "rayon 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
609 "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 609 "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
610 "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 610 "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
611 "salsa 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 611 "salsa 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
612 "test_utils 0.1.0", 612 "test_utils 0.1.0",
613] 613]
614 614
@@ -663,7 +663,7 @@ dependencies = [
663 "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 663 "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
664 "text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 664 "text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
665 "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 665 "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
666 "walkdir 2.2.5 (registry+https://github.com/rust-lang/crates.io-index)", 666 "walkdir 2.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
667] 667]
668 668
669[[package]] 669[[package]]
@@ -677,7 +677,7 @@ dependencies = [
677 "test_utils 0.1.0", 677 "test_utils 0.1.0",
678 "text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 678 "text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
679 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 679 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
680 "walkdir 2.2.5 (registry+https://github.com/rust-lang/crates.io-index)", 680 "walkdir 2.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
681] 681]
682 682
683[[package]] 683[[package]]
@@ -754,11 +754,11 @@ name = "regex"
754version = "1.0.5" 754version = "1.0.5"
755source = "registry+https://github.com/rust-lang/crates.io-index" 755source = "registry+https://github.com/rust-lang/crates.io-index"
756dependencies = [ 756dependencies = [
757 "aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)", 757 "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
758 "memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 758 "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
759 "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 759 "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
760 "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 760 "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
761 "utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 761 "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
762] 762]
763 763
764[[package]] 764[[package]]
@@ -766,7 +766,7 @@ name = "regex-syntax"
766version = "0.6.2" 766version = "0.6.2"
767source = "registry+https://github.com/rust-lang/crates.io-index" 767source = "registry+https://github.com/rust-lang/crates.io-index"
768dependencies = [ 768dependencies = [
769 "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 769 "ucd-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
770] 770]
771 771
772[[package]] 772[[package]]
@@ -835,7 +835,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
835 835
836[[package]] 836[[package]]
837name = "salsa" 837name = "salsa"
838version = "0.6.2" 838version = "0.7.0"
839source = "registry+https://github.com/rust-lang/crates.io-index" 839source = "registry+https://github.com/rust-lang/crates.io-index"
840dependencies = [ 840dependencies = [
841 "derive-new 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", 841 "derive-new 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -849,7 +849,7 @@ dependencies = [
849 849
850[[package]] 850[[package]]
851name = "same-file" 851name = "same-file"
852version = "1.0.3" 852version = "1.0.4"
853source = "registry+https://github.com/rust-lang/crates.io-index" 853source = "registry+https://github.com/rust-lang/crates.io-index"
854dependencies = [ 854dependencies = [
855 "winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 855 "winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -889,7 +889,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
889dependencies = [ 889dependencies = [
890 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 890 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
891 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 891 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
892 "syn 0.15.15 (registry+https://github.com/rust-lang/crates.io-index)", 892 "syn 0.15.16 (registry+https://github.com/rust-lang/crates.io-index)",
893] 893]
894 894
895[[package]] 895[[package]]
@@ -964,7 +964,7 @@ dependencies = [
964 964
965[[package]] 965[[package]]
966name = "syn" 966name = "syn"
967version = "0.15.15" 967version = "0.15.16"
968source = "registry+https://github.com/rust-lang/crates.io-index" 968source = "registry+https://github.com/rust-lang/crates.io-index"
969dependencies = [ 969dependencies = [
970 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 970 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -979,7 +979,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
979dependencies = [ 979dependencies = [
980 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 980 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
981 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 981 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
982 "syn 0.15.15 (registry+https://github.com/rust-lang/crates.io-index)", 982 "syn 0.15.16 (registry+https://github.com/rust-lang/crates.io-index)",
983 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 983 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
984] 984]
985 985
@@ -1084,7 +1084,7 @@ dependencies = [
1084 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1084 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
1085 "itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", 1085 "itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)",
1086 "teraron 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 1086 "teraron 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
1087 "walkdir 2.2.5 (registry+https://github.com/rust-lang/crates.io-index)", 1087 "walkdir 2.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
1088] 1088]
1089 1089
1090[[package]] 1090[[package]]
@@ -1099,7 +1099,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1099 1099
1100[[package]] 1100[[package]]
1101name = "ucd-util" 1101name = "ucd-util"
1102version = "0.1.1" 1102version = "0.1.2"
1103source = "registry+https://github.com/rust-lang/crates.io-index" 1103source = "registry+https://github.com/rust-lang/crates.io-index"
1104 1104
1105[[package]] 1105[[package]]
@@ -1203,7 +1203,7 @@ dependencies = [
1203 1203
1204[[package]] 1204[[package]]
1205name = "utf8-ranges" 1205name = "utf8-ranges"
1206version = "1.0.1" 1206version = "1.0.2"
1207source = "registry+https://github.com/rust-lang/crates.io-index" 1207source = "registry+https://github.com/rust-lang/crates.io-index"
1208 1208
1209[[package]] 1209[[package]]
@@ -1223,10 +1223,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1223 1223
1224[[package]] 1224[[package]]
1225name = "walkdir" 1225name = "walkdir"
1226version = "2.2.5" 1226version = "2.2.6"
1227source = "registry+https://github.com/rust-lang/crates.io-index" 1227source = "registry+https://github.com/rust-lang/crates.io-index"
1228dependencies = [ 1228dependencies = [
1229 "same-file 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 1229 "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
1230 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 1230 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
1231 "winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1231 "winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
1232] 1232]
@@ -1259,7 +1259,7 @@ version = "0.4.0"
1259source = "registry+https://github.com/rust-lang/crates.io-index" 1259source = "registry+https://github.com/rust-lang/crates.io-index"
1260 1260
1261[metadata] 1261[metadata]
1262"checksum aho-corasick 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "68f56c7353e5a9547cbd76ed90f7bb5ffc3ba09d4ea9bd1d8c06c8b1142eeb5a" 1262"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
1263"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" 1263"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
1264"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" 1264"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
1265"checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" 1265"checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef"
@@ -1314,7 +1314,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1314"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" 1314"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
1315"checksum maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43" 1315"checksum maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43"
1316"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" 1316"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
1317"checksum memchr 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b3629fe9fdbff6daa6c33b90f7c08355c1aca05a3d01fa8063b822fcf185f3b" 1317"checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16"
1318"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff" 1318"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
1319"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" 1319"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
1320"checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" 1320"checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2"
@@ -1351,8 +1351,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1351"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" 1351"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
1352"checksum ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7" 1352"checksum ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7"
1353"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9" 1353"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
1354"checksum salsa 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ba7fe802c02c7b0074b0b4794442d73e3c7d071967300a98bb0f5dfc25e9f1ef" 1354"checksum salsa 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef0f1fb2a01d4579b6658343b1b5431a72c62c186ebb9b40bd6cd3078c7afecf"
1355"checksum same-file 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "10f7794e2fda7f594866840e95f5c5962e886e228e68b6505885811a94dd728c" 1355"checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267"
1356"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" 1356"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
1357"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" 1357"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
1358"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" 1358"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
@@ -1367,7 +1367,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1367"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" 1367"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
1368"checksum superslice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b50b13d42370e0f5fc62eafdd5c2d20065eaf5458dab215ff3e20e63eea96b30" 1368"checksum superslice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b50b13d42370e0f5fc62eafdd5c2d20065eaf5458dab215ff3e20e63eea96b30"
1369"checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" 1369"checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741"
1370"checksum syn 0.15.15 (registry+https://github.com/rust-lang/crates.io-index)" = "0a9c2bf1e53c21704a7cce1b2a42768f1ae32a6777108a0d7f1faa4bfe7f7c04" 1370"checksum syn 0.15.16 (registry+https://github.com/rust-lang/crates.io-index)" = "0b78d53b5e1b6e63129140b1336877c3bddbae398c7956150396bdad0e28676c"
1371"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" 1371"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
1372"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" 1372"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
1373"checksum tera 0.11.18 (registry+https://github.com/rust-lang/crates.io-index)" = "6c87cae42cc4fc480278c7583792cc5da2d51a25be916b7921cbb45c43063b8d" 1373"checksum tera 0.11.18 (registry+https://github.com/rust-lang/crates.io-index)" = "6c87cae42cc4fc480278c7583792cc5da2d51a25be916b7921cbb45c43063b8d"
@@ -1379,7 +1379,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1379"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" 1379"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b"
1380"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" 1380"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
1381"checksum ucd-trie 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "71a9c5b1fe77426cf144cc30e49e955270f5086e31a6441dfa8b32efc09b9d77" 1381"checksum ucd-trie 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "71a9c5b1fe77426cf144cc30e49e955270f5086e31a6441dfa8b32efc09b9d77"
1382"checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" 1382"checksum ucd-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d0f8bfa9ff0cadcd210129ad9d2c5f145c13e9ced3d3e5d948a6213487d52444"
1383"checksum unic-char-property 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce36d3f7ce754afdbccccf8ff0dd0134e50fb44aaae579f96218856e9e5dbd1e" 1383"checksum unic-char-property 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce36d3f7ce754afdbccccf8ff0dd0134e50fb44aaae579f96218856e9e5dbd1e"
1384"checksum unic-char-range 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9ab85fab42ad1b26cafc03bf891f69cb4d6e15f491030e89a0122197baa8ae8" 1384"checksum unic-char-range 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9ab85fab42ad1b26cafc03bf891f69cb4d6e15f491030e89a0122197baa8ae8"
1385"checksum unic-common 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff8d4a7ade929ef7d971e16ced21a8cd56a63869aa6032dfb8cb083cf7d077bf" 1385"checksum unic-common 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff8d4a7ade929ef7d971e16ced21a8cd56a63869aa6032dfb8cb083cf7d077bf"
@@ -1394,11 +1394,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1394"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" 1394"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
1395"checksum url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a321979c09843d272956e73700d12c4e7d3d92b2ee112b31548aef0d4efc5a6" 1395"checksum url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a321979c09843d272956e73700d12c4e7d3d92b2ee112b31548aef0d4efc5a6"
1396"checksum url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "74e7d099f1ee52f823d4bdd60c93c3602043c728f5db3b97bdb548467f7bddea" 1396"checksum url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "74e7d099f1ee52f823d4bdd60c93c3602043c728f5db3b97bdb548467f7bddea"
1397"checksum utf8-ranges 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd70f467df6810094968e2fce0ee1bd0e87157aceb026a8c083bcf5e25b9efe4" 1397"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
1398"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" 1398"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
1399"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" 1399"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
1400"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" 1400"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
1401"checksum walkdir 2.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "af464bc7be7b785c7ac72e266a6b67c4c9070155606f51655a650a6686204e35" 1401"checksum walkdir 2.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0ffb549f212c31e19f3667c55a7f515b983a84aef10fd0a4d1f9c125425115f3"
1402"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0" 1402"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
1403"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1403"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1404"checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab" 1404"checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab"
diff --git a/crates/ra_analysis/Cargo.toml b/crates/ra_analysis/Cargo.toml
index 5d7915fa5..892e34235 100644
--- a/crates/ra_analysis/Cargo.toml
+++ b/crates/ra_analysis/Cargo.toml
@@ -11,7 +11,7 @@ rayon = "1.0.2"
11fst = "0.3.1" 11fst = "0.3.1"
12ra_syntax = { path = "../ra_syntax" } 12ra_syntax = { path = "../ra_syntax" }
13ra_editor = { path = "../ra_editor" } 13ra_editor = { path = "../ra_editor" }
14salsa = "0.6.2" 14salsa = "0.7.0"
15rustc-hash = "1.0" 15rustc-hash = "1.0"
16 16
17[dev-dependencies] 17[dev-dependencies]
diff --git a/crates/ra_analysis/src/imp.rs b/crates/ra_analysis/src/imp.rs
index 57657105b..efb3182a6 100644
--- a/crates/ra_analysis/src/imp.rs
+++ b/crates/ra_analysis/src/imp.rs
@@ -84,7 +84,7 @@ impl Default for FileResolverImp {
84 } 84 }
85} 85}
86 86
87#[derive(Debug, Default)] 87#[derive(Debug)]
88pub(crate) struct AnalysisHostImpl { 88pub(crate) struct AnalysisHostImpl {
89 db: db::RootDatabase, 89 db: db::RootDatabase,
90} 90}
@@ -92,7 +92,12 @@ pub(crate) struct AnalysisHostImpl {
92 92
93impl AnalysisHostImpl { 93impl AnalysisHostImpl {
94 pub fn new() -> AnalysisHostImpl { 94 pub fn new() -> AnalysisHostImpl {
95 AnalysisHostImpl::default() 95 let db = db::RootDatabase::default();
96 db.query(crate::input::SourceRootQuery)
97 .set(WORKSPACE, Default::default());
98 db.query(crate::input::CrateGraphQuery)
99 .set((), Default::default());
100 AnalysisHostImpl { db }
96 } 101 }
97 pub fn analysis(&self) -> AnalysisImpl { 102 pub fn analysis(&self) -> AnalysisImpl {
98 AnalysisImpl { 103 AnalysisImpl {
diff --git a/crates/ra_analysis/src/input.rs b/crates/ra_analysis/src/input.rs
index e64fad40c..98781751a 100644
--- a/crates/ra_analysis/src/input.rs
+++ b/crates/ra_analysis/src/input.rs
@@ -67,10 +67,10 @@ salsa::query_group! {
67 } 67 }
68} 68}
69 69
70#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] 70#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
71pub(crate) struct SourceRootId(pub(crate) u32); 71pub(crate) struct SourceRootId(pub(crate) u32);
72 72
73#[derive(Clone, Default, Debug, PartialEq, Eq)] 73#[derive(Default, Clone, Debug, PartialEq, Eq)]
74pub(crate) struct SourceRoot { 74pub(crate) struct SourceRoot {
75 pub(crate) file_resolver: FileResolverImp, 75 pub(crate) file_resolver: FileResolverImp,
76 pub(crate) files: FxHashSet<FileId>, 76 pub(crate) files: FxHashSet<FileId>,