diff options
122 files changed, 5209 insertions, 3276 deletions
diff --git a/.cargo/config b/.cargo/config index 9f9b24a49..3812e1e2d 100644 --- a/.cargo/config +++ b/.cargo/config | |||
@@ -1,25 +1,4 @@ | |||
1 | [alias] | 1 | [alias] |
2 | # Automatically generates the ast and syntax kinds files | 2 | xtask = "run --package xtask --bin xtask --" |
3 | gen-syntax = "run --package ra_tools --bin ra_tools -- gen-syntax" | ||
4 | 3 | ||
5 | # Extracts the tests from | 4 | install-ra = "run --package xtask --bin xtask -- install" # for backwards compat |
6 | gen-tests = "run --package ra_tools --bin ra_tools -- gen-tests" | ||
7 | |||
8 | build-website = "run --package website-gen" | ||
9 | |||
10 | # Installs the visual studio code extension | ||
11 | install-ra = "run --package ra_tools --bin ra_tools -- install-ra" | ||
12 | install-code = "run --package ra_tools --bin ra_tools -- install-ra" # just an alias | ||
13 | |||
14 | # Formats the full repository or installs the git hook to do it automatically. | ||
15 | format = "run --package ra_tools --bin ra_tools -- format" | ||
16 | format-hook = "run --package ra_tools --bin ra_tools -- format-hook" | ||
17 | |||
18 | # Run clippy | ||
19 | lint = "run --package ra_tools --bin ra_tools -- lint" | ||
20 | |||
21 | # Runs the fuzzing test suite (currently only parser) | ||
22 | fuzz-tests = "run --package ra_tools --bin ra_tools -- fuzz-tests" | ||
23 | |||
24 | # Parse a file. This should be piped the file contents | ||
25 | parse = "run --package ra_cli -- parse" | ||
diff --git a/.travis.yml b/.travis.yml index d4cf71ab5..7d66f72d8 100644 --- a/.travis.yml +++ b/.travis.yml | |||
@@ -14,7 +14,7 @@ matrix: | |||
14 | script: | 14 | script: |
15 | - rustup component add rustfmt | 15 | - rustup component add rustfmt |
16 | - rustup component add rust-src | 16 | - rustup component add rust-src |
17 | - printf "\n\n[profile.dev]\ndebug = false\n" >> Cargo.toml | 17 | - sed -i "s/debug = 1/debug = false/g" Cargo.toml |
18 | - cargo test --no-run # let's measure compile time separately | 18 | - cargo test --no-run # let's measure compile time separately |
19 | - cargo test | 19 | - cargo test |
20 | env: | 20 | env: |
@@ -28,7 +28,7 @@ matrix: | |||
28 | language: rust | 28 | language: rust |
29 | rust: stable | 29 | rust: stable |
30 | script: | 30 | script: |
31 | - cargo build-website | 31 | - cargo doc --all --no-deps |
32 | env: | 32 | env: |
33 | - RUSTFLAGS="-D warnings", CARGO_INCREMENTAL=0 | 33 | - RUSTFLAGS="-D warnings", CARGO_INCREMENTAL=0 |
34 | 34 | ||
@@ -59,7 +59,7 @@ deploy: | |||
59 | skip-cleanup: true | 59 | skip-cleanup: true |
60 | github-token: $DOCS_TOKEN # Set in the settings page of your repository, as a secure variable | 60 | github-token: $DOCS_TOKEN # Set in the settings page of your repository, as a secure variable |
61 | keep-history: false | 61 | keep-history: false |
62 | local-dir: target/website/ | 62 | local-dir: target/doc |
63 | on: | 63 | on: |
64 | branch: master | 64 | branch: master |
65 | condition: $DEPLOY_DOCS = 1 | 65 | condition: $DEPLOY_DOCS = 1 |
diff --git a/Cargo.lock b/Cargo.lock index a5a43cffc..634480e5f 100644 --- a/Cargo.lock +++ b/Cargo.lock | |||
@@ -10,44 +10,49 @@ dependencies = [ | |||
10 | 10 | ||
11 | [[package]] | 11 | [[package]] |
12 | name = "arrayvec" | 12 | name = "arrayvec" |
13 | version = "0.4.11" | 13 | version = "0.4.12" |
14 | source = "registry+https://github.com/rust-lang/crates.io-index" | 14 | source = "registry+https://github.com/rust-lang/crates.io-index" |
15 | dependencies = [ | 15 | dependencies = [ |
16 | "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", | 16 | "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", |
17 | ] | 17 | ] |
18 | 18 | ||
19 | [[package]] | 19 | [[package]] |
20 | name = "arrayvec" | ||
21 | version = "0.5.1" | ||
22 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
23 | |||
24 | [[package]] | ||
20 | name = "atty" | 25 | name = "atty" |
21 | version = "0.2.13" | 26 | version = "0.2.13" |
22 | source = "registry+https://github.com/rust-lang/crates.io-index" | 27 | source = "registry+https://github.com/rust-lang/crates.io-index" |
23 | dependencies = [ | 28 | dependencies = [ |
24 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 29 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
25 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 30 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
26 | ] | 31 | ] |
27 | 32 | ||
28 | [[package]] | 33 | [[package]] |
29 | name = "autocfg" | 34 | name = "autocfg" |
30 | version = "0.1.6" | 35 | version = "0.1.7" |
31 | source = "registry+https://github.com/rust-lang/crates.io-index" | 36 | source = "registry+https://github.com/rust-lang/crates.io-index" |
32 | 37 | ||
33 | [[package]] | 38 | [[package]] |
34 | name = "backtrace" | 39 | name = "backtrace" |
35 | version = "0.3.38" | 40 | version = "0.3.40" |
36 | source = "registry+https://github.com/rust-lang/crates.io-index" | 41 | source = "registry+https://github.com/rust-lang/crates.io-index" |
37 | dependencies = [ | 42 | dependencies = [ |
38 | "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)", | 43 | "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", |
39 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 44 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
40 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 45 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
41 | "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", | 46 | "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", |
42 | ] | 47 | ] |
43 | 48 | ||
44 | [[package]] | 49 | [[package]] |
45 | name = "backtrace-sys" | 50 | name = "backtrace-sys" |
46 | version = "0.1.31" | 51 | version = "0.1.32" |
47 | source = "registry+https://github.com/rust-lang/crates.io-index" | 52 | source = "registry+https://github.com/rust-lang/crates.io-index" |
48 | dependencies = [ | 53 | dependencies = [ |
49 | "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)", | 54 | "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", |
50 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 55 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
51 | ] | 56 | ] |
52 | 57 | ||
53 | [[package]] | 58 | [[package]] |
@@ -73,7 +78,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
73 | 78 | ||
74 | [[package]] | 79 | [[package]] |
75 | name = "bitflags" | 80 | name = "bitflags" |
76 | version = "1.2.0" | 81 | version = "1.2.1" |
77 | source = "registry+https://github.com/rust-lang/crates.io-index" | 82 | source = "registry+https://github.com/rust-lang/crates.io-index" |
78 | 83 | ||
79 | [[package]] | 84 | [[package]] |
@@ -91,27 +96,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
91 | 96 | ||
92 | [[package]] | 97 | [[package]] |
93 | name = "c2-chacha" | 98 | name = "c2-chacha" |
94 | version = "0.2.2" | 99 | version = "0.2.3" |
95 | source = "registry+https://github.com/rust-lang/crates.io-index" | 100 | source = "registry+https://github.com/rust-lang/crates.io-index" |
96 | dependencies = [ | 101 | dependencies = [ |
97 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 102 | "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", |
98 | "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||
99 | ] | 103 | ] |
100 | 104 | ||
101 | [[package]] | 105 | [[package]] |
102 | name = "cargo_metadata" | 106 | name = "cargo_metadata" |
103 | version = "0.8.2" | 107 | version = "0.9.0" |
104 | source = "registry+https://github.com/rust-lang/crates.io-index" | 108 | source = "registry+https://github.com/rust-lang/crates.io-index" |
105 | dependencies = [ | 109 | dependencies = [ |
106 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 110 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
107 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 111 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
108 | "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 112 | "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
109 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 113 | "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
110 | ] | 114 | ] |
111 | 115 | ||
112 | [[package]] | 116 | [[package]] |
113 | name = "cc" | 117 | name = "cc" |
114 | version = "1.0.45" | 118 | version = "1.0.46" |
115 | source = "registry+https://github.com/rust-lang/crates.io-index" | 119 | source = "registry+https://github.com/rust-lang/crates.io-index" |
116 | 120 | ||
117 | [[package]] | 121 | [[package]] |
@@ -122,17 +126,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
122 | [[package]] | 126 | [[package]] |
123 | name = "chalk-engine" | 127 | name = "chalk-engine" |
124 | version = "0.9.0" | 128 | version = "0.9.0" |
125 | source = "git+https://github.com/rust-lang/chalk.git#df09cc603c0cff9ed95e5554055d483fdd756fbc" | 129 | source = "git+https://github.com/rust-lang/chalk.git#13303bb0067c6ed0572322080ae367ee38f9e7c9" |
126 | dependencies = [ | 130 | dependencies = [ |
127 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", | 131 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", |
128 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 132 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
129 | "stacker 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 133 | "stacker 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
130 | ] | 134 | ] |
131 | 135 | ||
132 | [[package]] | 136 | [[package]] |
133 | name = "chalk-ir" | 137 | name = "chalk-ir" |
134 | version = "0.1.0" | 138 | version = "0.1.0" |
135 | source = "git+https://github.com/rust-lang/chalk.git#df09cc603c0cff9ed95e5554055d483fdd756fbc" | 139 | source = "git+https://github.com/rust-lang/chalk.git#13303bb0067c6ed0572322080ae367ee38f9e7c9" |
136 | dependencies = [ | 140 | dependencies = [ |
137 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", | 141 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", |
138 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", | 142 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", |
@@ -142,7 +146,7 @@ dependencies = [ | |||
142 | [[package]] | 146 | [[package]] |
143 | name = "chalk-macros" | 147 | name = "chalk-macros" |
144 | version = "0.1.1" | 148 | version = "0.1.1" |
145 | source = "git+https://github.com/rust-lang/chalk.git#df09cc603c0cff9ed95e5554055d483fdd756fbc" | 149 | source = "git+https://github.com/rust-lang/chalk.git#13303bb0067c6ed0572322080ae367ee38f9e7c9" |
146 | dependencies = [ | 150 | dependencies = [ |
147 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 151 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
148 | ] | 152 | ] |
@@ -150,7 +154,7 @@ dependencies = [ | |||
150 | [[package]] | 154 | [[package]] |
151 | name = "chalk-rust-ir" | 155 | name = "chalk-rust-ir" |
152 | version = "0.1.0" | 156 | version = "0.1.0" |
153 | source = "git+https://github.com/rust-lang/chalk.git#df09cc603c0cff9ed95e5554055d483fdd756fbc" | 157 | source = "git+https://github.com/rust-lang/chalk.git#13303bb0067c6ed0572322080ae367ee38f9e7c9" |
154 | dependencies = [ | 158 | dependencies = [ |
155 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", | 159 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", |
156 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", | 160 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", |
@@ -160,14 +164,13 @@ dependencies = [ | |||
160 | [[package]] | 164 | [[package]] |
161 | name = "chalk-solve" | 165 | name = "chalk-solve" |
162 | version = "0.1.0" | 166 | version = "0.1.0" |
163 | source = "git+https://github.com/rust-lang/chalk.git#df09cc603c0cff9ed95e5554055d483fdd756fbc" | 167 | source = "git+https://github.com/rust-lang/chalk.git#13303bb0067c6ed0572322080ae367ee38f9e7c9" |
164 | dependencies = [ | 168 | dependencies = [ |
165 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", | 169 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", |
166 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", | 170 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", |
167 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", | 171 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", |
168 | "chalk-rust-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", | 172 | "chalk-rust-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", |
169 | "derive-new 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", | 173 | "ena 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)", |
170 | "ena 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
171 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 174 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
172 | "petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", | 175 | "petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", |
173 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 176 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -178,7 +181,7 @@ name = "chrono" | |||
178 | version = "0.4.9" | 181 | version = "0.4.9" |
179 | source = "registry+https://github.com/rust-lang/crates.io-index" | 182 | source = "registry+https://github.com/rust-lang/crates.io-index" |
180 | dependencies = [ | 183 | dependencies = [ |
181 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 184 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
182 | "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", | 185 | "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", |
183 | "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | 186 | "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", |
184 | "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", | 187 | "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -191,7 +194,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
191 | dependencies = [ | 194 | dependencies = [ |
192 | "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", | 195 | "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", |
193 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 196 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
194 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 197 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
195 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 198 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
196 | ] | 199 | ] |
197 | 200 | ||
@@ -200,7 +203,7 @@ name = "cloudabi" | |||
200 | version = "0.0.3" | 203 | version = "0.0.3" |
201 | source = "registry+https://github.com/rust-lang/crates.io-index" | 204 | source = "registry+https://github.com/rust-lang/crates.io-index" |
202 | dependencies = [ | 205 | dependencies = [ |
203 | "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 206 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
204 | ] | 207 | ] |
205 | 208 | ||
206 | [[package]] | 209 | [[package]] |
@@ -211,7 +214,22 @@ dependencies = [ | |||
211 | "clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 214 | "clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
212 | "encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 215 | "encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
213 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 216 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
214 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 217 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
218 | "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
219 | "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
220 | "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||
221 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||
222 | ] | ||
223 | |||
224 | [[package]] | ||
225 | name = "console" | ||
226 | version = "0.9.0" | ||
227 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
228 | dependencies = [ | ||
229 | "clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
230 | "encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||
231 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
232 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", | ||
215 | "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 233 | "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
216 | "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 234 | "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
217 | "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 235 | "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -253,7 +271,7 @@ name = "crossbeam-epoch" | |||
253 | version = "0.7.2" | 271 | version = "0.7.2" |
254 | source = "registry+https://github.com/rust-lang/crates.io-index" | 272 | source = "registry+https://github.com/rust-lang/crates.io-index" |
255 | dependencies = [ | 273 | dependencies = [ |
256 | "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", | 274 | "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", |
257 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 275 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
258 | "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", | 276 | "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", |
259 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 277 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -283,7 +301,7 @@ name = "derive-new" | |||
283 | version = "0.5.8" | 301 | version = "0.5.8" |
284 | source = "registry+https://github.com/rust-lang/crates.io-index" | 302 | source = "registry+https://github.com/rust-lang/crates.io-index" |
285 | dependencies = [ | 303 | dependencies = [ |
286 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 304 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
287 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 305 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
288 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 306 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
289 | ] | 307 | ] |
@@ -310,7 +328,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
310 | 328 | ||
311 | [[package]] | 329 | [[package]] |
312 | name = "ena" | 330 | name = "ena" |
313 | version = "0.13.0" | 331 | version = "0.13.1" |
314 | source = "registry+https://github.com/rust-lang/crates.io-index" | 332 | source = "registry+https://github.com/rust-lang/crates.io-index" |
315 | dependencies = [ | 333 | dependencies = [ |
316 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 334 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -327,7 +345,7 @@ version = "0.2.7" | |||
327 | source = "registry+https://github.com/rust-lang/crates.io-index" | 345 | source = "registry+https://github.com/rust-lang/crates.io-index" |
328 | dependencies = [ | 346 | dependencies = [ |
329 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 347 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
330 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 348 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
331 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 349 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
332 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 350 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
333 | ] | 351 | ] |
@@ -369,7 +387,7 @@ name = "fsevent" | |||
369 | version = "0.4.0" | 387 | version = "0.4.0" |
370 | source = "registry+https://github.com/rust-lang/crates.io-index" | 388 | source = "registry+https://github.com/rust-lang/crates.io-index" |
371 | dependencies = [ | 389 | dependencies = [ |
372 | "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 390 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
373 | "fsevent-sys 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 391 | "fsevent-sys 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
374 | ] | 392 | ] |
375 | 393 | ||
@@ -378,7 +396,7 @@ name = "fsevent-sys" | |||
378 | version = "2.0.1" | 396 | version = "2.0.1" |
379 | source = "registry+https://github.com/rust-lang/crates.io-index" | 397 | source = "registry+https://github.com/rust-lang/crates.io-index" |
380 | dependencies = [ | 398 | dependencies = [ |
381 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 399 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
382 | ] | 400 | ] |
383 | 401 | ||
384 | [[package]] | 402 | [[package]] |
@@ -399,7 +417,7 @@ name = "fuchsia-zircon" | |||
399 | version = "0.3.3" | 417 | version = "0.3.3" |
400 | source = "registry+https://github.com/rust-lang/crates.io-index" | 418 | source = "registry+https://github.com/rust-lang/crates.io-index" |
401 | dependencies = [ | 419 | dependencies = [ |
402 | "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 420 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
403 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | 421 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", |
404 | ] | 422 | ] |
405 | 423 | ||
@@ -414,7 +432,7 @@ version = "0.1.12" | |||
414 | source = "registry+https://github.com/rust-lang/crates.io-index" | 432 | source = "registry+https://github.com/rust-lang/crates.io-index" |
415 | dependencies = [ | 433 | dependencies = [ |
416 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 434 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
417 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 435 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
418 | "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | 436 | "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
419 | ] | 437 | ] |
420 | 438 | ||
@@ -455,18 +473,20 @@ dependencies = [ | |||
455 | 473 | ||
456 | [[package]] | 474 | [[package]] |
457 | name = "indexmap" | 475 | name = "indexmap" |
458 | version = "1.2.0" | 476 | version = "1.3.0" |
459 | source = "registry+https://github.com/rust-lang/crates.io-index" | 477 | source = "registry+https://github.com/rust-lang/crates.io-index" |
478 | dependencies = [ | ||
479 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", | ||
480 | ] | ||
460 | 481 | ||
461 | [[package]] | 482 | [[package]] |
462 | name = "indicatif" | 483 | name = "indicatif" |
463 | version = "0.11.0" | 484 | version = "0.12.0" |
464 | source = "registry+https://github.com/rust-lang/crates.io-index" | 485 | source = "registry+https://github.com/rust-lang/crates.io-index" |
465 | dependencies = [ | 486 | dependencies = [ |
466 | "console 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 487 | "console 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
467 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 488 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
468 | "number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | 489 | "number_prefix 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
469 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
470 | "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 490 | "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
471 | ] | 491 | ] |
472 | 492 | ||
@@ -475,9 +495,9 @@ name = "inotify" | |||
475 | version = "0.6.1" | 495 | version = "0.6.1" |
476 | source = "registry+https://github.com/rust-lang/crates.io-index" | 496 | source = "registry+https://github.com/rust-lang/crates.io-index" |
477 | dependencies = [ | 497 | dependencies = [ |
478 | "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 498 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
479 | "inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 499 | "inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
480 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 500 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
481 | ] | 501 | ] |
482 | 502 | ||
483 | [[package]] | 503 | [[package]] |
@@ -485,7 +505,7 @@ name = "inotify-sys" | |||
485 | version = "0.1.3" | 505 | version = "0.1.3" |
486 | source = "registry+https://github.com/rust-lang/crates.io-index" | 506 | source = "registry+https://github.com/rust-lang/crates.io-index" |
487 | dependencies = [ | 507 | dependencies = [ |
488 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 508 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
489 | ] | 509 | ] |
490 | 510 | ||
491 | [[package]] | 511 | [[package]] |
@@ -497,18 +517,17 @@ dependencies = [ | |||
497 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 517 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
498 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 518 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
499 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 519 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
500 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 520 | "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
501 | "serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)", | 521 | "serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)", |
502 | "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", | 522 | "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", |
503 | ] | 523 | ] |
504 | 524 | ||
505 | [[package]] | 525 | [[package]] |
506 | name = "iovec" | 526 | name = "iovec" |
507 | version = "0.1.2" | 527 | version = "0.1.4" |
508 | source = "registry+https://github.com/rust-lang/crates.io-index" | 528 | source = "registry+https://github.com/rust-lang/crates.io-index" |
509 | dependencies = [ | 529 | dependencies = [ |
510 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 530 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
511 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||
512 | ] | 531 | ] |
513 | 532 | ||
514 | [[package]] | 533 | [[package]] |
@@ -530,7 +549,7 @@ version = "0.3.3" | |||
530 | source = "registry+https://github.com/rust-lang/crates.io-index" | 549 | source = "registry+https://github.com/rust-lang/crates.io-index" |
531 | dependencies = [ | 550 | dependencies = [ |
532 | "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | 551 | "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", |
533 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 552 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
534 | "paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 553 | "paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
535 | ] | 554 | ] |
536 | 555 | ||
@@ -539,9 +558,9 @@ name = "jemalloc-sys" | |||
539 | version = "0.3.2" | 558 | version = "0.3.2" |
540 | source = "registry+https://github.com/rust-lang/crates.io-index" | 559 | source = "registry+https://github.com/rust-lang/crates.io-index" |
541 | dependencies = [ | 560 | dependencies = [ |
542 | "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)", | 561 | "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", |
543 | "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 562 | "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
544 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 563 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
545 | ] | 564 | ] |
546 | 565 | ||
547 | [[package]] | 566 | [[package]] |
@@ -550,7 +569,7 @@ version = "0.3.2" | |||
550 | source = "registry+https://github.com/rust-lang/crates.io-index" | 569 | source = "registry+https://github.com/rust-lang/crates.io-index" |
551 | dependencies = [ | 570 | dependencies = [ |
552 | "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | 571 | "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", |
553 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 572 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
554 | ] | 573 | ] |
555 | 574 | ||
556 | [[package]] | 575 | [[package]] |
@@ -589,7 +608,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
589 | 608 | ||
590 | [[package]] | 609 | [[package]] |
591 | name = "libc" | 610 | name = "libc" |
592 | version = "0.2.62" | 611 | version = "0.2.65" |
593 | source = "registry+https://github.com/rust-lang/crates.io-index" | 612 | source = "registry+https://github.com/rust-lang/crates.io-index" |
594 | 613 | ||
595 | [[package]] | 614 | [[package]] |
@@ -621,7 +640,7 @@ dependencies = [ | |||
621 | "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | 640 | "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", |
622 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 641 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
623 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 642 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
624 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 643 | "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
625 | ] | 644 | ] |
626 | 645 | ||
627 | [[package]] | 646 | [[package]] |
@@ -629,9 +648,9 @@ name = "lsp-types" | |||
629 | version = "0.61.0" | 648 | version = "0.61.0" |
630 | source = "registry+https://github.com/rust-lang/crates.io-index" | 649 | source = "registry+https://github.com/rust-lang/crates.io-index" |
631 | dependencies = [ | 650 | dependencies = [ |
632 | "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 651 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
633 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 652 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
634 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 653 | "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
635 | "serde_repr 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 654 | "serde_repr 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
636 | "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 655 | "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
637 | ] | 656 | ] |
@@ -661,9 +680,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
661 | dependencies = [ | 680 | dependencies = [ |
662 | "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | 681 | "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", |
663 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | 682 | "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", |
664 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | 683 | "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", |
665 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 684 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", |
666 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 685 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
667 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 686 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
668 | "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 687 | "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
669 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", | 688 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -699,27 +718,27 @@ version = "0.2.33" | |||
699 | source = "registry+https://github.com/rust-lang/crates.io-index" | 718 | source = "registry+https://github.com/rust-lang/crates.io-index" |
700 | dependencies = [ | 719 | dependencies = [ |
701 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 720 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
702 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 721 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
703 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 722 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
704 | ] | 723 | ] |
705 | 724 | ||
706 | [[package]] | 725 | [[package]] |
707 | name = "nodrop" | 726 | name = "nodrop" |
708 | version = "0.1.13" | 727 | version = "0.1.14" |
709 | source = "registry+https://github.com/rust-lang/crates.io-index" | 728 | source = "registry+https://github.com/rust-lang/crates.io-index" |
710 | 729 | ||
711 | [[package]] | 730 | [[package]] |
712 | name = "notify" | 731 | name = "notify" |
713 | version = "4.0.13" | 732 | version = "4.0.14" |
714 | source = "registry+https://github.com/rust-lang/crates.io-index" | 733 | source = "registry+https://github.com/rust-lang/crates.io-index" |
715 | dependencies = [ | 734 | dependencies = [ |
716 | "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 735 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
717 | "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", | 736 | "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", |
718 | "fsevent 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 737 | "fsevent 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
719 | "fsevent-sys 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 738 | "fsevent-sys 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
720 | "inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", | 739 | "inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", |
721 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 740 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", |
722 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 741 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
723 | "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", | 742 | "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", |
724 | "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 743 | "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
725 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | 744 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -731,7 +750,7 @@ name = "num-integer" | |||
731 | version = "0.1.41" | 750 | version = "0.1.41" |
732 | source = "registry+https://github.com/rust-lang/crates.io-index" | 751 | source = "registry+https://github.com/rust-lang/crates.io-index" |
733 | dependencies = [ | 752 | dependencies = [ |
734 | "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 753 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
735 | "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | 754 | "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", |
736 | ] | 755 | ] |
737 | 756 | ||
@@ -740,7 +759,7 @@ name = "num-traits" | |||
740 | version = "0.2.8" | 759 | version = "0.2.8" |
741 | source = "registry+https://github.com/rust-lang/crates.io-index" | 760 | source = "registry+https://github.com/rust-lang/crates.io-index" |
742 | dependencies = [ | 761 | dependencies = [ |
743 | "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 762 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
744 | ] | 763 | ] |
745 | 764 | ||
746 | [[package]] | 765 | [[package]] |
@@ -748,16 +767,13 @@ name = "num_cpus" | |||
748 | version = "1.10.1" | 767 | version = "1.10.1" |
749 | source = "registry+https://github.com/rust-lang/crates.io-index" | 768 | source = "registry+https://github.com/rust-lang/crates.io-index" |
750 | dependencies = [ | 769 | dependencies = [ |
751 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 770 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
752 | ] | 771 | ] |
753 | 772 | ||
754 | [[package]] | 773 | [[package]] |
755 | name = "number_prefix" | 774 | name = "number_prefix" |
756 | version = "0.2.8" | 775 | version = "0.3.0" |
757 | source = "registry+https://github.com/rust-lang/crates.io-index" | 776 | source = "registry+https://github.com/rust-lang/crates.io-index" |
758 | dependencies = [ | ||
759 | "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||
760 | ] | ||
761 | 777 | ||
762 | [[package]] | 778 | [[package]] |
763 | name = "once_cell" | 779 | name = "once_cell" |
@@ -786,7 +802,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
786 | dependencies = [ | 802 | dependencies = [ |
787 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 803 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
788 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 804 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", |
789 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 805 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
790 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 806 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
791 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", | 807 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", |
792 | "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 808 | "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -799,7 +815,7 @@ version = "0.1.6" | |||
799 | source = "registry+https://github.com/rust-lang/crates.io-index" | 815 | source = "registry+https://github.com/rust-lang/crates.io-index" |
800 | dependencies = [ | 816 | dependencies = [ |
801 | "paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 817 | "paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
802 | "proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", | 818 | "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", |
803 | ] | 819 | ] |
804 | 820 | ||
805 | [[package]] | 821 | [[package]] |
@@ -807,8 +823,8 @@ name = "paste-impl" | |||
807 | version = "0.1.6" | 823 | version = "0.1.6" |
808 | source = "registry+https://github.com/rust-lang/crates.io-index" | 824 | source = "registry+https://github.com/rust-lang/crates.io-index" |
809 | dependencies = [ | 825 | dependencies = [ |
810 | "proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", | 826 | "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", |
811 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 827 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
812 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 828 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
813 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 829 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
814 | ] | 830 | ] |
@@ -834,22 +850,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
834 | 850 | ||
835 | [[package]] | 851 | [[package]] |
836 | name = "ppv-lite86" | 852 | name = "ppv-lite86" |
837 | version = "0.2.5" | 853 | version = "0.2.6" |
838 | source = "registry+https://github.com/rust-lang/crates.io-index" | 854 | source = "registry+https://github.com/rust-lang/crates.io-index" |
839 | 855 | ||
840 | [[package]] | 856 | [[package]] |
841 | name = "proc-macro-hack" | 857 | name = "proc-macro-hack" |
842 | version = "0.5.9" | 858 | version = "0.5.11" |
843 | source = "registry+https://github.com/rust-lang/crates.io-index" | 859 | source = "registry+https://github.com/rust-lang/crates.io-index" |
844 | dependencies = [ | 860 | dependencies = [ |
845 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 861 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
846 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 862 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
847 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 863 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
848 | ] | 864 | ] |
849 | 865 | ||
850 | [[package]] | 866 | [[package]] |
851 | name = "proc-macro2" | 867 | name = "proc-macro2" |
852 | version = "1.0.5" | 868 | version = "1.0.6" |
853 | source = "registry+https://github.com/rust-lang/crates.io-index" | 869 | source = "registry+https://github.com/rust-lang/crates.io-index" |
854 | dependencies = [ | 870 | dependencies = [ |
855 | "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 871 | "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -861,7 +877,7 @@ version = "0.9.4" | |||
861 | source = "registry+https://github.com/rust-lang/crates.io-index" | 877 | source = "registry+https://github.com/rust-lang/crates.io-index" |
862 | dependencies = [ | 878 | dependencies = [ |
863 | "bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 879 | "bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
864 | "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 880 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
865 | "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | 881 | "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", |
866 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 882 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
867 | "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | 883 | "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -873,6 +889,14 @@ dependencies = [ | |||
873 | ] | 889 | ] |
874 | 890 | ||
875 | [[package]] | 891 | [[package]] |
892 | name = "psm" | ||
893 | version = "0.1.5" | ||
894 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
895 | dependencies = [ | ||
896 | "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", | ||
897 | ] | ||
898 | |||
899 | [[package]] | ||
876 | name = "quick-error" | 900 | name = "quick-error" |
877 | version = "1.2.2" | 901 | version = "1.2.2" |
878 | source = "registry+https://github.com/rust-lang/crates.io-index" | 902 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -882,7 +906,7 @@ name = "quote" | |||
882 | version = "1.0.2" | 906 | version = "1.0.2" |
883 | source = "registry+https://github.com/rust-lang/crates.io-index" | 907 | source = "registry+https://github.com/rust-lang/crates.io-index" |
884 | dependencies = [ | 908 | dependencies = [ |
885 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 909 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
886 | ] | 910 | ] |
887 | 911 | ||
888 | [[package]] | 912 | [[package]] |
@@ -893,17 +917,15 @@ version = "0.1.0" | |||
893 | name = "ra_assists" | 917 | name = "ra_assists" |
894 | version = "0.1.0" | 918 | version = "0.1.0" |
895 | dependencies = [ | 919 | dependencies = [ |
896 | "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", | ||
897 | "format-buf 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 920 | "format-buf 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
898 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 921 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
899 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 922 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
900 | "once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
901 | "ra_db 0.1.0", | 923 | "ra_db 0.1.0", |
902 | "ra_fmt 0.1.0", | 924 | "ra_fmt 0.1.0", |
903 | "ra_hir 0.1.0", | 925 | "ra_hir 0.1.0", |
904 | "ra_syntax 0.1.0", | 926 | "ra_syntax 0.1.0", |
905 | "ra_text_edit 0.1.0", | 927 | "ra_text_edit 0.1.0", |
906 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 928 | "rustc_lexer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
907 | "test_utils 0.1.0", | 929 | "test_utils 0.1.0", |
908 | ] | 930 | ] |
909 | 931 | ||
@@ -917,7 +939,7 @@ dependencies = [ | |||
917 | "ra_hir 0.1.0", | 939 | "ra_hir 0.1.0", |
918 | "ra_ide_api 0.1.0", | 940 | "ra_ide_api 0.1.0", |
919 | "ra_project_model 0.1.0", | 941 | "ra_project_model 0.1.0", |
920 | "ra_vfs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 942 | "ra_vfs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", |
921 | "ra_vfs_glob 0.1.0", | 943 | "ra_vfs_glob 0.1.0", |
922 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 944 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
923 | ] | 945 | ] |
@@ -937,7 +959,7 @@ name = "ra_cli" | |||
937 | version = "0.1.0" | 959 | version = "0.1.0" |
938 | dependencies = [ | 960 | dependencies = [ |
939 | "flexi_logger 0.14.4 (registry+https://github.com/rust-lang/crates.io-index)", | 961 | "flexi_logger 0.14.4 (registry+https://github.com/rust-lang/crates.io-index)", |
940 | "indicatif 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", | 962 | "indicatif 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", |
941 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 963 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
942 | "ra_batch 0.1.0", | 964 | "ra_batch 0.1.0", |
943 | "ra_db 0.1.0", | 965 | "ra_db 0.1.0", |
@@ -954,9 +976,9 @@ dependencies = [ | |||
954 | "ra_cfg 0.1.0", | 976 | "ra_cfg 0.1.0", |
955 | "ra_prof 0.1.0", | 977 | "ra_prof 0.1.0", |
956 | "ra_syntax 0.1.0", | 978 | "ra_syntax 0.1.0", |
957 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 979 | "relative-path 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
958 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 980 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
959 | "salsa 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)", | 981 | "salsa 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", |
960 | ] | 982 | ] |
961 | 983 | ||
962 | [[package]] | 984 | [[package]] |
@@ -971,11 +993,11 @@ dependencies = [ | |||
971 | name = "ra_hir" | 993 | name = "ra_hir" |
972 | version = "0.1.0" | 994 | version = "0.1.0" |
973 | dependencies = [ | 995 | dependencies = [ |
974 | "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", | 996 | "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
975 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", | 997 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", |
976 | "chalk-rust-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", | 998 | "chalk-rust-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", |
977 | "chalk-solve 0.1.0 (git+https://github.com/rust-lang/chalk.git)", | 999 | "chalk-solve 0.1.0 (git+https://github.com/rust-lang/chalk.git)", |
978 | "ena 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1000 | "ena 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)", |
979 | "insta 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1001 | "insta 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
980 | "lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1002 | "lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", |
981 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1003 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -988,7 +1010,7 @@ dependencies = [ | |||
988 | "ra_prof 0.1.0", | 1010 | "ra_prof 0.1.0", |
989 | "ra_syntax 0.1.0", | 1011 | "ra_syntax 0.1.0", |
990 | "ra_tt 0.1.0", | 1012 | "ra_tt 0.1.0", |
991 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1013 | "relative-path 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
992 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1014 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
993 | "test_utils 0.1.0", | 1015 | "test_utils 0.1.0", |
994 | ] | 1016 | ] |
@@ -1003,6 +1025,7 @@ dependencies = [ | |||
1003 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1025 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1004 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1026 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1005 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1027 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1028 | "once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1006 | "proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)", | 1029 | "proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)", |
1007 | "ra_assists 0.1.0", | 1030 | "ra_assists 0.1.0", |
1008 | "ra_cfg 0.1.0", | 1031 | "ra_cfg 0.1.0", |
@@ -1014,7 +1037,7 @@ dependencies = [ | |||
1014 | "ra_text_edit 0.1.0", | 1037 | "ra_text_edit 0.1.0", |
1015 | "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1038 | "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1016 | "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1039 | "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1017 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1040 | "relative-path 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1018 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1041 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1019 | "superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1042 | "superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1020 | "test_utils 0.1.0", | 1043 | "test_utils 0.1.0", |
@@ -1032,19 +1055,17 @@ dependencies = [ | |||
1032 | "lsp-server 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1055 | "lsp-server 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1033 | "lsp-types 0.61.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1056 | "lsp-types 0.61.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1034 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1057 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1035 | "ra_cfg 0.1.0", | ||
1036 | "ra_db 0.1.0", | ||
1037 | "ra_ide_api 0.1.0", | 1058 | "ra_ide_api 0.1.0", |
1038 | "ra_prof 0.1.0", | 1059 | "ra_prof 0.1.0", |
1039 | "ra_project_model 0.1.0", | 1060 | "ra_project_model 0.1.0", |
1040 | "ra_syntax 0.1.0", | 1061 | "ra_syntax 0.1.0", |
1041 | "ra_text_edit 0.1.0", | 1062 | "ra_text_edit 0.1.0", |
1042 | "ra_vfs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1063 | "ra_vfs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1043 | "ra_vfs_glob 0.1.0", | 1064 | "ra_vfs_glob 0.1.0", |
1044 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1065 | "relative-path 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1045 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1066 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1046 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 1067 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
1047 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 1068 | "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
1048 | "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1069 | "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1049 | "test_utils 0.1.0", | 1070 | "test_utils 0.1.0", |
1050 | "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1071 | "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1054,7 +1075,6 @@ dependencies = [ | |||
1054 | name = "ra_mbe" | 1075 | name = "ra_mbe" |
1055 | version = "0.1.0" | 1076 | version = "0.1.0" |
1056 | dependencies = [ | 1077 | dependencies = [ |
1057 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1058 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1078 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1059 | "ra_parser 0.1.0", | 1079 | "ra_parser 0.1.0", |
1060 | "ra_syntax 0.1.0", | 1080 | "ra_syntax 0.1.0", |
@@ -1075,7 +1095,7 @@ dependencies = [ | |||
1075 | name = "ra_prof" | 1095 | name = "ra_prof" |
1076 | version = "0.1.0" | 1096 | version = "0.1.0" |
1077 | dependencies = [ | 1097 | dependencies = [ |
1078 | "backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)", | 1098 | "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", |
1079 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1099 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1080 | "jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1100 | "jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1081 | "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1101 | "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1086,21 +1106,21 @@ dependencies = [ | |||
1086 | name = "ra_project_model" | 1106 | name = "ra_project_model" |
1087 | version = "0.1.0" | 1107 | version = "0.1.0" |
1088 | dependencies = [ | 1108 | dependencies = [ |
1089 | "cargo_metadata 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1109 | "cargo_metadata 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1090 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1110 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1091 | "ra_arena 0.1.0", | 1111 | "ra_arena 0.1.0", |
1092 | "ra_cfg 0.1.0", | 1112 | "ra_cfg 0.1.0", |
1093 | "ra_db 0.1.0", | 1113 | "ra_db 0.1.0", |
1094 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1114 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1095 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 1115 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
1096 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 1116 | "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
1097 | ] | 1117 | ] |
1098 | 1118 | ||
1099 | [[package]] | 1119 | [[package]] |
1100 | name = "ra_syntax" | 1120 | name = "ra_syntax" |
1101 | version = "0.1.0" | 1121 | version = "0.1.0" |
1102 | dependencies = [ | 1122 | dependencies = [ |
1103 | "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", | 1123 | "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1104 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1124 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1105 | "once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1125 | "once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1106 | "ra_parser 0.1.0", | 1126 | "ra_parser 0.1.0", |
@@ -1108,7 +1128,7 @@ dependencies = [ | |||
1108 | "rowan 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1128 | "rowan 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1109 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1129 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1110 | "rustc_lexer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1130 | "rustc_lexer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1111 | "smol_str 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", | 1131 | "smol_str 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", |
1112 | "test_utils 0.1.0", | 1132 | "test_utils 0.1.0", |
1113 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | 1133 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", |
1114 | ] | 1134 | ] |
@@ -1123,36 +1143,23 @@ dependencies = [ | |||
1123 | ] | 1143 | ] |
1124 | 1144 | ||
1125 | [[package]] | 1145 | [[package]] |
1126 | name = "ra_tools" | ||
1127 | version = "0.1.0" | ||
1128 | dependencies = [ | ||
1129 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1130 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1131 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1132 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1133 | "ron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1134 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1135 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1136 | ] | ||
1137 | |||
1138 | [[package]] | ||
1139 | name = "ra_tt" | 1146 | name = "ra_tt" |
1140 | version = "0.1.0" | 1147 | version = "0.1.0" |
1141 | dependencies = [ | 1148 | dependencies = [ |
1142 | "smol_str 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", | 1149 | "smol_str 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", |
1143 | ] | 1150 | ] |
1144 | 1151 | ||
1145 | [[package]] | 1152 | [[package]] |
1146 | name = "ra_vfs" | 1153 | name = "ra_vfs" |
1147 | version = "0.4.0" | 1154 | version = "0.5.0" |
1148 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1155 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1149 | dependencies = [ | 1156 | dependencies = [ |
1150 | "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | 1157 | "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", |
1151 | "jod-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1158 | "jod-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1152 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1159 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1153 | "notify 4.0.13 (registry+https://github.com/rust-lang/crates.io-index)", | 1160 | "notify 4.0.14 (registry+https://github.com/rust-lang/crates.io-index)", |
1154 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1161 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1155 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1162 | "relative-path 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1156 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1163 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1157 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | 1164 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", |
1158 | ] | 1165 | ] |
@@ -1162,7 +1169,7 @@ name = "ra_vfs_glob" | |||
1162 | version = "0.1.0" | 1169 | version = "0.1.0" |
1163 | dependencies = [ | 1170 | dependencies = [ |
1164 | "globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", | 1171 | "globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", |
1165 | "ra_vfs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1172 | "ra_vfs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1166 | ] | 1173 | ] |
1167 | 1174 | ||
1168 | [[package]] | 1175 | [[package]] |
@@ -1170,8 +1177,8 @@ name = "rand" | |||
1170 | version = "0.6.5" | 1177 | version = "0.6.5" |
1171 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1172 | dependencies = [ | 1179 | dependencies = [ |
1173 | "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1180 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1174 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1181 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
1175 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1182 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1176 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1183 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1177 | "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1184 | "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1189,7 +1196,7 @@ version = "0.7.2" | |||
1189 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1196 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1190 | dependencies = [ | 1197 | dependencies = [ |
1191 | "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", | 1198 | "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", |
1192 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1199 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
1193 | "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1200 | "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1194 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1201 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1195 | "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1202 | "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1201,7 +1208,7 @@ name = "rand_chacha" | |||
1201 | version = "0.1.1" | 1208 | version = "0.1.1" |
1202 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1209 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1203 | dependencies = [ | 1210 | dependencies = [ |
1204 | "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1211 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1205 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1212 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1206 | ] | 1213 | ] |
1207 | 1214 | ||
@@ -1210,7 +1217,7 @@ name = "rand_chacha" | |||
1210 | version = "0.2.1" | 1217 | version = "0.2.1" |
1211 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1218 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1212 | dependencies = [ | 1219 | dependencies = [ |
1213 | "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1220 | "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1214 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1221 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1215 | ] | 1222 | ] |
1216 | 1223 | ||
@@ -1264,7 +1271,7 @@ name = "rand_jitter" | |||
1264 | version = "0.1.4" | 1271 | version = "0.1.4" |
1265 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1272 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1266 | dependencies = [ | 1273 | dependencies = [ |
1267 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1274 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
1268 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1275 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1269 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1276 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1270 | ] | 1277 | ] |
@@ -1276,7 +1283,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1276 | dependencies = [ | 1283 | dependencies = [ |
1277 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1284 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1278 | "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1285 | "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1279 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1286 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
1280 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1287 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1281 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1288 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1282 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1289 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1287,7 +1294,7 @@ name = "rand_pcg" | |||
1287 | version = "0.1.2" | 1294 | version = "0.1.2" |
1288 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1295 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1289 | dependencies = [ | 1296 | dependencies = [ |
1290 | "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1297 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1291 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1298 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1292 | ] | 1299 | ] |
1293 | 1300 | ||
@@ -1296,7 +1303,7 @@ name = "rand_pcg" | |||
1296 | version = "0.2.0" | 1303 | version = "0.2.0" |
1297 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1304 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1298 | dependencies = [ | 1305 | dependencies = [ |
1299 | "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1306 | "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1300 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1307 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1301 | ] | 1308 | ] |
1302 | 1309 | ||
@@ -1361,7 +1368,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1361 | 1368 | ||
1362 | [[package]] | 1369 | [[package]] |
1363 | name = "relative-path" | 1370 | name = "relative-path" |
1364 | version = "0.4.0" | 1371 | version = "1.0.0" |
1365 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1372 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1366 | 1373 | ||
1367 | [[package]] | 1374 | [[package]] |
@@ -1378,7 +1385,7 @@ version = "0.5.1" | |||
1378 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1385 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1379 | dependencies = [ | 1386 | dependencies = [ |
1380 | "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1387 | "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1381 | "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1388 | "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1382 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 1389 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
1383 | ] | 1390 | ] |
1384 | 1391 | ||
@@ -1388,7 +1395,7 @@ version = "0.6.2" | |||
1388 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1395 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1389 | dependencies = [ | 1396 | dependencies = [ |
1390 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1397 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1391 | "smol_str 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", | 1398 | "smol_str 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", |
1392 | "text_unit 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | 1399 | "text_unit 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", |
1393 | ] | 1400 | ] |
1394 | 1401 | ||
@@ -1423,32 +1430,32 @@ dependencies = [ | |||
1423 | 1430 | ||
1424 | [[package]] | 1431 | [[package]] |
1425 | name = "ryu" | 1432 | name = "ryu" |
1426 | version = "1.0.0" | 1433 | version = "1.0.2" |
1427 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1434 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1428 | 1435 | ||
1429 | [[package]] | 1436 | [[package]] |
1430 | name = "salsa" | 1437 | name = "salsa" |
1431 | version = "0.13.1" | 1438 | version = "0.13.2" |
1432 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1439 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1433 | dependencies = [ | 1440 | dependencies = [ |
1434 | "crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1441 | "crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1435 | "derive-new 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1442 | "derive-new 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1436 | "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1443 | "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1437 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1444 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1438 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1445 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1439 | "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1446 | "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1440 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1447 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1441 | "salsa-macros 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1448 | "salsa-macros 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1442 | "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1449 | "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
1443 | ] | 1450 | ] |
1444 | 1451 | ||
1445 | [[package]] | 1452 | [[package]] |
1446 | name = "salsa-macros" | 1453 | name = "salsa-macros" |
1447 | version = "0.13.1" | 1454 | version = "0.13.2" |
1448 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1455 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1449 | dependencies = [ | 1456 | dependencies = [ |
1450 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1457 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1451 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1458 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1452 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1459 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1453 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1460 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1454 | ] | 1461 | ] |
@@ -1493,18 +1500,18 @@ name = "serde_derive" | |||
1493 | version = "1.0.101" | 1500 | version = "1.0.101" |
1494 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1501 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1495 | dependencies = [ | 1502 | dependencies = [ |
1496 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1503 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1497 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1504 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1498 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1505 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1499 | ] | 1506 | ] |
1500 | 1507 | ||
1501 | [[package]] | 1508 | [[package]] |
1502 | name = "serde_json" | 1509 | name = "serde_json" |
1503 | version = "1.0.40" | 1510 | version = "1.0.41" |
1504 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1511 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1505 | dependencies = [ | 1512 | dependencies = [ |
1506 | "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", | 1513 | "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", |
1507 | "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1514 | "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1508 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 1515 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
1509 | ] | 1516 | ] |
1510 | 1517 | ||
@@ -1513,14 +1520,14 @@ name = "serde_repr" | |||
1513 | version = "0.1.5" | 1520 | version = "0.1.5" |
1514 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1521 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1515 | dependencies = [ | 1522 | dependencies = [ |
1516 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1523 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1517 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1524 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1518 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1525 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1519 | ] | 1526 | ] |
1520 | 1527 | ||
1521 | [[package]] | 1528 | [[package]] |
1522 | name = "serde_yaml" | 1529 | name = "serde_yaml" |
1523 | version = "0.8.9" | 1530 | version = "0.8.11" |
1524 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1531 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1525 | dependencies = [ | 1532 | dependencies = [ |
1526 | "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", | 1533 | "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1541,7 +1548,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1541 | 1548 | ||
1542 | [[package]] | 1549 | [[package]] |
1543 | name = "smol_str" | 1550 | name = "smol_str" |
1544 | version = "0.1.13" | 1551 | version = "0.1.15" |
1545 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1552 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1546 | dependencies = [ | 1553 | dependencies = [ |
1547 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | 1554 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1549,12 +1556,13 @@ dependencies = [ | |||
1549 | 1556 | ||
1550 | [[package]] | 1557 | [[package]] |
1551 | name = "stacker" | 1558 | name = "stacker" |
1552 | version = "0.1.5" | 1559 | version = "0.1.6" |
1553 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1560 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1554 | dependencies = [ | 1561 | dependencies = [ |
1555 | "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)", | 1562 | "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)", |
1556 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1563 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
1557 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1564 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
1565 | "psm 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1558 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1566 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1559 | ] | 1567 | ] |
1560 | 1568 | ||
@@ -1568,7 +1576,7 @@ name = "syn" | |||
1568 | version = "1.0.5" | 1576 | version = "1.0.5" |
1569 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1577 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1570 | dependencies = [ | 1578 | dependencies = [ |
1571 | "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1579 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1572 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1580 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1573 | "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1581 | "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1574 | ] | 1582 | ] |
@@ -1579,7 +1587,7 @@ version = "3.1.0" | |||
1579 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1587 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1580 | dependencies = [ | 1588 | dependencies = [ |
1581 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1589 | "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", |
1582 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1590 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
1583 | "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1591 | "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1584 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 1592 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
1585 | "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1593 | "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1591,7 +1599,7 @@ name = "termios" | |||
1591 | version = "0.3.1" | 1599 | version = "0.3.1" |
1592 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1600 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1593 | dependencies = [ | 1601 | dependencies = [ |
1594 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1602 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
1595 | ] | 1603 | ] |
1596 | 1604 | ||
1597 | [[package]] | 1605 | [[package]] |
@@ -1599,7 +1607,7 @@ name = "test_utils" | |||
1599 | version = "0.1.0" | 1607 | version = "0.1.0" |
1600 | dependencies = [ | 1608 | dependencies = [ |
1601 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1609 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1602 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 1610 | "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
1603 | "text_unit 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | 1611 | "text_unit 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", |
1604 | ] | 1612 | ] |
1605 | 1613 | ||
@@ -1629,7 +1637,7 @@ name = "time" | |||
1629 | version = "0.1.42" | 1637 | version = "0.1.42" |
1630 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1638 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1631 | dependencies = [ | 1639 | dependencies = [ |
1632 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1640 | "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)", |
1633 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 1641 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
1634 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1642 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1635 | ] | 1643 | ] |
@@ -1714,13 +1722,6 @@ version = "0.7.0" | |||
1714 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1722 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1715 | 1723 | ||
1716 | [[package]] | 1724 | [[package]] |
1717 | name = "website-gen" | ||
1718 | version = "0.0.0" | ||
1719 | dependencies = [ | ||
1720 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1721 | ] | ||
1722 | |||
1723 | [[package]] | ||
1724 | name = "winapi" | 1725 | name = "winapi" |
1725 | version = "0.2.8" | 1726 | version = "0.2.8" |
1726 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1727 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1767,6 +1768,19 @@ dependencies = [ | |||
1767 | ] | 1768 | ] |
1768 | 1769 | ||
1769 | [[package]] | 1770 | [[package]] |
1771 | name = "xtask" | ||
1772 | version = "0.1.0" | ||
1773 | dependencies = [ | ||
1774 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1775 | "pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1776 | "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1777 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1778 | "ron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1779 | "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1780 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1781 | ] | ||
1782 | |||
1783 | [[package]] | ||
1770 | name = "yaml-rust" | 1784 | name = "yaml-rust" |
1771 | version = "0.4.3" | 1785 | version = "0.4.3" |
1772 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1786 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1781,20 +1795,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1781 | 1795 | ||
1782 | [metadata] | 1796 | [metadata] |
1783 | "checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" | 1797 | "checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" |
1784 | "checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba" | 1798 | "checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" |
1799 | "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" | ||
1785 | "checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90" | 1800 | "checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90" |
1786 | "checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875" | 1801 | "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" |
1787 | "checksum backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)" = "690a62be8920ccf773ee00ef0968649b0e724cda8bd5b12286302b4ae955fdf5" | 1802 | "checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea" |
1788 | "checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b" | 1803 | "checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" |
1789 | "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" | 1804 | "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" |
1790 | "checksum bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e84c238982c4b1e1ee668d136c510c67a13465279c0cb367ea6baf6310620a80" | 1805 | "checksum bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e84c238982c4b1e1ee668d136c510c67a13465279c0cb367ea6baf6310620a80" |
1791 | "checksum bit-vec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f59bbe95d4e52a6398ec21238d31577f2b28a9d86807f06ca59d191d8440d0bb" | 1806 | "checksum bit-vec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f59bbe95d4e52a6398ec21238d31577f2b28a9d86807f06ca59d191d8440d0bb" |
1792 | "checksum bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8a606a02debe2813760609f57a64a2ffd27d9fdf5b2f133eaca0b248dd92cdd2" | 1807 | "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" |
1793 | "checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245" | 1808 | "checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245" |
1794 | "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" | 1809 | "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" |
1795 | "checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101" | 1810 | "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" |
1796 | "checksum cargo_metadata 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "700b3731fd7d357223d0000f4dbf1808401b694609035c3c411fbc0cd375c426" | 1811 | "checksum cargo_metadata 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8d2d1617e838936c0d2323a65cc151e03ae19a7678dd24f72bccf27119b90a5d" |
1797 | "checksum cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be" | 1812 | "checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c" |
1798 | "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" | 1813 | "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" |
1799 | "checksum chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" | 1814 | "checksum chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" |
1800 | "checksum chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" | 1815 | "checksum chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" |
@@ -1805,6 +1820,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1805 | "checksum clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e" | 1820 | "checksum clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e" |
1806 | "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" | 1821 | "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" |
1807 | "checksum console 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b147390a412132d75d10dd3b7b175a69cf5fd95032f7503c7091b8831ba10242" | 1822 | "checksum console 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b147390a412132d75d10dd3b7b175a69cf5fd95032f7503c7091b8831ba10242" |
1823 | "checksum console 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "62828f51cfa18f8c31d3d55a43c6ce6af3f87f754cba9fbba7ff38089b9f5612" | ||
1808 | "checksum crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2d818a4990769aac0c7ff1360e233ef3a41adcb009ebb2036bf6915eb0f6b23c" | 1824 | "checksum crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2d818a4990769aac0c7ff1360e233ef3a41adcb009ebb2036bf6915eb0f6b23c" |
1809 | "checksum crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" | 1825 | "checksum crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" |
1810 | "checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71" | 1826 | "checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71" |
@@ -1816,7 +1832,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1816 | "checksum drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "69b26e475fd29098530e709294e94e661974c851aed42512793f120fed4e199f" | 1832 | "checksum drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "69b26e475fd29098530e709294e94e661974c851aed42512793f120fed4e199f" |
1817 | "checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" | 1833 | "checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" |
1818 | "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" | 1834 | "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" |
1819 | "checksum ena 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3dc01d68e08ca384955a3aeba9217102ca1aa85b6e168639bf27739f1d749d87" | 1835 | "checksum ena 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8944dc8fa28ce4a38f778bd46bf7d923fe73eed5a439398507246c8e017e6f36" |
1820 | "checksum encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" | 1836 | "checksum encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" |
1821 | "checksum filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd7380b54ced79dda72ecc35cc4fbbd1da6bba54afaa37e96fd1c2a308cd469" | 1837 | "checksum filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd7380b54ced79dda72ecc35cc4fbbd1da6bba54afaa37e96fd1c2a308cd469" |
1822 | "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" | 1838 | "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" |
@@ -1835,12 +1851,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1835 | "checksum globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2" | 1851 | "checksum globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2" |
1836 | "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" | 1852 | "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" |
1837 | "checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" | 1853 | "checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" |
1838 | "checksum indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a61202fbe46c4a951e9404a720a0180bcf3212c750d735cb5c4ba4dc551299f3" | 1854 | "checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" |
1839 | "checksum indicatif 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2c60da1c9abea75996b70a931bba6c750730399005b61ccd853cee50ef3d0d0c" | 1855 | "checksum indicatif 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a8d596a9576eaa1446996092642d72bfef35cf47243129b7ab883baf5faec31e" |
1840 | "checksum inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40b54539f3910d6f84fbf9a643efd6e3aa6e4f001426c0329576128255994718" | 1856 | "checksum inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40b54539f3910d6f84fbf9a643efd6e3aa6e4f001426c0329576128255994718" |
1841 | "checksum inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e74a1aa87c59aeff6ef2cc2fa62d41bc43f54952f55652656b18a02fd5e356c0" | 1857 | "checksum inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e74a1aa87c59aeff6ef2cc2fa62d41bc43f54952f55652656b18a02fd5e356c0" |
1842 | "checksum insta 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23f83ab4ee86f38b292f0420c27fd412690a4baa9ea0ad4e3fa624bf34379b76" | 1858 | "checksum insta 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23f83ab4ee86f38b292f0420c27fd412690a4baa9ea0ad4e3fa624bf34379b76" |
1843 | "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" | 1859 | "checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" |
1844 | "checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" | 1860 | "checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" |
1845 | "checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" | 1861 | "checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" |
1846 | "checksum jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c502a5ff9dd2924f1ed32ba96e3b65735d837b4bfd978d3161b1702e66aca4b7" | 1862 | "checksum jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c502a5ff9dd2924f1ed32ba96e3b65735d837b4bfd978d3161b1702e66aca4b7" |
@@ -1852,7 +1868,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1852 | "checksum lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cc4fd87be4a815fd373e02773983940f0d75fb26fde8c098e9e45f7af03154c0" | 1868 | "checksum lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cc4fd87be4a815fd373e02773983940f0d75fb26fde8c098e9e45f7af03154c0" |
1853 | "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" | 1869 | "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" |
1854 | "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" | 1870 | "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" |
1855 | "checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba" | 1871 | "checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8" |
1856 | "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" | 1872 | "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" |
1857 | "checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" | 1873 | "checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" |
1858 | "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" | 1874 | "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" |
@@ -1865,12 +1881,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1865 | "checksum mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40" | 1881 | "checksum mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40" |
1866 | "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" | 1882 | "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" |
1867 | "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" | 1883 | "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" |
1868 | "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" | 1884 | "checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" |
1869 | "checksum notify 4.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1191efa2b8fe041decb55c238a125b7a1aeb6fad7a525133a02be5ec949ff3cb" | 1885 | "checksum notify 4.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "199628fc33b21bc767baa057490b00b382ecbae030803a7b36292422d15b778b" |
1870 | "checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" | 1886 | "checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" |
1871 | "checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" | 1887 | "checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" |
1872 | "checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273" | 1888 | "checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273" |
1873 | "checksum number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dbf9993e59c894e3c08aa1c2712914e9e6bf1fcbfc6bef283e2183df345a4fee" | 1889 | "checksum number_prefix 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b02fc0ff9a9e4b35b3342880f48e896ebf69f2967921fe8646bf5b7125956a" |
1874 | "checksum once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "891f486f630e5c5a4916c7e16c4b24a53e78c860b646e9f8e005e4f16847bfed" | 1890 | "checksum once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "891f486f630e5c5a4916c7e16c4b24a53e78c860b646e9f8e005e4f16847bfed" |
1875 | "checksum ordermap 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a86ed3f5f244b372d6b1a00b72ef7f8876d0bc6a78a4c9985c53614041512063" | 1891 | "checksum ordermap 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a86ed3f5f244b372d6b1a00b72ef7f8876d0bc6a78a4c9985c53614041512063" |
1876 | "checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" | 1892 | "checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" |
@@ -1880,13 +1896,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1880 | "checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" | 1896 | "checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" |
1881 | "checksum petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3659d1ee90221741f65dd128d9998311b0e40c5d3c23a62445938214abce4f" | 1897 | "checksum petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3659d1ee90221741f65dd128d9998311b0e40c5d3c23a62445938214abce4f" |
1882 | "checksum pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "22e32b0f3771287ebb436130477eabf0f11f934ed036099ad548bc885e708667" | 1898 | "checksum pico-args 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "22e32b0f3771287ebb436130477eabf0f11f934ed036099ad548bc885e708667" |
1883 | "checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b" | 1899 | "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" |
1884 | "checksum proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e688f31d92ffd7c1ddc57a1b4e6d773c0f2a14ee437a4b0a4f5a69c80eb221c8" | 1900 | "checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5" |
1885 | "checksum proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90cf5f418035b98e655e9cdb225047638296b862b42411c4e45bb88d700f7fc0" | 1901 | "checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27" |
1886 | "checksum proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cf147e022eacf0c8a054ab864914a7602618adba841d800a9a9868a5237a529f" | 1902 | "checksum proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cf147e022eacf0c8a054ab864914a7602618adba841d800a9a9868a5237a529f" |
1903 | "checksum psm 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "54639efee26275dfadc49644039c31c73673edde0ef2815acf25a8db526ee193" | ||
1887 | "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" | 1904 | "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" |
1888 | "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" | 1905 | "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" |
1889 | "checksum ra_vfs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fdf6a0926414eb0c00866eb9274894182302f879cd06b5459c1d8ee7f1234aed" | 1906 | "checksum ra_vfs 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc8f508bc7a9871b81b6ee75e15d0bbc9f81a96698364a090a8d10b0f8b970b7" |
1890 | "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" | 1907 | "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" |
1891 | "checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" | 1908 | "checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" |
1892 | "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" | 1909 | "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" |
@@ -1908,7 +1925,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1908 | "checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" | 1925 | "checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" |
1909 | "checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd" | 1926 | "checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd" |
1910 | "checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716" | 1927 | "checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716" |
1911 | "checksum relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7790c7f1cc73d831d28dc5a7deb316a006e7848e6a7f467cdb10a0a9e0fb1c" | 1928 | "checksum relative-path 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bedde000f40f2921ce439ea165c9c53fd629bfa115140c72e22aceacb4a21954" |
1912 | "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" | 1929 | "checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" |
1913 | "checksum ron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2ece421e0c4129b90e4a35b6f625e472e96c552136f5093a2f4fa2bbb75a62d5" | 1930 | "checksum ron 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2ece421e0c4129b90e4a35b6f625e472e96c552136f5093a2f4fa2bbb75a62d5" |
1914 | "checksum rowan 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dc2b79612dedc9004083a61448eb669d336d56690aab29fbd7249e8c8ab41d8c" | 1931 | "checksum rowan 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dc2b79612dedc9004083a61448eb669d336d56690aab29fbd7249e8c8ab41d8c" |
@@ -1916,22 +1933,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1916 | "checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" | 1933 | "checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" |
1917 | "checksum rustc_lexer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c86aae0c77166108c01305ee1a36a1e77289d7dc6ca0a3cd91ff4992de2d16a5" | 1934 | "checksum rustc_lexer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c86aae0c77166108c01305ee1a36a1e77289d7dc6ca0a3cd91ff4992de2d16a5" |
1918 | "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" | 1935 | "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" |
1919 | "checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997" | 1936 | "checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8" |
1920 | "checksum salsa 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "df34c3a66ef408c3219c11dee2c928d52e679390d3ee6e0b87e96cc758d85377" | 1937 | "checksum salsa 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ec0865bdd9d8e614686a0cbb76979c735810131d287eb1683e91e4e64a58c387" |
1921 | "checksum salsa-macros 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6c15f36e5c85b3f40b84283321f97ef2ceafa6f9996cffad06793a9e096ab695" | 1938 | "checksum salsa-macros 0.13.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cac182212d3a1db75ddc42399ff1461b258a694b8318ee7e0baf6c976e39efee" |
1922 | "checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421" | 1939 | "checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421" |
1923 | "checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d" | 1940 | "checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d" |
1924 | "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" | 1941 | "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" |
1925 | "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" | 1942 | "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" |
1926 | "checksum serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd" | 1943 | "checksum serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd" |
1927 | "checksum serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e" | 1944 | "checksum serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e" |
1928 | "checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704" | 1945 | "checksum serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2" |
1929 | "checksum serde_repr 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "cd02c7587ec314570041b2754829f84d873ced14a96d1fd1823531e11db40573" | 1946 | "checksum serde_repr 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "cd02c7587ec314570041b2754829f84d873ced14a96d1fd1823531e11db40573" |
1930 | "checksum serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)" = "38b08a9a90e5260fe01c6480ec7c811606df6d3a660415808c3c3fa8ed95b582" | 1947 | "checksum serde_yaml 0.8.11 (registry+https://github.com/rust-lang/crates.io-index)" = "691b17f19fc1ec9d94ec0b5864859290dff279dbd7b03f017afda54eb36c3c35" |
1931 | "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" | 1948 | "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" |
1932 | "checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7" | 1949 | "checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7" |
1933 | "checksum smol_str 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "378286eaa0fa9e6bbc351c9bfcc2320391c347e014f10cb177c26be18142e596" | 1950 | "checksum smol_str 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "34836c9a295c62c2ce3514471117c5cb269891e8421b2aafdd910050576c4d8b" |
1934 | "checksum stacker 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fb79482f57cf598af52094ec4cc3b3c42499d3ce5bd426f2ac41515b7e57404b" | 1951 | "checksum stacker 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d96fc4f13a0ac088e9a3cd9af1cc8c5cc1ab5deb2145cef661267dfc9c542f8a" |
1935 | "checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" | 1952 | "checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" |
1936 | "checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf" | 1953 | "checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf" |
1937 | "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" | 1954 | "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" |
diff --git a/Cargo.toml b/Cargo.toml index 317c63795..97c02b40f 100644 --- a/Cargo.toml +++ b/Cargo.toml | |||
@@ -1,5 +1,8 @@ | |||
1 | [workspace] | 1 | [workspace] |
2 | members = [ "crates/*", "website/website-gen" ] | 2 | members = [ "crates/*", "xtask/" ] |
3 | |||
4 | [profile.dev] | ||
5 | debug = 1 # only line info | ||
3 | 6 | ||
4 | [profile.release] | 7 | [profile.release] |
5 | incremental = true | 8 | incremental = true |
@@ -33,10 +33,10 @@ To quickly install rust-analyzer with VS Code extension with standard setup | |||
33 | $ git clone https://github.com/rust-analyzer/rust-analyzer && cd rust-analyzer | 33 | $ git clone https://github.com/rust-analyzer/rust-analyzer && cd rust-analyzer |
34 | 34 | ||
35 | # install both the language server and VS Code extension | 35 | # install both the language server and VS Code extension |
36 | $ cargo install-ra | 36 | $ cargo xtask install |
37 | 37 | ||
38 | # alternatively, install only the server. Binary name is `ra_lsp_server`. | 38 | # alternatively, install only the server. Binary name is `ra_lsp_server`. |
39 | $ cargo install-ra --server | 39 | $ cargo xtask install --server |
40 | ``` | 40 | ``` |
41 | 41 | ||
42 | For non-standard setup of VS Code and other editors, see [./docs/user](./docs/user). | 42 | For non-standard setup of VS Code and other editors, see [./docs/user](./docs/user). |
@@ -59,7 +59,7 @@ https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frls-2.2E0 | |||
59 | ## Quick Links | 59 | ## Quick Links |
60 | 60 | ||
61 | * Work List: https://paper.dropbox.com/doc/RLS-2.0-work-list--AZ3BgHKKCtqszbsi3gi6sjchAQ-42vbnxzuKq2lKwW0mkn8Y | 61 | * Work List: https://paper.dropbox.com/doc/RLS-2.0-work-list--AZ3BgHKKCtqszbsi3gi6sjchAQ-42vbnxzuKq2lKwW0mkn8Y |
62 | * API docs: https://rust-analyzer.github.io/rust-analyzer/api-docs/ra_ide_api/ | 62 | * API docs: https://rust-analyzer.github.io/rust-analyzer/ra_ide_api/ |
63 | * CI: https://travis-ci.org/rust-analyzer/rust-analyzer | 63 | * CI: https://travis-ci.org/rust-analyzer/rust-analyzer |
64 | 64 | ||
65 | ## License | 65 | ## License |
diff --git a/crates/ra_assists/Cargo.toml b/crates/ra_assists/Cargo.toml index 02966bbda..beebccbd9 100644 --- a/crates/ra_assists/Cargo.toml +++ b/crates/ra_assists/Cargo.toml | |||
@@ -6,11 +6,9 @@ authors = ["rust-analyzer developers"] | |||
6 | 6 | ||
7 | [dependencies] | 7 | [dependencies] |
8 | format-buf = "1.0.0" | 8 | format-buf = "1.0.0" |
9 | once_cell = "1.0.1" | ||
10 | join_to_string = "0.1.3" | 9 | join_to_string = "0.1.3" |
11 | itertools = "0.8.0" | 10 | itertools = "0.8.0" |
12 | arrayvec = "0.4.10" | 11 | rustc_lexer = "0.1.0" |
13 | rustc-hash = "1.0.1" | ||
14 | 12 | ||
15 | ra_syntax = { path = "../ra_syntax" } | 13 | ra_syntax = { path = "../ra_syntax" } |
16 | ra_text_edit = { path = "../ra_text_edit" } | 14 | ra_text_edit = { path = "../ra_text_edit" } |
diff --git a/crates/ra_assists/src/assist_ctx.rs b/crates/ra_assists/src/assist_ctx.rs index 189cad7d0..e270c5d60 100644 --- a/crates/ra_assists/src/assist_ctx.rs +++ b/crates/ra_assists/src/assist_ctx.rs | |||
@@ -138,6 +138,7 @@ impl AssistBuilder { | |||
138 | 138 | ||
139 | /// Replaces specified `node` of text with a given string, reindenting the | 139 | /// Replaces specified `node` of text with a given string, reindenting the |
140 | /// string to maintain `node`'s existing indent. | 140 | /// string to maintain `node`'s existing indent. |
141 | // FIXME: remove in favor of ra_syntax::edit::IndentLevel::increase_indent | ||
141 | pub(crate) fn replace_node_and_indent( | 142 | pub(crate) fn replace_node_and_indent( |
142 | &mut self, | 143 | &mut self, |
143 | node: &SyntaxNode, | 144 | node: &SyntaxNode, |
diff --git a/crates/ra_assists/src/assists/early_return.rs b/crates/ra_assists/src/assists/early_return.rs new file mode 100644 index 000000000..8c975714c --- /dev/null +++ b/crates/ra_assists/src/assists/early_return.rs | |||
@@ -0,0 +1,276 @@ | |||
1 | //! FIXME: write short doc here | ||
2 | |||
3 | use crate::{ | ||
4 | assist_ctx::{Assist, AssistCtx}, | ||
5 | AssistId, | ||
6 | }; | ||
7 | use hir::db::HirDatabase; | ||
8 | use ra_syntax::{ | ||
9 | algo::replace_children, | ||
10 | ast::edit::IndentLevel, | ||
11 | ast::make, | ||
12 | ast::Block, | ||
13 | ast::ContinueExpr, | ||
14 | ast::IfExpr, | ||
15 | ast::ReturnExpr, | ||
16 | AstNode, | ||
17 | SyntaxKind::{FN_DEF, LOOP_EXPR, L_CURLY, R_CURLY, WHILE_EXPR, WHITESPACE}, | ||
18 | }; | ||
19 | use std::ops::RangeInclusive; | ||
20 | |||
21 | pub(crate) fn convert_to_guarded_return(mut ctx: AssistCtx<impl HirDatabase>) -> Option<Assist> { | ||
22 | let if_expr: IfExpr = ctx.node_at_offset()?; | ||
23 | let expr = if_expr.condition()?.expr()?; | ||
24 | let then_block = if_expr.then_branch()?.block()?; | ||
25 | if if_expr.else_branch().is_some() { | ||
26 | return None; | ||
27 | } | ||
28 | |||
29 | let parent_block = if_expr.syntax().parent()?.ancestors().find_map(Block::cast)?; | ||
30 | |||
31 | if parent_block.expr()? != if_expr.clone().into() { | ||
32 | return None; | ||
33 | } | ||
34 | |||
35 | // check for early return and continue | ||
36 | let first_in_then_block = then_block.syntax().first_child()?.clone(); | ||
37 | if ReturnExpr::can_cast(first_in_then_block.kind()) | ||
38 | || ContinueExpr::can_cast(first_in_then_block.kind()) | ||
39 | || first_in_then_block | ||
40 | .children() | ||
41 | .any(|x| ReturnExpr::can_cast(x.kind()) || ContinueExpr::can_cast(x.kind())) | ||
42 | { | ||
43 | return None; | ||
44 | } | ||
45 | |||
46 | let parent_container = parent_block.syntax().parent()?.parent()?; | ||
47 | |||
48 | let early_expression = match parent_container.kind() { | ||
49 | WHILE_EXPR | LOOP_EXPR => Some("continue;"), | ||
50 | FN_DEF => Some("return;"), | ||
51 | _ => None, | ||
52 | }?; | ||
53 | |||
54 | if then_block.syntax().first_child_or_token().map(|t| t.kind() == L_CURLY).is_none() { | ||
55 | return None; | ||
56 | } | ||
57 | |||
58 | then_block.syntax().last_child_or_token().filter(|t| t.kind() == R_CURLY)?; | ||
59 | let cursor_position = ctx.frange.range.start(); | ||
60 | |||
61 | ctx.add_action(AssistId("convert_to_guarded_return"), "convert to guarded return", |edit| { | ||
62 | let if_indent_level = IndentLevel::from_node(&if_expr.syntax()); | ||
63 | let new_if_expr = | ||
64 | if_indent_level.increase_indent(make::if_expression(&expr, early_expression)); | ||
65 | let then_block_items = IndentLevel::from(1).decrease_indent(then_block.clone()); | ||
66 | let end_of_then = then_block_items.syntax().last_child_or_token().unwrap(); | ||
67 | let end_of_then = | ||
68 | if end_of_then.prev_sibling_or_token().map(|n| n.kind()) == Some(WHITESPACE) { | ||
69 | end_of_then.prev_sibling_or_token().unwrap() | ||
70 | } else { | ||
71 | end_of_then | ||
72 | }; | ||
73 | let mut new_if_and_then_statements = new_if_expr.syntax().children_with_tokens().chain( | ||
74 | then_block_items | ||
75 | .syntax() | ||
76 | .children_with_tokens() | ||
77 | .skip(1) | ||
78 | .take_while(|i| *i != end_of_then), | ||
79 | ); | ||
80 | let new_block = replace_children( | ||
81 | &parent_block.syntax(), | ||
82 | RangeInclusive::new( | ||
83 | if_expr.clone().syntax().clone().into(), | ||
84 | if_expr.syntax().clone().into(), | ||
85 | ), | ||
86 | &mut new_if_and_then_statements, | ||
87 | ); | ||
88 | edit.target(if_expr.syntax().text_range()); | ||
89 | edit.replace_ast(parent_block, Block::cast(new_block).unwrap()); | ||
90 | edit.set_cursor(cursor_position); | ||
91 | }); | ||
92 | ctx.build() | ||
93 | } | ||
94 | |||
95 | #[cfg(test)] | ||
96 | mod tests { | ||
97 | use super::*; | ||
98 | use crate::helpers::{check_assist, check_assist_not_applicable}; | ||
99 | |||
100 | #[test] | ||
101 | fn convert_inside_fn() { | ||
102 | check_assist( | ||
103 | convert_to_guarded_return, | ||
104 | r#" | ||
105 | fn main() { | ||
106 | bar(); | ||
107 | if<|> true { | ||
108 | foo(); | ||
109 | |||
110 | //comment | ||
111 | bar(); | ||
112 | } | ||
113 | } | ||
114 | "#, | ||
115 | r#" | ||
116 | fn main() { | ||
117 | bar(); | ||
118 | if<|> !true { | ||
119 | return; | ||
120 | } | ||
121 | foo(); | ||
122 | |||
123 | //comment | ||
124 | bar(); | ||
125 | } | ||
126 | "#, | ||
127 | ); | ||
128 | } | ||
129 | |||
130 | #[test] | ||
131 | fn convert_inside_while() { | ||
132 | check_assist( | ||
133 | convert_to_guarded_return, | ||
134 | r#" | ||
135 | fn main() { | ||
136 | while true { | ||
137 | if<|> true { | ||
138 | foo(); | ||
139 | bar(); | ||
140 | } | ||
141 | } | ||
142 | } | ||
143 | "#, | ||
144 | r#" | ||
145 | fn main() { | ||
146 | while true { | ||
147 | if<|> !true { | ||
148 | continue; | ||
149 | } | ||
150 | foo(); | ||
151 | bar(); | ||
152 | } | ||
153 | } | ||
154 | "#, | ||
155 | ); | ||
156 | } | ||
157 | |||
158 | #[test] | ||
159 | fn convert_inside_loop() { | ||
160 | check_assist( | ||
161 | convert_to_guarded_return, | ||
162 | r#" | ||
163 | fn main() { | ||
164 | loop { | ||
165 | if<|> true { | ||
166 | foo(); | ||
167 | bar(); | ||
168 | } | ||
169 | } | ||
170 | } | ||
171 | "#, | ||
172 | r#" | ||
173 | fn main() { | ||
174 | loop { | ||
175 | if<|> !true { | ||
176 | continue; | ||
177 | } | ||
178 | foo(); | ||
179 | bar(); | ||
180 | } | ||
181 | } | ||
182 | "#, | ||
183 | ); | ||
184 | } | ||
185 | |||
186 | #[test] | ||
187 | fn ignore_already_converted_if() { | ||
188 | check_assist_not_applicable( | ||
189 | convert_to_guarded_return, | ||
190 | r#" | ||
191 | fn main() { | ||
192 | if<|> true { | ||
193 | return; | ||
194 | } | ||
195 | } | ||
196 | "#, | ||
197 | ); | ||
198 | } | ||
199 | |||
200 | #[test] | ||
201 | fn ignore_already_converted_loop() { | ||
202 | check_assist_not_applicable( | ||
203 | convert_to_guarded_return, | ||
204 | r#" | ||
205 | fn main() { | ||
206 | loop { | ||
207 | if<|> true { | ||
208 | continue; | ||
209 | } | ||
210 | } | ||
211 | } | ||
212 | "#, | ||
213 | ); | ||
214 | } | ||
215 | |||
216 | #[test] | ||
217 | fn ignore_return() { | ||
218 | check_assist_not_applicable( | ||
219 | convert_to_guarded_return, | ||
220 | r#" | ||
221 | fn main() { | ||
222 | if<|> true { | ||
223 | return | ||
224 | } | ||
225 | } | ||
226 | "#, | ||
227 | ); | ||
228 | } | ||
229 | |||
230 | #[test] | ||
231 | fn ignore_else_branch() { | ||
232 | check_assist_not_applicable( | ||
233 | convert_to_guarded_return, | ||
234 | r#" | ||
235 | fn main() { | ||
236 | if<|> true { | ||
237 | foo(); | ||
238 | } else { | ||
239 | bar() | ||
240 | } | ||
241 | } | ||
242 | "#, | ||
243 | ); | ||
244 | } | ||
245 | |||
246 | #[test] | ||
247 | fn ignore_statements_aftert_if() { | ||
248 | check_assist_not_applicable( | ||
249 | convert_to_guarded_return, | ||
250 | r#" | ||
251 | fn main() { | ||
252 | if<|> true { | ||
253 | foo(); | ||
254 | } | ||
255 | bar(); | ||
256 | } | ||
257 | "#, | ||
258 | ); | ||
259 | } | ||
260 | |||
261 | #[test] | ||
262 | fn ignore_statements_inside_if() { | ||
263 | check_assist_not_applicable( | ||
264 | convert_to_guarded_return, | ||
265 | r#" | ||
266 | fn main() { | ||
267 | if false { | ||
268 | if<|> true { | ||
269 | foo(); | ||
270 | } | ||
271 | } | ||
272 | } | ||
273 | "#, | ||
274 | ); | ||
275 | } | ||
276 | } | ||
diff --git a/crates/ra_assists/src/assists/fill_match_arms.rs b/crates/ra_assists/src/assists/fill_match_arms.rs index 7335cce09..e3f30b5de 100644 --- a/crates/ra_assists/src/assists/fill_match_arms.rs +++ b/crates/ra_assists/src/assists/fill_match_arms.rs | |||
@@ -3,7 +3,7 @@ | |||
3 | use std::iter; | 3 | use std::iter; |
4 | 4 | ||
5 | use hir::{db::HirDatabase, Adt, HasSource}; | 5 | use hir::{db::HirDatabase, Adt, HasSource}; |
6 | use ra_syntax::ast::{self, make, AstNode, NameOwner}; | 6 | use ra_syntax::ast::{self, edit::IndentLevel, make, AstNode, NameOwner}; |
7 | 7 | ||
8 | use crate::{Assist, AssistCtx, AssistId}; | 8 | use crate::{Assist, AssistCtx, AssistId}; |
9 | 9 | ||
@@ -30,15 +30,19 @@ pub(crate) fn fill_match_arms(mut ctx: AssistCtx<impl HirDatabase>) -> Option<As | |||
30 | let variant_list = enum_def.variant_list()?; | 30 | let variant_list = enum_def.variant_list()?; |
31 | 31 | ||
32 | ctx.add_action(AssistId("fill_match_arms"), "fill match arms", |edit| { | 32 | ctx.add_action(AssistId("fill_match_arms"), "fill match arms", |edit| { |
33 | let variants = variant_list.variants(); | 33 | let indent_level = IndentLevel::from_node(match_arm_list.syntax()); |
34 | let arms = variants | 34 | |
35 | .filter_map(build_pat) | 35 | let new_arm_list = { |
36 | .map(|pat| make::match_arm(iter::once(pat), make::expr_unit())); | 36 | let variants = variant_list.variants(); |
37 | let new_arm_list = make::match_arm_list(arms); | 37 | let arms = variants |
38 | .filter_map(build_pat) | ||
39 | .map(|pat| make::match_arm(iter::once(pat), make::expr_unit())); | ||
40 | indent_level.increase_indent(make::match_arm_list(arms)) | ||
41 | }; | ||
38 | 42 | ||
39 | edit.target(match_expr.syntax().text_range()); | 43 | edit.target(match_expr.syntax().text_range()); |
40 | edit.set_cursor(expr.syntax().text_range().start()); | 44 | edit.set_cursor(expr.syntax().text_range().start()); |
41 | edit.replace_node_and_indent(match_arm_list.syntax(), new_arm_list.syntax().text()); | 45 | edit.replace_ast(match_arm_list, new_arm_list); |
42 | }); | 46 | }); |
43 | 47 | ||
44 | ctx.build() | 48 | ctx.build() |
diff --git a/crates/ra_assists/src/assists/move_bounds.rs b/crates/ra_assists/src/assists/move_bounds.rs index f791d22b0..d2444b6b9 100644 --- a/crates/ra_assists/src/assists/move_bounds.rs +++ b/crates/ra_assists/src/assists/move_bounds.rs | |||
@@ -18,7 +18,7 @@ pub(crate) fn move_bounds_to_where_clause(mut ctx: AssistCtx<impl HirDatabase>) | |||
18 | } | 18 | } |
19 | 19 | ||
20 | let parent = type_param_list.syntax().parent()?; | 20 | let parent = type_param_list.syntax().parent()?; |
21 | if parent.children_with_tokens().find(|it| it.kind() == WHERE_CLAUSE).is_some() { | 21 | if parent.children_with_tokens().any(|it| it.kind() == WHERE_CLAUSE) { |
22 | return None; | 22 | return None; |
23 | } | 23 | } |
24 | 24 | ||
diff --git a/crates/ra_assists/src/assists/raw_string.rs b/crates/ra_assists/src/assists/raw_string.rs index 388ee7e97..2d2e31e51 100644 --- a/crates/ra_assists/src/assists/raw_string.rs +++ b/crates/ra_assists/src/assists/raw_string.rs | |||
@@ -2,6 +2,7 @@ | |||
2 | 2 | ||
3 | use hir::db::HirDatabase; | 3 | use hir::db::HirDatabase; |
4 | use ra_syntax::{ast::AstNode, ast::Literal, TextRange, TextUnit}; | 4 | use ra_syntax::{ast::AstNode, ast::Literal, TextRange, TextUnit}; |
5 | use rustc_lexer; | ||
5 | 6 | ||
6 | use crate::{Assist, AssistCtx, AssistId}; | 7 | use crate::{Assist, AssistCtx, AssistId}; |
7 | 8 | ||
@@ -10,13 +11,51 @@ pub(crate) fn make_raw_string(mut ctx: AssistCtx<impl HirDatabase>) -> Option<As | |||
10 | if literal.token().kind() != ra_syntax::SyntaxKind::STRING { | 11 | if literal.token().kind() != ra_syntax::SyntaxKind::STRING { |
11 | return None; | 12 | return None; |
12 | } | 13 | } |
14 | let token = literal.token(); | ||
15 | let text = token.text().as_str(); | ||
16 | let usual_string_range = find_usual_string_range(text)?; | ||
17 | let start_of_inside = usual_string_range.start().to_usize() + 1; | ||
18 | let end_of_inside = usual_string_range.end().to_usize(); | ||
19 | let inside_str = &text[start_of_inside..end_of_inside]; | ||
20 | let mut unescaped = String::with_capacity(inside_str.len()); | ||
21 | let mut error = Ok(()); | ||
22 | rustc_lexer::unescape::unescape_str( | ||
23 | inside_str, | ||
24 | &mut |_, unescaped_char| match unescaped_char { | ||
25 | Ok(c) => unescaped.push(c), | ||
26 | Err(_) => error = Err(()), | ||
27 | }, | ||
28 | ); | ||
29 | if error.is_err() { | ||
30 | return None; | ||
31 | } | ||
13 | ctx.add_action(AssistId("make_raw_string"), "make raw string", |edit| { | 32 | ctx.add_action(AssistId("make_raw_string"), "make raw string", |edit| { |
14 | edit.target(literal.syntax().text_range()); | 33 | edit.target(literal.syntax().text_range()); |
15 | edit.insert(literal.syntax().text_range().start(), "r"); | 34 | let max_hash_streak = count_hashes(&unescaped); |
35 | let mut hashes = String::with_capacity(max_hash_streak + 1); | ||
36 | for _ in 0..hashes.capacity() { | ||
37 | hashes.push('#'); | ||
38 | } | ||
39 | edit.replace( | ||
40 | literal.syntax().text_range(), | ||
41 | format!("r{}\"{}\"{}", hashes, unescaped, hashes), | ||
42 | ); | ||
16 | }); | 43 | }); |
17 | ctx.build() | 44 | ctx.build() |
18 | } | 45 | } |
19 | 46 | ||
47 | fn count_hashes(s: &str) -> usize { | ||
48 | let mut max_hash_streak = 0usize; | ||
49 | for idx in s.match_indices("\"#").map(|(i, _)| i) { | ||
50 | let (_, sub) = s.split_at(idx + 1); | ||
51 | let nb_hash = sub.chars().take_while(|c| *c == '#').count(); | ||
52 | if nb_hash > max_hash_streak { | ||
53 | max_hash_streak = nb_hash; | ||
54 | } | ||
55 | } | ||
56 | max_hash_streak | ||
57 | } | ||
58 | |||
20 | fn find_usual_string_range(s: &str) -> Option<TextRange> { | 59 | fn find_usual_string_range(s: &str) -> Option<TextRange> { |
21 | Some(TextRange::from_to( | 60 | Some(TextRange::from_to( |
22 | TextUnit::from(s.find('"')? as u32), | 61 | TextUnit::from(s.find('"')? as u32), |
@@ -94,10 +133,10 @@ mod test { | |||
94 | make_raw_string, | 133 | make_raw_string, |
95 | r#" | 134 | r#" |
96 | fn f() { | 135 | fn f() { |
97 | let s = <|>"random string"; | 136 | let s = <|>"random\nstring"; |
98 | } | 137 | } |
99 | "#, | 138 | "#, |
100 | r#""random string""#, | 139 | r#""random\nstring""#, |
101 | ); | 140 | ); |
102 | } | 141 | } |
103 | 142 | ||
@@ -107,44 +146,69 @@ mod test { | |||
107 | make_raw_string, | 146 | make_raw_string, |
108 | r#" | 147 | r#" |
109 | fn f() { | 148 | fn f() { |
110 | let s = <|>"random string"; | 149 | let s = <|>"random\nstring"; |
111 | } | 150 | } |
112 | "#, | 151 | "#, |
113 | r#" | 152 | r##" |
114 | fn f() { | 153 | fn f() { |
115 | let s = <|>r"random string"; | 154 | let s = <|>r#"random |
155 | string"#; | ||
116 | } | 156 | } |
117 | "#, | 157 | "##, |
118 | ) | 158 | ) |
119 | } | 159 | } |
120 | 160 | ||
121 | #[test] | 161 | #[test] |
122 | fn make_raw_string_with_escaped_works() { | 162 | fn make_raw_string_hashes_inside_works() { |
123 | check_assist( | 163 | check_assist( |
124 | make_raw_string, | 164 | make_raw_string, |
125 | r#" | 165 | r###" |
126 | fn f() { | 166 | fn f() { |
127 | let s = <|>"random\nstring"; | 167 | let s = <|>"#random##\nstring"; |
128 | } | 168 | } |
129 | "#, | 169 | "###, |
130 | r#" | 170 | r####" |
131 | fn f() { | 171 | fn f() { |
132 | let s = <|>r"random\nstring"; | 172 | let s = <|>r#"#random## |
173 | string"#; | ||
133 | } | 174 | } |
134 | "#, | 175 | "####, |
135 | ) | 176 | ) |
136 | } | 177 | } |
137 | 178 | ||
138 | #[test] | 179 | #[test] |
139 | fn make_raw_string_not_works() { | 180 | fn make_raw_string_closing_hashes_inside_works() { |
140 | check_assist_not_applicable( | 181 | check_assist( |
182 | make_raw_string, | ||
183 | r###" | ||
184 | fn f() { | ||
185 | let s = <|>"#random\"##\nstring"; | ||
186 | } | ||
187 | "###, | ||
188 | r####" | ||
189 | fn f() { | ||
190 | let s = <|>r###"#random"## | ||
191 | string"###; | ||
192 | } | ||
193 | "####, | ||
194 | ) | ||
195 | } | ||
196 | |||
197 | #[test] | ||
198 | fn make_raw_string_nothing_to_unescape_works() { | ||
199 | check_assist( | ||
141 | make_raw_string, | 200 | make_raw_string, |
142 | r#" | 201 | r#" |
143 | fn f() { | 202 | fn f() { |
144 | let s = <|>r"random string"; | 203 | let s = <|>"random string"; |
145 | } | 204 | } |
146 | "#, | 205 | "#, |
147 | ); | 206 | r##" |
207 | fn f() { | ||
208 | let s = <|>r#"random string"#; | ||
209 | } | ||
210 | "##, | ||
211 | ) | ||
148 | } | 212 | } |
149 | 213 | ||
150 | #[test] | 214 | #[test] |
@@ -369,4 +433,14 @@ mod test { | |||
369 | "#, | 433 | "#, |
370 | ); | 434 | ); |
371 | } | 435 | } |
436 | |||
437 | #[test] | ||
438 | fn count_hashes_test() { | ||
439 | assert_eq!(0, count_hashes("abc")); | ||
440 | assert_eq!(0, count_hashes("###")); | ||
441 | assert_eq!(1, count_hashes("\"#abc")); | ||
442 | assert_eq!(0, count_hashes("#abc")); | ||
443 | assert_eq!(2, count_hashes("#ab\"##c")); | ||
444 | assert_eq!(4, count_hashes("#ab\"##\"####c")); | ||
445 | } | ||
372 | } | 446 | } |
diff --git a/crates/ra_assists/src/lib.rs b/crates/ra_assists/src/lib.rs index d2376c475..ab77b46a9 100644 --- a/crates/ra_assists/src/lib.rs +++ b/crates/ra_assists/src/lib.rs | |||
@@ -108,6 +108,7 @@ mod assists { | |||
108 | mod add_missing_impl_members; | 108 | mod add_missing_impl_members; |
109 | mod move_guard; | 109 | mod move_guard; |
110 | mod move_bounds; | 110 | mod move_bounds; |
111 | mod early_return; | ||
111 | 112 | ||
112 | pub(crate) fn all<DB: HirDatabase>() -> &'static [fn(AssistCtx<DB>) -> Option<Assist>] { | 113 | pub(crate) fn all<DB: HirDatabase>() -> &'static [fn(AssistCtx<DB>) -> Option<Assist>] { |
113 | &[ | 114 | &[ |
@@ -135,6 +136,7 @@ mod assists { | |||
135 | raw_string::make_raw_string, | 136 | raw_string::make_raw_string, |
136 | raw_string::make_usual_string, | 137 | raw_string::make_usual_string, |
137 | raw_string::remove_hash, | 138 | raw_string::remove_hash, |
139 | early_return::convert_to_guarded_return, | ||
138 | ] | 140 | ] |
139 | } | 141 | } |
140 | } | 142 | } |
diff --git a/crates/ra_batch/Cargo.toml b/crates/ra_batch/Cargo.toml index 62850746f..c85da7a2c 100644 --- a/crates/ra_batch/Cargo.toml +++ b/crates/ra_batch/Cargo.toml | |||
@@ -9,7 +9,7 @@ log = "0.4.5" | |||
9 | rustc-hash = "1.0" | 9 | rustc-hash = "1.0" |
10 | crossbeam-channel = "0.3.5" | 10 | crossbeam-channel = "0.3.5" |
11 | 11 | ||
12 | ra_vfs = "0.4.0" | 12 | ra_vfs = "0.5.0" |
13 | ra_vfs_glob = { path = "../ra_vfs_glob" } | 13 | ra_vfs_glob = { path = "../ra_vfs_glob" } |
14 | ra_db = { path = "../ra_db" } | 14 | ra_db = { path = "../ra_db" } |
15 | ra_ide_api = { path = "../ra_ide_api" } | 15 | ra_ide_api = { path = "../ra_ide_api" } |
diff --git a/crates/ra_batch/src/lib.rs b/crates/ra_batch/src/lib.rs index a5fc2a23e..df49eb13d 100644 --- a/crates/ra_batch/src/lib.rs +++ b/crates/ra_batch/src/lib.rs | |||
@@ -43,8 +43,12 @@ pub fn load_cargo(root: &Path) -> Result<(AnalysisHost, FxHashMap<SourceRootId, | |||
43 | ); | 43 | ); |
44 | 44 | ||
45 | // FIXME: cfg options? | 45 | // FIXME: cfg options? |
46 | let default_cfg_options = | 46 | let default_cfg_options = { |
47 | get_rustc_cfg_options().atom("test".into()).atom("debug_assertion".into()); | 47 | let mut opts = get_rustc_cfg_options(); |
48 | opts.insert_atom("test".into()); | ||
49 | opts.insert_atom("debug_assertion".into()); | ||
50 | opts | ||
51 | }; | ||
48 | 52 | ||
49 | let (crate_graph, _crate_names) = | 53 | let (crate_graph, _crate_names) = |
50 | ws.to_crate_graph(&default_cfg_options, &mut |path: &Path| { | 54 | ws.to_crate_graph(&default_cfg_options, &mut |path: &Path| { |
@@ -137,14 +141,8 @@ mod tests { | |||
137 | #[test] | 141 | #[test] |
138 | fn test_loading_rust_analyzer() { | 142 | fn test_loading_rust_analyzer() { |
139 | let path = Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap().parent().unwrap(); | 143 | let path = Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap().parent().unwrap(); |
140 | let (host, roots) = load_cargo(path).unwrap(); | 144 | let (host, _roots) = load_cargo(path).unwrap(); |
141 | let mut n_crates = 0; | 145 | let n_crates = Crate::all(host.raw_database()).len(); |
142 | for (root, _) in roots { | ||
143 | for _krate in Crate::source_root_crates(host.raw_database(), root) { | ||
144 | n_crates += 1; | ||
145 | } | ||
146 | } | ||
147 | |||
148 | // RA has quite a few crates, but the exact count doesn't matter | 146 | // RA has quite a few crates, but the exact count doesn't matter |
149 | assert!(n_crates > 20); | 147 | assert!(n_crates > 20); |
150 | } | 148 | } |
diff --git a/crates/ra_cfg/src/lib.rs b/crates/ra_cfg/src/lib.rs index e1c92fbba..1bee3eb99 100644 --- a/crates/ra_cfg/src/lib.rs +++ b/crates/ra_cfg/src/lib.rs | |||
@@ -36,26 +36,20 @@ impl CfgOptions { | |||
36 | self.check(&parse_cfg(attr)) | 36 | self.check(&parse_cfg(attr)) |
37 | } | 37 | } |
38 | 38 | ||
39 | pub fn atom(mut self, name: SmolStr) -> CfgOptions { | 39 | pub fn insert_atom(&mut self, key: SmolStr) { |
40 | self.atoms.insert(name); | 40 | self.atoms.insert(key); |
41 | self | ||
42 | } | 41 | } |
43 | 42 | ||
44 | pub fn key_value(mut self, key: SmolStr, value: SmolStr) -> CfgOptions { | 43 | pub fn remove_atom(&mut self, name: &str) { |
45 | self.key_values.insert((key, value)); | 44 | self.atoms.remove(name); |
46 | self | ||
47 | } | 45 | } |
48 | 46 | ||
49 | /// Shortcut to set features | 47 | pub fn insert_key_value(&mut self, key: SmolStr, value: SmolStr) { |
50 | pub fn features(mut self, iter: impl IntoIterator<Item = SmolStr>) -> CfgOptions { | 48 | self.key_values.insert((key, value)); |
51 | for feat in iter { | ||
52 | self = self.key_value("feature".into(), feat); | ||
53 | } | ||
54 | self | ||
55 | } | 49 | } |
56 | 50 | ||
57 | pub fn remove_atom(mut self, name: &SmolStr) -> CfgOptions { | 51 | /// Shortcut to set features |
58 | self.atoms.remove(name); | 52 | pub fn insert_features(&mut self, iter: impl IntoIterator<Item = SmolStr>) { |
59 | self | 53 | iter.into_iter().for_each(|feat| self.insert_key_value("feature".into(), feat)); |
60 | } | 54 | } |
61 | } | 55 | } |
diff --git a/crates/ra_cli/Cargo.toml b/crates/ra_cli/Cargo.toml index 67e727a88..fcd102e8b 100644 --- a/crates/ra_cli/Cargo.toml +++ b/crates/ra_cli/Cargo.toml | |||
@@ -8,7 +8,7 @@ publish = false | |||
8 | [dependencies] | 8 | [dependencies] |
9 | pico-args = "0.3.0" | 9 | pico-args = "0.3.0" |
10 | flexi_logger = "0.14.0" | 10 | flexi_logger = "0.14.0" |
11 | indicatif = "0.11.0" | 11 | indicatif = "0.12.0" |
12 | 12 | ||
13 | ra_syntax = { path = "../ra_syntax" } | 13 | ra_syntax = { path = "../ra_syntax" } |
14 | ra_ide_api = { path = "../ra_ide_api" } | 14 | ra_ide_api = { path = "../ra_ide_api" } |
diff --git a/crates/ra_cli/src/analysis_bench.rs b/crates/ra_cli/src/analysis_bench.rs index 727f1e62b..8bbe5d9e8 100644 --- a/crates/ra_cli/src/analysis_bench.rs +++ b/crates/ra_cli/src/analysis_bench.rs | |||
@@ -8,7 +8,7 @@ use std::{ | |||
8 | 8 | ||
9 | use ra_db::{ | 9 | use ra_db::{ |
10 | salsa::{Database, Durability}, | 10 | salsa::{Database, Durability}, |
11 | FileId, SourceDatabase, | 11 | FileId, SourceDatabaseExt, |
12 | }; | 12 | }; |
13 | use ra_ide_api::{Analysis, AnalysisChange, AnalysisHost, FilePosition, LineCol}; | 13 | use ra_ide_api::{Analysis, AnalysisChange, AnalysisHost, FilePosition, LineCol}; |
14 | 14 | ||
diff --git a/crates/ra_cli/src/analysis_stats.rs b/crates/ra_cli/src/analysis_stats.rs index a8a110bd9..cda5cafb8 100644 --- a/crates/ra_cli/src/analysis_stats.rs +++ b/crates/ra_cli/src/analysis_stats.rs | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | use std::{collections::HashSet, fmt::Write, path::Path, time::Instant}; | 3 | use std::{collections::HashSet, fmt::Write, path::Path, time::Instant}; |
4 | 4 | ||
5 | use ra_db::SourceDatabase; | 5 | use ra_db::SourceDatabaseExt; |
6 | use ra_hir::{AssocItem, Crate, HasBodySource, HasSource, HirDisplay, ModuleDef, Ty, TypeWalk}; | 6 | use ra_hir::{AssocItem, Crate, HasBodySource, HasSource, HirDisplay, ModuleDef, Ty, TypeWalk}; |
7 | use ra_syntax::AstNode; | 7 | use ra_syntax::AstNode; |
8 | 8 | ||
@@ -22,16 +22,29 @@ pub fn run( | |||
22 | let mut num_crates = 0; | 22 | let mut num_crates = 0; |
23 | let mut visited_modules = HashSet::new(); | 23 | let mut visited_modules = HashSet::new(); |
24 | let mut visit_queue = Vec::new(); | 24 | let mut visit_queue = Vec::new(); |
25 | for (source_root_id, project_root) in roots { | 25 | |
26 | if project_root.is_member() { | 26 | let members = roots |
27 | for krate in Crate::source_root_crates(db, source_root_id) { | 27 | .into_iter() |
28 | num_crates += 1; | 28 | .filter_map( |
29 | let module = | 29 | |(source_root_id, project_root)| { |
30 | krate.root_module(db).expect("crate in source root without root module"); | 30 | if project_root.is_member() { |
31 | visit_queue.push(module); | 31 | Some(source_root_id) |
32 | } | 32 | } else { |
33 | None | ||
34 | } | ||
35 | }, | ||
36 | ) | ||
37 | .collect::<HashSet<_>>(); | ||
38 | |||
39 | for krate in Crate::all(db) { | ||
40 | let module = krate.root_module(db).expect("crate without root module"); | ||
41 | let file_id = module.definition_source(db).file_id; | ||
42 | if members.contains(&db.file_source_root(file_id.original_file(db))) { | ||
43 | num_crates += 1; | ||
44 | visit_queue.push(module); | ||
33 | } | 45 | } |
34 | } | 46 | } |
47 | |||
35 | println!("Crates in this dir: {}", num_crates); | 48 | println!("Crates in this dir: {}", num_crates); |
36 | let mut num_decls = 0; | 49 | let mut num_decls = 0; |
37 | let mut funcs = Vec::new(); | 50 | let mut funcs = Vec::new(); |
@@ -130,7 +143,7 @@ pub fn run( | |||
130 | ); | 143 | ); |
131 | bar.println(format!( | 144 | bar.println(format!( |
132 | "{} {}:{}-{}:{}: Expected {}, got {}", | 145 | "{} {}:{}-{}:{}: Expected {}, got {}", |
133 | path.display(), | 146 | path, |
134 | start.line + 1, | 147 | start.line + 1, |
135 | start.col_utf16, | 148 | start.col_utf16, |
136 | end.line + 1, | 149 | end.line + 1, |
diff --git a/crates/ra_db/Cargo.toml b/crates/ra_db/Cargo.toml index c141f1a88..3394ae8ce 100644 --- a/crates/ra_db/Cargo.toml +++ b/crates/ra_db/Cargo.toml | |||
@@ -6,7 +6,7 @@ authors = ["rust-analyzer developers"] | |||
6 | 6 | ||
7 | [dependencies] | 7 | [dependencies] |
8 | salsa = "0.13.0" | 8 | salsa = "0.13.0" |
9 | relative-path = "0.4.0" | 9 | relative-path = "1.0.0" |
10 | rustc-hash = "1.0" | 10 | rustc-hash = "1.0" |
11 | 11 | ||
12 | ra_syntax = { path = "../ra_syntax" } | 12 | ra_syntax = { path = "../ra_syntax" } |
diff --git a/crates/ra_db/src/input.rs b/crates/ra_db/src/input.rs index 23148096c..eafa95921 100644 --- a/crates/ra_db/src/input.rs +++ b/crates/ra_db/src/input.rs | |||
@@ -48,9 +48,6 @@ impl SourceRoot { | |||
48 | pub fn new_library() -> SourceRoot { | 48 | pub fn new_library() -> SourceRoot { |
49 | SourceRoot { is_library: true, ..SourceRoot::new() } | 49 | SourceRoot { is_library: true, ..SourceRoot::new() } |
50 | } | 50 | } |
51 | pub fn file_by_relative_path(&self, path: &RelativePath) -> Option<FileId> { | ||
52 | self.files.get(path).copied() | ||
53 | } | ||
54 | pub fn insert_file(&mut self, path: RelativePathBuf, file_id: FileId) { | 51 | pub fn insert_file(&mut self, path: RelativePathBuf, file_id: FileId) { |
55 | self.files.insert(path, file_id); | 52 | self.files.insert(path, file_id); |
56 | } | 53 | } |
@@ -60,6 +57,9 @@ impl SourceRoot { | |||
60 | pub fn walk(&self) -> impl Iterator<Item = FileId> + '_ { | 57 | pub fn walk(&self) -> impl Iterator<Item = FileId> + '_ { |
61 | self.files.values().copied() | 58 | self.files.values().copied() |
62 | } | 59 | } |
60 | pub fn file_by_relative_path(&self, path: &RelativePath) -> Option<FileId> { | ||
61 | self.files.get(path).copied() | ||
62 | } | ||
63 | } | 63 | } |
64 | 64 | ||
65 | /// `CrateGraph` is a bit of information which turns a set of text files into a | 65 | /// `CrateGraph` is a bit of information which turns a set of text files into a |
diff --git a/crates/ra_db/src/lib.rs b/crates/ra_db/src/lib.rs index 603daed37..fc5d6d396 100644 --- a/crates/ra_db/src/lib.rs +++ b/crates/ra_db/src/lib.rs | |||
@@ -6,7 +6,7 @@ use std::{panic, sync::Arc}; | |||
6 | 6 | ||
7 | use ra_prof::profile; | 7 | use ra_prof::profile; |
8 | use ra_syntax::{ast, Parse, SourceFile, TextRange, TextUnit}; | 8 | use ra_syntax::{ast, Parse, SourceFile, TextRange, TextUnit}; |
9 | use relative_path::RelativePathBuf; | 9 | use relative_path::{RelativePath, RelativePathBuf}; |
10 | 10 | ||
11 | pub use crate::{ | 11 | pub use crate::{ |
12 | cancellation::Canceled, | 12 | cancellation::Canceled, |
@@ -64,16 +64,39 @@ pub struct FileRange { | |||
64 | 64 | ||
65 | pub const DEFAULT_LRU_CAP: usize = 128; | 65 | pub const DEFAULT_LRU_CAP: usize = 128; |
66 | 66 | ||
67 | pub trait FileLoader { | ||
68 | /// Text of the file. | ||
69 | fn file_text(&self, file_id: FileId) -> Arc<String>; | ||
70 | fn resolve_relative_path(&self, anchor: FileId, relative_path: &RelativePath) | ||
71 | -> Option<FileId>; | ||
72 | fn relevant_crates(&self, file_id: FileId) -> Arc<Vec<CrateId>>; | ||
73 | } | ||
74 | |||
67 | /// Database which stores all significant input facts: source code and project | 75 | /// Database which stores all significant input facts: source code and project |
68 | /// model. Everything else in rust-analyzer is derived from these queries. | 76 | /// model. Everything else in rust-analyzer is derived from these queries. |
69 | #[salsa::query_group(SourceDatabaseStorage)] | 77 | #[salsa::query_group(SourceDatabaseStorage)] |
70 | pub trait SourceDatabase: CheckCanceled + std::fmt::Debug { | 78 | pub trait SourceDatabase: CheckCanceled + FileLoader + std::fmt::Debug { |
71 | /// Text of the file. | ||
72 | #[salsa::input] | ||
73 | fn file_text(&self, file_id: FileId) -> Arc<String>; | ||
74 | // Parses the file into the syntax tree. | 79 | // Parses the file into the syntax tree. |
75 | #[salsa::invoke(parse_query)] | 80 | #[salsa::invoke(parse_query)] |
76 | fn parse(&self, file_id: FileId) -> Parse<ast::SourceFile>; | 81 | fn parse(&self, file_id: FileId) -> Parse<ast::SourceFile>; |
82 | |||
83 | /// The crate graph. | ||
84 | #[salsa::input] | ||
85 | fn crate_graph(&self) -> Arc<CrateGraph>; | ||
86 | } | ||
87 | |||
88 | fn parse_query(db: &impl SourceDatabase, file_id: FileId) -> Parse<ast::SourceFile> { | ||
89 | let _p = profile("parse_query"); | ||
90 | let text = db.file_text(file_id); | ||
91 | SourceFile::parse(&*text) | ||
92 | } | ||
93 | |||
94 | /// We don't want to give HIR knowledge of source roots, hence we extract these | ||
95 | /// methods into a separate DB. | ||
96 | #[salsa::query_group(SourceDatabaseExtStorage)] | ||
97 | pub trait SourceDatabaseExt: SourceDatabase { | ||
98 | #[salsa::input] | ||
99 | fn file_text(&self, file_id: FileId) -> Arc<String>; | ||
77 | /// Path to a file, relative to the root of its source root. | 100 | /// Path to a file, relative to the root of its source root. |
78 | #[salsa::input] | 101 | #[salsa::input] |
79 | fn file_relative_path(&self, file_id: FileId) -> RelativePathBuf; | 102 | fn file_relative_path(&self, file_id: FileId) -> RelativePathBuf; |
@@ -83,21 +106,48 @@ pub trait SourceDatabase: CheckCanceled + std::fmt::Debug { | |||
83 | /// Contents of the source root. | 106 | /// Contents of the source root. |
84 | #[salsa::input] | 107 | #[salsa::input] |
85 | fn source_root(&self, id: SourceRootId) -> Arc<SourceRoot>; | 108 | fn source_root(&self, id: SourceRootId) -> Arc<SourceRoot>; |
109 | |||
86 | fn source_root_crates(&self, id: SourceRootId) -> Arc<Vec<CrateId>>; | 110 | fn source_root_crates(&self, id: SourceRootId) -> Arc<Vec<CrateId>>; |
87 | /// The crate graph. | ||
88 | #[salsa::input] | ||
89 | fn crate_graph(&self) -> Arc<CrateGraph>; | ||
90 | } | 111 | } |
91 | 112 | ||
92 | fn source_root_crates(db: &impl SourceDatabase, id: SourceRootId) -> Arc<Vec<CrateId>> { | 113 | fn source_root_crates( |
114 | db: &(impl SourceDatabaseExt + SourceDatabase), | ||
115 | id: SourceRootId, | ||
116 | ) -> Arc<Vec<CrateId>> { | ||
93 | let root = db.source_root(id); | 117 | let root = db.source_root(id); |
94 | let graph = db.crate_graph(); | 118 | let graph = db.crate_graph(); |
95 | let res = root.walk().filter_map(|it| graph.crate_id_for_crate_root(it)).collect::<Vec<_>>(); | 119 | let res = root.walk().filter_map(|it| graph.crate_id_for_crate_root(it)).collect::<Vec<_>>(); |
96 | Arc::new(res) | 120 | Arc::new(res) |
97 | } | 121 | } |
98 | 122 | ||
99 | fn parse_query(db: &impl SourceDatabase, file_id: FileId) -> Parse<ast::SourceFile> { | 123 | /// Silly workaround for cyclic deps between the traits |
100 | let _p = profile("parse_query"); | 124 | pub struct FileLoaderDelegate<T>(pub T); |
101 | let text = db.file_text(file_id); | 125 | |
102 | SourceFile::parse(&*text) | 126 | impl<T: SourceDatabaseExt> FileLoader for FileLoaderDelegate<&'_ T> { |
127 | fn file_text(&self, file_id: FileId) -> Arc<String> { | ||
128 | SourceDatabaseExt::file_text(self.0, file_id) | ||
129 | } | ||
130 | fn resolve_relative_path( | ||
131 | &self, | ||
132 | anchor: FileId, | ||
133 | relative_path: &RelativePath, | ||
134 | ) -> Option<FileId> { | ||
135 | let path = { | ||
136 | let mut path = self.0.file_relative_path(anchor); | ||
137 | // Workaround for relative path API: turn `lib.rs` into ``. | ||
138 | if !path.pop() { | ||
139 | path = RelativePathBuf::default(); | ||
140 | } | ||
141 | path.push(relative_path); | ||
142 | path.normalize() | ||
143 | }; | ||
144 | let source_root = self.0.file_source_root(anchor); | ||
145 | let source_root = self.0.source_root(source_root); | ||
146 | source_root.file_by_relative_path(&path) | ||
147 | } | ||
148 | |||
149 | fn relevant_crates(&self, file_id: FileId) -> Arc<Vec<CrateId>> { | ||
150 | let source_root = self.0.file_source_root(file_id); | ||
151 | self.0.source_root_crates(source_root) | ||
152 | } | ||
103 | } | 153 | } |
diff --git a/crates/ra_hir/Cargo.toml b/crates/ra_hir/Cargo.toml index cc117f84d..edf1fa49b 100644 --- a/crates/ra_hir/Cargo.toml +++ b/crates/ra_hir/Cargo.toml | |||
@@ -5,9 +5,9 @@ version = "0.1.0" | |||
5 | authors = ["rust-analyzer developers"] | 5 | authors = ["rust-analyzer developers"] |
6 | 6 | ||
7 | [dependencies] | 7 | [dependencies] |
8 | arrayvec = "0.4.10" | 8 | arrayvec = "0.5.1" |
9 | log = "0.4.5" | 9 | log = "0.4.5" |
10 | relative-path = "0.4.0" | 10 | relative-path = "1.0.0" |
11 | rustc-hash = "1.0" | 11 | rustc-hash = "1.0" |
12 | parking_lot = "0.9.0" | 12 | parking_lot = "0.9.0" |
13 | ena = "0.13" | 13 | ena = "0.13" |
diff --git a/crates/ra_hir/src/adt.rs b/crates/ra_hir/src/adt.rs index 99d286215..3e9cd3c63 100644 --- a/crates/ra_hir/src/adt.rs +++ b/crates/ra_hir/src/adt.rs | |||
@@ -9,7 +9,7 @@ use ra_syntax::ast::{self, NameOwner, StructKind, TypeAscriptionOwner}; | |||
9 | use crate::{ | 9 | use crate::{ |
10 | db::{AstDatabase, DefDatabase, HirDatabase}, | 10 | db::{AstDatabase, DefDatabase, HirDatabase}, |
11 | type_ref::TypeRef, | 11 | type_ref::TypeRef, |
12 | AsName, Enum, EnumVariant, FieldSource, HasSource, Name, Source, Struct, StructField, | 12 | AsName, Enum, EnumVariant, FieldSource, HasSource, Module, Name, Source, Struct, StructField, |
13 | }; | 13 | }; |
14 | 14 | ||
15 | impl Struct { | 15 | impl Struct { |
@@ -170,12 +170,20 @@ impl VariantDef { | |||
170 | } | 170 | } |
171 | } | 171 | } |
172 | 172 | ||
173 | pub(crate) fn field(self, db: &impl HirDatabase, name: &Name) -> Option<StructField> { | 173 | pub fn field(self, db: &impl HirDatabase, name: &Name) -> Option<StructField> { |
174 | match self { | 174 | match self { |
175 | VariantDef::Struct(it) => it.field(db, name), | 175 | VariantDef::Struct(it) => it.field(db, name), |
176 | VariantDef::EnumVariant(it) => it.field(db, name), | 176 | VariantDef::EnumVariant(it) => it.field(db, name), |
177 | } | 177 | } |
178 | } | 178 | } |
179 | |||
180 | pub fn module(self, db: &impl HirDatabase) -> Module { | ||
181 | match self { | ||
182 | VariantDef::Struct(it) => it.module(db), | ||
183 | VariantDef::EnumVariant(it) => it.module(db), | ||
184 | } | ||
185 | } | ||
186 | |||
179 | pub(crate) fn variant_data(self, db: &impl DefDatabase) -> Arc<VariantData> { | 187 | pub(crate) fn variant_data(self, db: &impl DefDatabase) -> Arc<VariantData> { |
180 | match self { | 188 | match self { |
181 | VariantDef::Struct(it) => it.variant_data(db), | 189 | VariantDef::Struct(it) => it.variant_data(db), |
diff --git a/crates/ra_hir/src/attr.rs b/crates/ra_hir/src/attr.rs index f67e80bfd..bd159a566 100644 --- a/crates/ra_hir/src/attr.rs +++ b/crates/ra_hir/src/attr.rs | |||
@@ -63,14 +63,24 @@ impl Attr { | |||
63 | self.path.as_ident().map_or(false, |s| s.to_string() == name) | 63 | self.path.as_ident().map_or(false, |s| s.to_string() == name) |
64 | } | 64 | } |
65 | 65 | ||
66 | // FIXME: handle cfg_attr :-) | ||
66 | pub(crate) fn as_cfg(&self) -> Option<&Subtree> { | 67 | pub(crate) fn as_cfg(&self) -> Option<&Subtree> { |
67 | if self.is_simple_atom("cfg") { | 68 | if !self.is_simple_atom("cfg") { |
68 | match &self.input { | 69 | return None; |
69 | Some(AttrInput::TokenTree(subtree)) => Some(subtree), | 70 | } |
70 | _ => None, | 71 | match &self.input { |
71 | } | 72 | Some(AttrInput::TokenTree(subtree)) => Some(subtree), |
72 | } else { | 73 | _ => None, |
73 | None | 74 | } |
75 | } | ||
76 | |||
77 | pub(crate) fn as_path(&self) -> Option<&SmolStr> { | ||
78 | if !self.is_simple_atom("path") { | ||
79 | return None; | ||
80 | } | ||
81 | match &self.input { | ||
82 | Some(AttrInput::Literal(it)) => Some(it), | ||
83 | _ => None, | ||
74 | } | 84 | } |
75 | } | 85 | } |
76 | 86 | ||
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index e3a7e8e3c..8eb3c577d 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs | |||
@@ -5,7 +5,7 @@ pub(crate) mod docs; | |||
5 | 5 | ||
6 | use std::sync::Arc; | 6 | use std::sync::Arc; |
7 | 7 | ||
8 | use ra_db::{CrateId, Edition, FileId, SourceRootId}; | 8 | use ra_db::{CrateId, Edition, FileId}; |
9 | use ra_syntax::ast::{self, NameOwner, TypeAscriptionOwner}; | 9 | use ra_syntax::ast::{self, NameOwner, TypeAscriptionOwner}; |
10 | 10 | ||
11 | use crate::{ | 11 | use crate::{ |
@@ -24,7 +24,7 @@ use crate::{ | |||
24 | U8, USIZE, | 24 | U8, USIZE, |
25 | }, | 25 | }, |
26 | nameres::{CrateModuleId, ImportId, ModuleScope, Namespace}, | 26 | nameres::{CrateModuleId, ImportId, ModuleScope, Namespace}, |
27 | resolve::{Resolver, TypeNs}, | 27 | resolve::{Resolver, Scope, TypeNs}, |
28 | traits::TraitData, | 28 | traits::TraitData, |
29 | ty::{ | 29 | ty::{ |
30 | primitive::{FloatBitness, FloatTy, IntBitness, IntTy, Signedness}, | 30 | primitive::{FloatBitness, FloatTy, IntBitness, IntTy, Signedness}, |
@@ -76,10 +76,8 @@ impl Crate { | |||
76 | crate_graph.edition(self.crate_id) | 76 | crate_graph.edition(self.crate_id) |
77 | } | 77 | } |
78 | 78 | ||
79 | // FIXME: should this be in source_binder? | 79 | pub fn all(db: &impl DefDatabase) -> Vec<Crate> { |
80 | pub fn source_root_crates(db: &impl DefDatabase, source_root: SourceRootId) -> Vec<Crate> { | 80 | db.crate_graph().iter().map(|crate_id| Crate { crate_id }).collect() |
81 | let crate_ids = db.source_root_crates(source_root); | ||
82 | crate_ids.iter().map(|&crate_id| Crate { crate_id }).collect() | ||
83 | } | 81 | } |
84 | } | 82 | } |
85 | 83 | ||
@@ -465,7 +463,7 @@ impl Enum { | |||
465 | // ...and add generic params, if present | 463 | // ...and add generic params, if present |
466 | let p = self.generic_params(db); | 464 | let p = self.generic_params(db); |
467 | let r = if !p.params.is_empty() { r.push_generic_params_scope(p) } else { r }; | 465 | let r = if !p.params.is_empty() { r.push_generic_params_scope(p) } else { r }; |
468 | r | 466 | r.push_scope(Scope::AdtScope(self.into())) |
469 | } | 467 | } |
470 | } | 468 | } |
471 | 469 | ||
@@ -569,6 +567,14 @@ impl DefWithBody { | |||
569 | DefWithBody::Static(s) => s.krate(db), | 567 | DefWithBody::Static(s) => s.krate(db), |
570 | } | 568 | } |
571 | } | 569 | } |
570 | |||
571 | pub fn module(self, db: &impl HirDatabase) -> Module { | ||
572 | match self { | ||
573 | DefWithBody::Const(c) => c.module(db), | ||
574 | DefWithBody::Function(f) => f.module(db), | ||
575 | DefWithBody::Static(s) => s.module(db), | ||
576 | } | ||
577 | } | ||
572 | } | 578 | } |
573 | 579 | ||
574 | pub trait HasBody: Copy { | 580 | pub trait HasBody: Copy { |
@@ -789,6 +795,20 @@ impl Const { | |||
789 | ImplBlock::containing(module_impls, self.into()) | 795 | ImplBlock::containing(module_impls, self.into()) |
790 | } | 796 | } |
791 | 797 | ||
798 | pub fn parent_trait(self, db: &impl DefDatabase) -> Option<Trait> { | ||
799 | db.trait_items_index(self.module(db)).get_parent_trait(self.into()) | ||
800 | } | ||
801 | |||
802 | pub fn container(self, db: &impl DefDatabase) -> Option<Container> { | ||
803 | if let Some(impl_block) = self.impl_block(db) { | ||
804 | Some(impl_block.into()) | ||
805 | } else if let Some(trait_) = self.parent_trait(db) { | ||
806 | Some(trait_.into()) | ||
807 | } else { | ||
808 | None | ||
809 | } | ||
810 | } | ||
811 | |||
792 | // FIXME: move to a more general type for 'body-having' items | 812 | // FIXME: move to a more general type for 'body-having' items |
793 | /// Builds a resolver for code inside this item. | 813 | /// Builds a resolver for code inside this item. |
794 | pub(crate) fn resolver(self, db: &impl HirDatabase) -> Resolver { | 814 | pub(crate) fn resolver(self, db: &impl HirDatabase) -> Resolver { |
@@ -1075,3 +1095,13 @@ impl From<AssocItem> for crate::generics::GenericDef { | |||
1075 | } | 1095 | } |
1076 | } | 1096 | } |
1077 | } | 1097 | } |
1098 | |||
1099 | impl AssocItem { | ||
1100 | pub fn module(self, db: &impl DefDatabase) -> Module { | ||
1101 | match self { | ||
1102 | AssocItem::Function(f) => f.module(db), | ||
1103 | AssocItem::Const(c) => c.module(db), | ||
1104 | AssocItem::TypeAlias(t) => t.module(db), | ||
1105 | } | ||
1106 | } | ||
1107 | } | ||
diff --git a/crates/ra_hir/src/code_model/docs.rs b/crates/ra_hir/src/code_model/docs.rs index 9675e397f..8533b4f5e 100644 --- a/crates/ra_hir/src/code_model/docs.rs +++ b/crates/ra_hir/src/code_model/docs.rs | |||
@@ -6,21 +6,19 @@ use ra_syntax::ast; | |||
6 | 6 | ||
7 | use crate::{ | 7 | use crate::{ |
8 | db::{AstDatabase, DefDatabase, HirDatabase}, | 8 | db::{AstDatabase, DefDatabase, HirDatabase}, |
9 | Const, Enum, EnumVariant, FieldSource, Function, HasSource, MacroDef, Module, Static, Struct, | 9 | Adt, Const, Enum, EnumVariant, FieldSource, Function, HasSource, MacroDef, Module, Static, |
10 | StructField, Trait, TypeAlias, Union, | 10 | Struct, StructField, Trait, TypeAlias, Union, |
11 | }; | 11 | }; |
12 | 12 | ||
13 | #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] | 13 | #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] |
14 | pub enum DocDef { | 14 | pub enum DocDef { |
15 | Module(Module), | 15 | Module(Module), |
16 | StructField(StructField), | 16 | StructField(StructField), |
17 | Struct(Struct), | 17 | Adt(Adt), |
18 | Enum(Enum), | ||
19 | EnumVariant(EnumVariant), | 18 | EnumVariant(EnumVariant), |
20 | Static(Static), | 19 | Static(Static), |
21 | Const(Const), | 20 | Const(Const), |
22 | Function(Function), | 21 | Function(Function), |
23 | Union(Union), | ||
24 | Trait(Trait), | 22 | Trait(Trait), |
25 | TypeAlias(TypeAlias), | 23 | TypeAlias(TypeAlias), |
26 | MacroDef(MacroDef), | 24 | MacroDef(MacroDef), |
@@ -29,13 +27,11 @@ pub enum DocDef { | |||
29 | impl_froms!( | 27 | impl_froms!( |
30 | DocDef: Module, | 28 | DocDef: Module, |
31 | StructField, | 29 | StructField, |
32 | Struct, | 30 | Adt(Struct, Enum, Union), |
33 | Enum, | ||
34 | EnumVariant, | 31 | EnumVariant, |
35 | Static, | 32 | Static, |
36 | Const, | 33 | Const, |
37 | Function, | 34 | Function, |
38 | Union, | ||
39 | Trait, | 35 | Trait, |
40 | TypeAlias, | 36 | TypeAlias, |
41 | MacroDef | 37 | MacroDef |
@@ -79,13 +75,15 @@ pub(crate) fn documentation_query( | |||
79 | FieldSource::Named(named) => docs_from_ast(&named), | 75 | FieldSource::Named(named) => docs_from_ast(&named), |
80 | FieldSource::Pos(..) => None, | 76 | FieldSource::Pos(..) => None, |
81 | }, | 77 | }, |
82 | DocDef::Struct(it) => docs_from_ast(&it.source(db).ast), | 78 | DocDef::Adt(it) => match it { |
83 | DocDef::Enum(it) => docs_from_ast(&it.source(db).ast), | 79 | Adt::Struct(it) => docs_from_ast(&it.source(db).ast), |
80 | Adt::Enum(it) => docs_from_ast(&it.source(db).ast), | ||
81 | Adt::Union(it) => docs_from_ast(&it.source(db).ast), | ||
82 | }, | ||
84 | DocDef::EnumVariant(it) => docs_from_ast(&it.source(db).ast), | 83 | DocDef::EnumVariant(it) => docs_from_ast(&it.source(db).ast), |
85 | DocDef::Static(it) => docs_from_ast(&it.source(db).ast), | 84 | DocDef::Static(it) => docs_from_ast(&it.source(db).ast), |
86 | DocDef::Const(it) => docs_from_ast(&it.source(db).ast), | 85 | DocDef::Const(it) => docs_from_ast(&it.source(db).ast), |
87 | DocDef::Function(it) => docs_from_ast(&it.source(db).ast), | 86 | DocDef::Function(it) => docs_from_ast(&it.source(db).ast), |
88 | DocDef::Union(it) => docs_from_ast(&it.source(db).ast), | ||
89 | DocDef::Trait(it) => docs_from_ast(&it.source(db).ast), | 87 | DocDef::Trait(it) => docs_from_ast(&it.source(db).ast), |
90 | DocDef::TypeAlias(it) => docs_from_ast(&it.source(db).ast), | 88 | DocDef::TypeAlias(it) => docs_from_ast(&it.source(db).ast), |
91 | DocDef::MacroDef(it) => docs_from_ast(&it.source(db).ast), | 89 | DocDef::MacroDef(it) => docs_from_ast(&it.source(db).ast), |
diff --git a/crates/ra_hir/src/db.rs b/crates/ra_hir/src/db.rs index 73d7d6fb6..489a3b19c 100644 --- a/crates/ra_hir/src/db.rs +++ b/crates/ra_hir/src/db.rs | |||
@@ -111,37 +111,37 @@ pub trait DefDatabase: InternDatabase + HirDebugDatabase { | |||
111 | #[salsa::invoke(CrateDefMap::crate_def_map_query)] | 111 | #[salsa::invoke(CrateDefMap::crate_def_map_query)] |
112 | fn crate_def_map(&self, krate: Crate) -> Arc<CrateDefMap>; | 112 | fn crate_def_map(&self, krate: Crate) -> Arc<CrateDefMap>; |
113 | 113 | ||
114 | #[salsa::invoke(crate::impl_block::impls_in_module_with_source_map_query)] | 114 | #[salsa::invoke(ModuleImplBlocks::impls_in_module_with_source_map_query)] |
115 | fn impls_in_module_with_source_map( | 115 | fn impls_in_module_with_source_map( |
116 | &self, | 116 | &self, |
117 | module: Module, | 117 | module: Module, |
118 | ) -> (Arc<ModuleImplBlocks>, Arc<ImplSourceMap>); | 118 | ) -> (Arc<ModuleImplBlocks>, Arc<ImplSourceMap>); |
119 | 119 | ||
120 | #[salsa::invoke(crate::impl_block::impls_in_module)] | 120 | #[salsa::invoke(ModuleImplBlocks::impls_in_module_query)] |
121 | fn impls_in_module(&self, module: Module) -> Arc<ModuleImplBlocks>; | 121 | fn impls_in_module(&self, module: Module) -> Arc<ModuleImplBlocks>; |
122 | 122 | ||
123 | #[salsa::invoke(crate::generics::GenericParams::generic_params_query)] | 123 | #[salsa::invoke(crate::generics::GenericParams::generic_params_query)] |
124 | fn generic_params(&self, def: GenericDef) -> Arc<GenericParams>; | 124 | fn generic_params(&self, def: GenericDef) -> Arc<GenericParams>; |
125 | 125 | ||
126 | #[salsa::invoke(crate::FnData::fn_data_query)] | 126 | #[salsa::invoke(FnData::fn_data_query)] |
127 | fn fn_data(&self, func: Function) -> Arc<FnData>; | 127 | fn fn_data(&self, func: Function) -> Arc<FnData>; |
128 | 128 | ||
129 | #[salsa::invoke(crate::type_alias::type_alias_data_query)] | 129 | #[salsa::invoke(TypeAliasData::type_alias_data_query)] |
130 | fn type_alias_data(&self, typ: TypeAlias) -> Arc<TypeAliasData>; | 130 | fn type_alias_data(&self, typ: TypeAlias) -> Arc<TypeAliasData>; |
131 | 131 | ||
132 | #[salsa::invoke(crate::ConstData::const_data_query)] | 132 | #[salsa::invoke(ConstData::const_data_query)] |
133 | fn const_data(&self, konst: Const) -> Arc<ConstData>; | 133 | fn const_data(&self, konst: Const) -> Arc<ConstData>; |
134 | 134 | ||
135 | #[salsa::invoke(crate::ConstData::static_data_query)] | 135 | #[salsa::invoke(ConstData::static_data_query)] |
136 | fn static_data(&self, konst: Static) -> Arc<ConstData>; | 136 | fn static_data(&self, konst: Static) -> Arc<ConstData>; |
137 | 137 | ||
138 | #[salsa::invoke(crate::lang_item::LangItems::module_lang_items_query)] | 138 | #[salsa::invoke(LangItems::module_lang_items_query)] |
139 | fn module_lang_items(&self, module: Module) -> Option<Arc<LangItems>>; | 139 | fn module_lang_items(&self, module: Module) -> Option<Arc<LangItems>>; |
140 | 140 | ||
141 | #[salsa::invoke(crate::lang_item::LangItems::crate_lang_items_query)] | 141 | #[salsa::invoke(LangItems::crate_lang_items_query)] |
142 | fn crate_lang_items(&self, krate: Crate) -> Arc<LangItems>; | 142 | fn crate_lang_items(&self, krate: Crate) -> Arc<LangItems>; |
143 | 143 | ||
144 | #[salsa::invoke(crate::lang_item::LangItems::lang_item_query)] | 144 | #[salsa::invoke(LangItems::lang_item_query)] |
145 | fn lang_item(&self, start_crate: Crate, item: SmolStr) -> Option<LangItemTarget>; | 145 | fn lang_item(&self, start_crate: Crate, item: SmolStr) -> Option<LangItemTarget>; |
146 | 146 | ||
147 | #[salsa::invoke(crate::code_model::docs::documentation_query)] | 147 | #[salsa::invoke(crate::code_model::docs::documentation_query)] |
diff --git a/crates/ra_hir/src/debug.rs b/crates/ra_hir/src/debug.rs index 87f3180c3..48b69000b 100644 --- a/crates/ra_hir/src/debug.rs +++ b/crates/ra_hir/src/debug.rs | |||
@@ -22,7 +22,7 @@ use std::fmt; | |||
22 | 22 | ||
23 | use ra_db::{CrateId, FileId}; | 23 | use ra_db::{CrateId, FileId}; |
24 | 24 | ||
25 | use crate::{db::HirDatabase, Crate, Module, Name}; | 25 | use crate::{db::HirDatabase, Crate, HirFileId, Module, Name}; |
26 | 26 | ||
27 | impl Crate { | 27 | impl Crate { |
28 | pub fn debug(self, db: &impl HirDebugDatabase) -> impl fmt::Debug + '_ { | 28 | pub fn debug(self, db: &impl HirDebugDatabase) -> impl fmt::Debug + '_ { |
@@ -36,6 +36,12 @@ impl Module { | |||
36 | } | 36 | } |
37 | } | 37 | } |
38 | 38 | ||
39 | impl HirFileId { | ||
40 | pub fn debug(self, db: &impl HirDebugDatabase) -> impl fmt::Debug + '_ { | ||
41 | debug_fn(move |fmt| db.debug_hir_file_id(self, fmt)) | ||
42 | } | ||
43 | } | ||
44 | |||
39 | pub trait HirDebugHelper: HirDatabase { | 45 | pub trait HirDebugHelper: HirDatabase { |
40 | fn crate_name(&self, _krate: CrateId) -> Option<String> { | 46 | fn crate_name(&self, _krate: CrateId) -> Option<String> { |
41 | None | 47 | None |
@@ -48,6 +54,7 @@ pub trait HirDebugHelper: HirDatabase { | |||
48 | pub trait HirDebugDatabase { | 54 | pub trait HirDebugDatabase { |
49 | fn debug_crate(&self, krate: Crate, fmt: &mut fmt::Formatter<'_>) -> fmt::Result; | 55 | fn debug_crate(&self, krate: Crate, fmt: &mut fmt::Formatter<'_>) -> fmt::Result; |
50 | fn debug_module(&self, module: Module, fmt: &mut fmt::Formatter<'_>) -> fmt::Result; | 56 | fn debug_module(&self, module: Module, fmt: &mut fmt::Formatter<'_>) -> fmt::Result; |
57 | fn debug_hir_file_id(&self, file_id: HirFileId, fmt: &mut fmt::Formatter<'_>) -> fmt::Result; | ||
51 | } | 58 | } |
52 | 59 | ||
53 | impl<DB: HirDebugHelper> HirDebugDatabase for DB { | 60 | impl<DB: HirDebugHelper> HirDebugDatabase for DB { |
@@ -62,12 +69,19 @@ impl<DB: HirDebugHelper> HirDebugDatabase for DB { | |||
62 | 69 | ||
63 | fn debug_module(&self, module: Module, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { | 70 | fn debug_module(&self, module: Module, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { |
64 | let file_id = module.definition_source(self).file_id.original_file(self); | 71 | let file_id = module.definition_source(self).file_id.original_file(self); |
65 | let path = self.file_path(file_id); | 72 | let path = self.file_path(file_id).unwrap_or_else(|| "N/A".to_string()); |
66 | fmt.debug_struct("Module") | 73 | fmt.debug_struct("Module") |
67 | .field("name", &module.name(self).unwrap_or_else(Name::missing)) | 74 | .field("name", &module.name(self).unwrap_or_else(Name::missing)) |
68 | .field("path", &path.unwrap_or_else(|| "N/A".to_string())) | 75 | .field("path", &path) |
69 | .finish() | 76 | .finish() |
70 | } | 77 | } |
78 | |||
79 | fn debug_hir_file_id(&self, file_id: HirFileId, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { | ||
80 | let original = file_id.original_file(self); | ||
81 | let path = self.file_path(original).unwrap_or_else(|| "N/A".to_string()); | ||
82 | let is_macro = file_id != original.into(); | ||
83 | fmt.debug_struct("HirFileId").field("path", &path).field("macro", &is_macro).finish() | ||
84 | } | ||
71 | } | 85 | } |
72 | 86 | ||
73 | fn debug_fn(f: impl Fn(&mut fmt::Formatter<'_>) -> fmt::Result) -> impl fmt::Debug { | 87 | fn debug_fn(f: impl Fn(&mut fmt::Formatter<'_>) -> fmt::Result) -> impl fmt::Debug { |
diff --git a/crates/ra_hir/src/from_source.rs b/crates/ra_hir/src/from_source.rs index a012f33f7..f80d8eb5f 100644 --- a/crates/ra_hir/src/from_source.rs +++ b/crates/ra_hir/src/from_source.rs | |||
@@ -189,14 +189,14 @@ impl Module { | |||
189 | ModuleSource::SourceFile(_) => None, | 189 | ModuleSource::SourceFile(_) => None, |
190 | }; | 190 | }; |
191 | 191 | ||
192 | let source_root_id = db.file_source_root(src.file_id.original_file(db)); | 192 | db.relevant_crates(src.file_id.original_file(db)) |
193 | db.source_root_crates(source_root_id).iter().map(|&crate_id| Crate { crate_id }).find_map( | 193 | .iter() |
194 | |krate| { | 194 | .map(|&crate_id| Crate { crate_id }) |
195 | .find_map(|krate| { | ||
195 | let def_map = db.crate_def_map(krate); | 196 | let def_map = db.crate_def_map(krate); |
196 | let module_id = def_map.find_module_by_source(src.file_id, decl_id)?; | 197 | let module_id = def_map.find_module_by_source(src.file_id, decl_id)?; |
197 | Some(Module { krate, module_id }) | 198 | Some(Module { krate, module_id }) |
198 | }, | 199 | }) |
199 | ) | ||
200 | } | 200 | } |
201 | } | 201 | } |
202 | 202 | ||
diff --git a/crates/ra_hir/src/ids.rs b/crates/ra_hir/src/ids.rs index a3b65cc79..499dcafea 100644 --- a/crates/ra_hir/src/ids.rs +++ b/crates/ra_hir/src/ids.rs | |||
@@ -50,16 +50,6 @@ impl HirFileId { | |||
50 | } | 50 | } |
51 | } | 51 | } |
52 | 52 | ||
53 | /// XXX: this is a temporary function, which should go away when we implement the | ||
54 | /// nameresolution+macro expansion combo. Prefer using `original_file` if | ||
55 | /// possible. | ||
56 | pub fn as_original_file(self) -> FileId { | ||
57 | match self.0 { | ||
58 | HirFileIdRepr::File(file_id) => file_id, | ||
59 | HirFileIdRepr::Macro(_r) => panic!("macro generated file: {:?}", self), | ||
60 | } | ||
61 | } | ||
62 | |||
63 | /// Get the crate which the macro lives in, if it is a macro file. | 53 | /// Get the crate which the macro lives in, if it is a macro file. |
64 | pub(crate) fn macro_crate(self, db: &impl AstDatabase) -> Option<Crate> { | 54 | pub(crate) fn macro_crate(self, db: &impl AstDatabase) -> Option<Crate> { |
65 | match self.0 { | 55 | match self.0 { |
@@ -95,11 +85,7 @@ impl HirFileId { | |||
95 | // Note: | 85 | // Note: |
96 | // The final goal we would like to make all parse_macro success, | 86 | // The final goal we would like to make all parse_macro success, |
97 | // such that the following log will not call anyway. | 87 | // such that the following log will not call anyway. |
98 | log::warn!( | 88 | log::warn!("fail on macro_parse: (reason: {})", err,); |
99 | "fail on macro_parse: (reason: {}) {}", | ||
100 | err, | ||
101 | macro_call_id.debug_dump(db) | ||
102 | ); | ||
103 | }) | 89 | }) |
104 | .ok()?; | 90 | .ok()?; |
105 | match macro_file.macro_file_kind { | 91 | match macro_file.macro_file_kind { |
@@ -377,35 +363,6 @@ impl AstItemDef<ast::TypeAliasDef> for TypeAliasId { | |||
377 | } | 363 | } |
378 | } | 364 | } |
379 | 365 | ||
380 | impl MacroCallId { | ||
381 | pub fn debug_dump(self, db: &impl AstDatabase) -> String { | ||
382 | let loc = self.loc(db); | ||
383 | let node = loc.ast_id.to_node(db); | ||
384 | let syntax_str = { | ||
385 | let mut res = String::new(); | ||
386 | node.syntax().text().for_each_chunk(|chunk| { | ||
387 | if !res.is_empty() { | ||
388 | res.push(' ') | ||
389 | } | ||
390 | res.push_str(chunk) | ||
391 | }); | ||
392 | res | ||
393 | }; | ||
394 | |||
395 | // dump the file name | ||
396 | let file_id: HirFileId = self.loc(db).ast_id.file_id(); | ||
397 | let original = file_id.original_file(db); | ||
398 | let macro_rules = db.macro_def(loc.def); | ||
399 | |||
400 | format!( | ||
401 | "macro call [file: {:?}] : {}\nhas rules: {}", | ||
402 | db.file_relative_path(original), | ||
403 | syntax_str, | ||
404 | macro_rules.is_some() | ||
405 | ) | ||
406 | } | ||
407 | } | ||
408 | |||
409 | /// This exists just for Chalk, because Chalk just has a single `StructId` where | 366 | /// This exists just for Chalk, because Chalk just has a single `StructId` where |
410 | /// we have different kinds of ADTs, primitive types and special type | 367 | /// we have different kinds of ADTs, primitive types and special type |
411 | /// constructors like tuples and function pointers. | 368 | /// constructors like tuples and function pointers. |
diff --git a/crates/ra_hir/src/impl_block.rs b/crates/ra_hir/src/impl_block.rs index 55dfc393b..33ef87563 100644 --- a/crates/ra_hir/src/impl_block.rs +++ b/crates/ra_hir/src/impl_block.rs | |||
@@ -176,6 +176,25 @@ pub struct ModuleImplBlocks { | |||
176 | } | 176 | } |
177 | 177 | ||
178 | impl ModuleImplBlocks { | 178 | impl ModuleImplBlocks { |
179 | pub(crate) fn impls_in_module_with_source_map_query( | ||
180 | db: &(impl DefDatabase + AstDatabase), | ||
181 | module: Module, | ||
182 | ) -> (Arc<ModuleImplBlocks>, Arc<ImplSourceMap>) { | ||
183 | let mut source_map = ImplSourceMap::default(); | ||
184 | let crate_graph = db.crate_graph(); | ||
185 | let cfg_options = crate_graph.cfg_options(module.krate.crate_id()); | ||
186 | |||
187 | let result = ModuleImplBlocks::collect(db, cfg_options, module, &mut source_map); | ||
188 | (Arc::new(result), Arc::new(source_map)) | ||
189 | } | ||
190 | |||
191 | pub(crate) fn impls_in_module_query( | ||
192 | db: &impl DefDatabase, | ||
193 | module: Module, | ||
194 | ) -> Arc<ModuleImplBlocks> { | ||
195 | db.impls_in_module_with_source_map(module).0 | ||
196 | } | ||
197 | |||
179 | fn collect( | 198 | fn collect( |
180 | db: &(impl DefDatabase + AstDatabase), | 199 | db: &(impl DefDatabase + AstDatabase), |
181 | cfg_options: &CfgOptions, | 200 | cfg_options: &CfgOptions, |
@@ -264,19 +283,3 @@ impl ModuleImplBlocks { | |||
264 | } | 283 | } |
265 | } | 284 | } |
266 | } | 285 | } |
267 | |||
268 | pub(crate) fn impls_in_module_with_source_map_query( | ||
269 | db: &(impl DefDatabase + AstDatabase), | ||
270 | module: Module, | ||
271 | ) -> (Arc<ModuleImplBlocks>, Arc<ImplSourceMap>) { | ||
272 | let mut source_map = ImplSourceMap::default(); | ||
273 | let crate_graph = db.crate_graph(); | ||
274 | let cfg_options = crate_graph.cfg_options(module.krate.crate_id()); | ||
275 | |||
276 | let result = ModuleImplBlocks::collect(db, cfg_options, module, &mut source_map); | ||
277 | (Arc::new(result), Arc::new(source_map)) | ||
278 | } | ||
279 | |||
280 | pub(crate) fn impls_in_module(db: &impl DefDatabase, module: Module) -> Arc<ModuleImplBlocks> { | ||
281 | db.impls_in_module_with_source_map(module).0 | ||
282 | } | ||
diff --git a/crates/ra_hir/src/lib.rs b/crates/ra_hir/src/lib.rs index 4340e9d34..ca261e8f5 100644 --- a/crates/ra_hir/src/lib.rs +++ b/crates/ra_hir/src/lib.rs | |||
@@ -51,6 +51,7 @@ mod lang_item; | |||
51 | mod generics; | 51 | mod generics; |
52 | mod resolve; | 52 | mod resolve; |
53 | pub mod diagnostics; | 53 | pub mod diagnostics; |
54 | mod util; | ||
54 | 55 | ||
55 | mod code_model; | 56 | mod code_model; |
56 | 57 | ||
@@ -71,7 +72,7 @@ pub use self::{ | |||
71 | either::Either, | 72 | either::Either, |
72 | expr::ExprScopes, | 73 | expr::ExprScopes, |
73 | from_source::FromSource, | 74 | from_source::FromSource, |
74 | generics::{GenericParam, GenericParams, HasGenericParams}, | 75 | generics::{GenericDef, GenericParam, GenericParams, HasGenericParams}, |
75 | ids::{HirFileId, MacroCallId, MacroCallLoc, MacroDefId, MacroFile}, | 76 | ids::{HirFileId, MacroCallId, MacroCallLoc, MacroDefId, MacroFile}, |
76 | impl_block::ImplBlock, | 77 | impl_block::ImplBlock, |
77 | name::Name, | 78 | name::Name, |
diff --git a/crates/ra_hir/src/mock.rs b/crates/ra_hir/src/mock.rs index f750986b8..0b278deb3 100644 --- a/crates/ra_hir/src/mock.rs +++ b/crates/ra_hir/src/mock.rs | |||
@@ -5,10 +5,10 @@ use std::{panic, sync::Arc}; | |||
5 | use parking_lot::Mutex; | 5 | use parking_lot::Mutex; |
6 | use ra_cfg::CfgOptions; | 6 | use ra_cfg::CfgOptions; |
7 | use ra_db::{ | 7 | use ra_db::{ |
8 | salsa, CrateGraph, CrateId, Edition, FileId, FilePosition, SourceDatabase, SourceRoot, | 8 | salsa, CrateGraph, CrateId, Edition, FileId, FileLoader, FileLoaderDelegate, FilePosition, |
9 | SourceRootId, | 9 | SourceDatabase, SourceDatabaseExt, SourceRoot, SourceRootId, |
10 | }; | 10 | }; |
11 | use relative_path::RelativePathBuf; | 11 | use relative_path::{RelativePath, RelativePathBuf}; |
12 | use rustc_hash::FxHashMap; | 12 | use rustc_hash::FxHashMap; |
13 | use test_utils::{extract_offset, parse_fixture, CURSOR_MARKER}; | 13 | use test_utils::{extract_offset, parse_fixture, CURSOR_MARKER}; |
14 | 14 | ||
@@ -17,6 +17,7 @@ use crate::{db, debug::HirDebugHelper, diagnostics::DiagnosticSink}; | |||
17 | pub const WORKSPACE: SourceRootId = SourceRootId(0); | 17 | pub const WORKSPACE: SourceRootId = SourceRootId(0); |
18 | 18 | ||
19 | #[salsa::database( | 19 | #[salsa::database( |
20 | ra_db::SourceDatabaseExtStorage, | ||
20 | ra_db::SourceDatabaseStorage, | 21 | ra_db::SourceDatabaseStorage, |
21 | db::InternDatabaseStorage, | 22 | db::InternDatabaseStorage, |
22 | db::AstDatabaseStorage, | 23 | db::AstDatabaseStorage, |
@@ -34,6 +35,22 @@ pub struct MockDatabase { | |||
34 | 35 | ||
35 | impl panic::RefUnwindSafe for MockDatabase {} | 36 | impl panic::RefUnwindSafe for MockDatabase {} |
36 | 37 | ||
38 | impl FileLoader for MockDatabase { | ||
39 | fn file_text(&self, file_id: FileId) -> Arc<String> { | ||
40 | FileLoaderDelegate(self).file_text(file_id) | ||
41 | } | ||
42 | fn resolve_relative_path( | ||
43 | &self, | ||
44 | anchor: FileId, | ||
45 | relative_path: &RelativePath, | ||
46 | ) -> Option<FileId> { | ||
47 | FileLoaderDelegate(self).resolve_relative_path(anchor, relative_path) | ||
48 | } | ||
49 | fn relevant_crates(&self, file_id: FileId) -> Arc<Vec<CrateId>> { | ||
50 | FileLoaderDelegate(self).relevant_crates(file_id) | ||
51 | } | ||
52 | } | ||
53 | |||
37 | impl HirDebugHelper for MockDatabase { | 54 | impl HirDebugHelper for MockDatabase { |
38 | fn crate_name(&self, krate: CrateId) -> Option<String> { | 55 | fn crate_name(&self, krate: CrateId) -> Option<String> { |
39 | self.crate_names.get(&krate).cloned() | 56 | self.crate_names.get(&krate).cloned() |
@@ -278,7 +295,10 @@ macro_rules! crate_graph { | |||