on 5e28ad3 help sign in
.travis.yml+12−18
since splitsnapshots
unifiedsplit
@@ -25,30 +25,24 @@ matrix:
25 - name: "build (beta)"
25 - name: "build (beta)"
26 rust: beta
26 rust: beta
27 script: INSTALL=1 ./build.sh
27 script: INSTALL=1 ./build.sh
28+ - name: "build (nightly)"
29+ rust: nightly
30+ script: INSTALL=1 ./build.sh
28 - name: "headless browser tests (firefox)"
31 - name: "headless browser tests (firefox)"
29 rust: stable
32 rust: stable
30 addons:
33 addons:
31 firefox: latest
34 firefox: latest
32 script: wasm-pack test --firefox --headless -- --features xxx-unstable-internal-use-only
35 script: wasm-pack test --firefox --headless -- --features xxx-unstable-internal-use-only
36+ - name: "headless browser tests (chrome)"
37+ rust: stable
38+ addons:
39+ chrome: stable
40+ script: wasm-pack test --chrome --headless -- --features xxx-unstable-internal-use-only
33 - name: "native tests"
41 - name: "native tests"
34 rust: stable
42 rust: stable
35 install: echo "no install"
43 install: echo "no install"
36 script: cargo test --all
44 script: cargo test --all
37−
38− # TODO: A bug in `rustc` is making `js-sys` broken on nightly:
39− # https://github.com/rust-lang/rust/issues/69315
40− # - name: "build (nightly)"
41− # rust: nightly
42− # script: INSTALL=1 ./build.sh
43− # - name: "check native benches"
45+ - name: "check native benches"
44− # rust: nightly
46+ rust: nightly
45− # install: echo "no install"
47+ install: echo "no install"
46− # script: cargo check --benches --features xxx-unstable-internal-use-only
48+ script: cargo check --benches --features xxx-unstable-internal-use-only
47−
48− # TODO: `chromedriver` is complaining about ports or something. Temporarily
49− # disable in CI until we figure it out.
50− # - name: "headless browser tests (chrome)"
51− # rust: stable
52− # addons:
53− # chrome: stable
54− # script: wasm-pack test --chrome --headless -- --features xxx-unstable-internal-use-only
Cargo.lock+327−281
@@ -7,11 +7,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
7
7
8[[package]]
8[[package]]
9name = "atty"
9name = "atty"
10−version = "0.2.13"
10+version = "0.2.11"
11source = "registry+https://github.com/rust-lang/crates.io-index"
11source = "registry+https://github.com/rust-lang/crates.io-index"
12dependencies = [
12dependencies = [
13 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
13 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
14+ "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
14− "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
15+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
15]
16]
16
17
17[[package]]
18[[package]]
@@ -21,7 +22,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
21
22
22[[package]]
23[[package]]
23name = "bitflags"
24name = "bitflags"
24−version = "1.2.1"
25+version = "1.1.0"
25source = "registry+https://github.com/rust-lang/crates.io-index"
26source = "registry+https://github.com/rust-lang/crates.io-index"
26
27
27[[package]]
28[[package]]
@@ -29,10 +30,10 @@ name = "bstr"
29version = "0.2.8"
30version = "0.2.8"
30source = "registry+https://github.com/rust-lang/crates.io-index"
31source = "registry+https://github.com/rust-lang/crates.io-index"
31dependencies = [
32dependencies = [
32− "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
33+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
33− "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
34+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
34 "regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
35 "regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
35− "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
36+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
36]
37]
37
38
38[[package]]
39[[package]]
@@ -42,16 +43,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
42
43
43[[package]]
44[[package]]
44name = "byteorder"
45name = "byteorder"
45−version = "1.3.2"
46+version = "1.3.1"
46source = "registry+https://github.com/rust-lang/crates.io-index"
47source = "registry+https://github.com/rust-lang/crates.io-index"
47
48
48[[package]]
49[[package]]
49name = "cast"
50name = "cast"
50−version = "0.2.3"
51+version = "0.2.2"
51source = "registry+https://github.com/rust-lang/crates.io-index"
52source = "registry+https://github.com/rust-lang/crates.io-index"
52−dependencies = [
53− "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
54−]
55
53
56[[package]]
54[[package]]
57name = "cfg-if"
55name = "cfg-if"
@@ -63,9 +61,9 @@ name = "clap"
63version = "2.33.0"
61version = "2.33.0"
64source = "registry+https://github.com/rust-lang/crates.io-index"
62source = "registry+https://github.com/rust-lang/crates.io-index"
65dependencies = [
63dependencies = [
66− "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
64+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
67 "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
65 "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
68− "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
66+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
69]
67]
70
68
71[[package]]
69[[package]]
@@ -79,45 +77,44 @@ dependencies = [
79
77
80[[package]]
78[[package]]
81name = "console_log"
79name = "console_log"
82−version = "0.2.0"
80+version = "0.1.2"
83source = "registry+https://github.com/rust-lang/crates.io-index"
81source = "registry+https://github.com/rust-lang/crates.io-index"
84dependencies = [
82dependencies = [
85− "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
83+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
86 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
84 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
87]
85]
88
86
89[[package]]
87[[package]]
90name = "criterion"
88name = "criterion"
91−version = "0.3.3"
89+version = "0.3.0"
92source = "registry+https://github.com/rust-lang/crates.io-index"
90source = "registry+https://github.com/rust-lang/crates.io-index"
93dependencies = [
91dependencies = [
94− "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
92+ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
95− "cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
93+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
96 "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
94 "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
97− "criterion-plot 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
95+ "criterion-plot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
98 "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
96 "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
99− "itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
97+ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
100− "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
98+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
101− "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
99+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
100+ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
102− "oorandom 11.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
101+ "rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
103− "plotters 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
102+ "rand_xoshiro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
104− "rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
105− "regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
103+ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
106− "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
107− "serde_cbor 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
104+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
108− "serde_derive 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
105+ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
109− "serde_json 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
106+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
110− "tinytemplate 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
107+ "tinytemplate 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
111− "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
108+ "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
112]
109]
113
110
114[[package]]
111[[package]]
115name = "criterion-plot"
112name = "criterion-plot"
116−version = "0.4.3"
113+version = "0.4.0"
117source = "registry+https://github.com/rust-lang/crates.io-index"
114source = "registry+https://github.com/rust-lang/crates.io-index"
118dependencies = [
115dependencies = [
119− "cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
116+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
120− "itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
117+ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
121]
118]
122
119
123[[package]]
120[[package]]
@@ -137,7 +134,7 @@ dependencies = [
137 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
134 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
138 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
135 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
139 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
136 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
140− "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
137+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
141 "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
138 "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
142 "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
139 "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
143]
140]
@@ -157,7 +154,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
157dependencies = [
154dependencies = [
158 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
155 "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
159 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
156 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
160− "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
157+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
161]
158]
162
159
163[[package]]
160[[package]]
@@ -167,9 +164,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
167dependencies = [
164dependencies = [
168 "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
165 "bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
169 "csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
166 "csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
170− "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
167+ "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
171− "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
168+ "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
172− "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
169+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
173]
170]
174
171
175[[package]]
172[[package]]
@@ -177,24 +174,24 @@ name = "csv-core"
177version = "0.1.6"
174version = "0.1.6"
178source = "registry+https://github.com/rust-lang/crates.io-index"
175source = "registry+https://github.com/rust-lang/crates.io-index"
179dependencies = [
176dependencies = [
180− "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
177+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
181]
178]
182
179
183[[package]]
180[[package]]
184name = "dodrio"
181name = "dodrio"
185−version = "0.2.0"
182+version = "0.1.0"
186dependencies = [
183dependencies = [
187 "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
184 "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
188 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
185 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
189− "console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
186+ "console_log 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
190− "criterion 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
187+ "criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
191− "dodrio-js-api 0.2.0",
188+ "dodrio-js-api 0.1.0",
192− "futures 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
189+ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
193 "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
190 "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
194 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
191 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
195− "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
192+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
196 "longest-increasing-subsequence 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
193 "longest-increasing-subsequence 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
197− "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
194+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
198 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
195 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
199 "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
196 "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
200 "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
197 "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -206,11 +203,11 @@ name = "dodrio-counter"
206version = "0.1.0"
203version = "0.1.0"
207dependencies = [
204dependencies = [
208 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
205 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
209− "console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
206+ "console_log 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
210− "dodrio 0.2.0",
207+ "dodrio 0.1.0",
211− "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
208+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
212 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
209 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
213− "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
210+ "wasm-bindgen-test 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
214 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
211 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
215]
212]
216
213
@@ -219,11 +216,12 @@ name = "dodrio-game-of-life"
219version = "0.1.0"
216version = "0.1.0"
220dependencies = [
217dependencies = [
221 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
218 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
222− "dodrio 0.2.0",
219+ "dodrio 0.1.0",
220+ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
223 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
221 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
224 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
222 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
225− "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
223+ "wasm-bindgen-futures 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
226− "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
224+ "wasm-bindgen-test 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
227 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
225 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
228]
226]
229
227
@@ -232,9 +230,9 @@ name = "dodrio-hello-world"
232version = "0.1.0"
230version = "0.1.0"
233dependencies = [
231dependencies = [
234 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
232 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
235− "dodrio 0.2.0",
233+ "dodrio 0.1.0",
236 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
234 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
237− "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
235+ "wasm-bindgen-test 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
238 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
236 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
239]
237]
240
238
@@ -243,17 +241,17 @@ name = "dodrio-input-form"
243version = "0.1.0"
241version = "0.1.0"
244dependencies = [
242dependencies = [
245 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
243 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
246− "dodrio 0.2.0",
244+ "dodrio 0.1.0",
247 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
245 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
248− "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
246+ "wasm-bindgen-test 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
249 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
247 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
250]
248]
251
249
252[[package]]
250[[package]]
253name = "dodrio-js-api"
251name = "dodrio-js-api"
254−version = "0.2.0"
252+version = "0.1.0"
255dependencies = [
253dependencies = [
256− "dodrio 0.2.0",
254+ "dodrio 0.1.0",
257 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
255 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
258 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
256 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
259 "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
257 "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -265,8 +263,8 @@ name = "dodrio-js-component"
265version = "0.1.0"
263version = "0.1.0"
266dependencies = [
264dependencies = [
267 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
265 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
268− "dodrio 0.2.0",
266+ "dodrio 0.1.0",
269− "dodrio-js-api 0.2.0",
267+ "dodrio-js-api 0.1.0",
270 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
268 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
271 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
269 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
272 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
270 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -278,13 +276,14 @@ version = "0.1.0"
278dependencies = [
276dependencies = [
279 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
277 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
280 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
278 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
281− "console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
279+ "console_log 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
282− "dodrio 0.2.0",
280+ "dodrio 0.1.0",
281+ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
283 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
282 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
284− "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
283+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
285 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
284 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
286− "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
285+ "wasm-bindgen-futures 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
287− "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
286+ "wasm-bindgen-test 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
288 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
287 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
289]
288]
290
289
@@ -293,11 +292,12 @@ name = "dodrio-sierpinski"
293version = "0.1.0"
292version = "0.1.0"
294dependencies = [
293dependencies = [
295 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
294 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
296− "dodrio 0.2.0",
295+ "dodrio 0.1.0",
296+ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
297 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
297 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
298 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
298 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
299− "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
299+ "wasm-bindgen-futures 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
300− "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
300+ "wasm-bindgen-test 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
301 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
301 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
302]
302]
303
303
@@ -307,104 +307,106 @@ version = "0.1.0"
307dependencies = [
307dependencies = [
308 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
308 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
309 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
309 "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
310− "console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
310+ "console_log 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
311− "dodrio 0.2.0",
311+ "dodrio 0.1.0",
312+ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
312 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
313 "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
313− "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
314+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
314− "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
315+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
315− "serde_json 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
316+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
316 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
317 "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
317− "wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
318+ "wasm-bindgen-futures 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
318− "wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
319+ "wasm-bindgen-test 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
319 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
320 "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
320]
321]
321
322
322[[package]]
323[[package]]
323name = "either"
324name = "either"
324−version = "1.5.3"
325+version = "1.5.2"
325source = "registry+https://github.com/rust-lang/crates.io-index"
326source = "registry+https://github.com/rust-lang/crates.io-index"
326
327
327[[package]]
328[[package]]
328name = "futures"
329name = "futures"
329−version = "0.3.5"
330+version = "0.1.28"
331+source = "registry+https://github.com/rust-lang/crates.io-index"
332+
333+[[package]]
334+name = "futures"
335+version = "0.3.1"
330source = "registry+https://github.com/rust-lang/crates.io-index"
336source = "registry+https://github.com/rust-lang/crates.io-index"
331dependencies = [
337dependencies = [
332− "futures-channel 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
338+ "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
333− "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
339+ "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
334− "futures-executor 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
340+ "futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
335− "futures-io 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
341+ "futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
336− "futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
342+ "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
337− "futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
343+ "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
338− "futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
344+ "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
339]
345]
340
346
341[[package]]
347[[package]]
342name = "futures-channel"
348name = "futures-channel"
343−version = "0.3.5"
349+version = "0.3.1"
344source = "registry+https://github.com/rust-lang/crates.io-index"
350source = "registry+https://github.com/rust-lang/crates.io-index"
345dependencies = [
351dependencies = [
346− "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
352+ "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
347− "futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
353+ "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
348]
354]
349
355
350[[package]]
356[[package]]
351name = "futures-core"
357name = "futures-core"
352−version = "0.3.5"
358+version = "0.3.1"
353source = "registry+https://github.com/rust-lang/crates.io-index"
359source = "registry+https://github.com/rust-lang/crates.io-index"
354
360
355[[package]]
361[[package]]
356name = "futures-executor"
362name = "futures-executor"
357−version = "0.3.5"
363+version = "0.3.1"
358source = "registry+https://github.com/rust-lang/crates.io-index"
364source = "registry+https://github.com/rust-lang/crates.io-index"
359dependencies = [
365dependencies = [
360− "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
366+ "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
361− "futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
367+ "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
362− "futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
368+ "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
363]
369]
364
370
365[[package]]
371[[package]]
366name = "futures-io"
372name = "futures-io"
367−version = "0.3.5"
373+version = "0.3.1"
368source = "registry+https://github.com/rust-lang/crates.io-index"
374source = "registry+https://github.com/rust-lang/crates.io-index"
369
375
370[[package]]
376[[package]]
371name = "futures-macro"
377name = "futures-macro"
372−version = "0.3.5"
378+version = "0.3.1"
373source = "registry+https://github.com/rust-lang/crates.io-index"
379source = "registry+https://github.com/rust-lang/crates.io-index"
374dependencies = [
380dependencies = [
375 "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
381 "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
376− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
382+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
377 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
383 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
378− "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
384+ "syn 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
379]
385]
380
386
381[[package]]
387[[package]]
382name = "futures-sink"
388name = "futures-sink"
383−version = "0.3.5"
389+version = "0.3.1"
384source = "registry+https://github.com/rust-lang/crates.io-index"
390source = "registry+https://github.com/rust-lang/crates.io-index"
385
391
386[[package]]
392[[package]]
387name = "futures-task"
393name = "futures-task"
388−version = "0.3.5"
394+version = "0.3.1"
389source = "registry+https://github.com/rust-lang/crates.io-index"
395source = "registry+https://github.com/rust-lang/crates.io-index"
390−dependencies = [
391− "once_cell 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
392−]
393
396
394[[package]]
397[[package]]
395name = "futures-util"
398name = "futures-util"
396−version = "0.3.5"
399+version = "0.3.1"
397source = "registry+https://github.com/rust-lang/crates.io-index"
400source = "registry+https://github.com/rust-lang/crates.io-index"
398dependencies = [
401dependencies = [
399− "futures-channel 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
402+ "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
400− "futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
403+ "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
401− "futures-io 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
404+ "futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
402− "futures-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
405+ "futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
403− "futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
406+ "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
404− "futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
407+ "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
405− "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
408+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
406− "pin-project 0.4.16 (registry+https://github.com/rust-lang/crates.io-index)",
407− "pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
409+ "pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
408 "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
410 "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
409 "proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
411 "proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
410 "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
412 "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -415,41 +417,38 @@ name = "fxhash"
415version = "0.2.1"
417version = "0.2.1"
416source = "registry+https://github.com/rust-lang/crates.io-index"
418source = "registry+https://github.com/rust-lang/crates.io-index"
417dependencies = [
419dependencies = [
418− "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
420+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
419]
421]
420
422
421[[package]]
423[[package]]
422−name = "half"
424+name = "getrandom"
423−version = "1.6.0"
424−source = "registry+https://github.com/rust-lang/crates.io-index"
425−
426−[[package]]
427−name = "heck"
428−version = "0.3.1"
425+version = "0.1.13"
429source = "registry+https://github.com/rust-lang/crates.io-index"
426source = "registry+https://github.com/rust-lang/crates.io-index"
430dependencies = [
427dependencies = [
428+ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
429+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
431− "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
430+ "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
432]
431]
433
432
434[[package]]
433[[package]]
435−name = "hermit-abi"
434+name = "heck"
436−version = "0.1.3"
435+version = "0.3.1"
437source = "registry+https://github.com/rust-lang/crates.io-index"
436source = "registry+https://github.com/rust-lang/crates.io-index"
438dependencies = [
437dependencies = [
439− "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
438+ "unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
440]
439]
441
440
442[[package]]
441[[package]]
443name = "itertools"
442name = "itertools"
444−version = "0.9.0"
443+version = "0.8.0"
445source = "registry+https://github.com/rust-lang/crates.io-index"
444source = "registry+https://github.com/rust-lang/crates.io-index"
446dependencies = [
445dependencies = [
447− "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
446+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
448]
447]
449
448
450[[package]]
449[[package]]
451name = "itoa"
450name = "itoa"
452−version = "0.4.4"
451+version = "0.4.3"
453source = "registry+https://github.com/rust-lang/crates.io-index"
452source = "registry+https://github.com/rust-lang/crates.io-index"
454
453
455[[package]]
454[[package]]
@@ -462,7 +461,7 @@ dependencies = [
462
461
463[[package]]
462[[package]]
464name = "lazy_static"
463name = "lazy_static"
465−version = "1.4.0"
464+version = "1.3.0"
466source = "registry+https://github.com/rust-lang/crates.io-index"
465source = "registry+https://github.com/rust-lang/crates.io-index"
467
466
468[[package]]
467[[package]]
@@ -472,7 +471,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
472
471
473[[package]]
472[[package]]
474name = "log"
473name = "log"
475−version = "0.4.11"
474+version = "0.4.8"
476source = "registry+https://github.com/rust-lang/crates.io-index"
475source = "registry+https://github.com/rust-lang/crates.io-index"
477dependencies = [
476dependencies = [
478 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
477 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -485,7 +484,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
485
484
486[[package]]
485[[package]]
487name = "memchr"
486name = "memchr"
488−version = "2.2.1"
487+version = "2.2.0"
489source = "registry+https://github.com/rust-lang/crates.io-index"
488source = "registry+https://github.com/rust-lang/crates.io-index"
490dependencies = [
489dependencies = [
491 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
490 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -504,130 +503,133 @@ name = "nom"
504version = "4.2.3"
503version = "4.2.3"
505source = "registry+https://github.com/rust-lang/crates.io-index"
504source = "registry+https://github.com/rust-lang/crates.io-index"
506dependencies = [
505dependencies = [
507− "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
506+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
508 "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
507 "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
509]
508]
510
509
511[[package]]
510[[package]]
512name = "num-traits"
511name = "num-traits"
513−version = "0.2.10"
512+version = "0.2.6"
514source = "registry+https://github.com/rust-lang/crates.io-index"
513source = "registry+https://github.com/rust-lang/crates.io-index"
515−dependencies = [
516− "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
517−]
518
514
519[[package]]
515[[package]]
520name = "num_cpus"
516name = "num_cpus"
521−version = "1.11.1"
517+version = "1.10.0"
522source = "registry+https://github.com/rust-lang/crates.io-index"
518source = "registry+https://github.com/rust-lang/crates.io-index"
523dependencies = [
519dependencies = [
524− "hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
525 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
520 "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
526]
521]
527
522
528[[package]]
523[[package]]
529−name = "once_cell"
524+name = "pin-utils"
530−version = "1.3.1"
525+version = "0.1.0-alpha.4"
531source = "registry+https://github.com/rust-lang/crates.io-index"
526source = "registry+https://github.com/rust-lang/crates.io-index"
532
527
533[[package]]
528[[package]]
534−name = "oorandom"
529+name = "proc-macro-hack"
535−version = "11.1.0"
530+version = "0.5.11"
536source = "registry+https://github.com/rust-lang/crates.io-index"
531source = "registry+https://github.com/rust-lang/crates.io-index"
532+dependencies = [
533+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
534+ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
535+ "syn 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
536+]
537
537
538[[package]]
538[[package]]
539−name = "pin-project"
539+name = "proc-macro-nested"
540−version = "0.4.16"
540+version = "0.1.3"
541source = "registry+https://github.com/rust-lang/crates.io-index"
541source = "registry+https://github.com/rust-lang/crates.io-index"
542−dependencies = [
543− "pin-project-internal 0.4.16 (registry+https://github.com/rust-lang/crates.io-index)",
544−]
545
542
546[[package]]
543[[package]]
547−name = "pin-project-internal"
544+name = "proc-macro2"
548−version = "0.4.16"
545+version = "0.4.27"
549source = "registry+https://github.com/rust-lang/crates.io-index"
546source = "registry+https://github.com/rust-lang/crates.io-index"
550dependencies = [
547dependencies = [
551− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
552− "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
553− "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
548+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
554]
549]
555
550
556[[package]]
551[[package]]
557−name = "pin-utils"
552+name = "proc-macro2"
558−version = "0.1.0"
553+version = "1.0.6"
559source = "registry+https://github.com/rust-lang/crates.io-index"
554source = "registry+https://github.com/rust-lang/crates.io-index"
555+dependencies = [
556+ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
557+]
560
558
561[[package]]
559[[package]]
562−name = "plotters"
560+name = "quote"
563−version = "0.2.12"
561+version = "0.6.11"
564source = "registry+https://github.com/rust-lang/crates.io-index"
562source = "registry+https://github.com/rust-lang/crates.io-index"
565dependencies = [
563dependencies = [
566− "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
567− "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
568− "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
569− "web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
564+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
570]
565]
571
566
572[[package]]
567[[package]]
573−name = "proc-macro-hack"
568+name = "quote"
574−version = "0.5.11"
569+version = "1.0.2"
575source = "registry+https://github.com/rust-lang/crates.io-index"
570source = "registry+https://github.com/rust-lang/crates.io-index"
576dependencies = [
571dependencies = [
577− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
578− "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
579− "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
572+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
580]
573]
581
574
582[[package]]
575[[package]]
583−name = "proc-macro-nested"
576+name = "rand_core"
584−version = "0.1.3"
577+version = "0.5.1"
585source = "registry+https://github.com/rust-lang/crates.io-index"
578source = "registry+https://github.com/rust-lang/crates.io-index"
579+dependencies = [
580+ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
581+]
586
582
587[[package]]
583[[package]]
588−name = "proc-macro2"
584+name = "rand_os"
589−version = "1.0.18"
585+version = "0.2.2"
590source = "registry+https://github.com/rust-lang/crates.io-index"
586source = "registry+https://github.com/rust-lang/crates.io-index"
591dependencies = [
587dependencies = [
588+ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
592− "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
589+ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
593]
590]
594
591
595[[package]]
592[[package]]
596−name = "quote"
593+name = "rand_xoshiro"
597−version = "1.0.2"
594+version = "0.3.1"
598source = "registry+https://github.com/rust-lang/crates.io-index"
595source = "registry+https://github.com/rust-lang/crates.io-index"
599dependencies = [
596dependencies = [
600− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
597+ "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
601]
598]
602
599
603[[package]]
600[[package]]
604name = "rayon"
601name = "rayon"
605−version = "1.3.0"
602+version = "1.2.1"
606source = "registry+https://github.com/rust-lang/crates.io-index"
603source = "registry+https://github.com/rust-lang/crates.io-index"
607dependencies = [
604dependencies = [
608 "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
605 "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
609− "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
606+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
610− "rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
607+ "rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
611]
608]
612
609
613[[package]]
610[[package]]
614name = "rayon-core"
611name = "rayon-core"
615−version = "1.7.0"
612+version = "1.6.1"
616source = "registry+https://github.com/rust-lang/crates.io-index"
613source = "registry+https://github.com/rust-lang/crates.io-index"
617dependencies = [
614dependencies = [
618 "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
615 "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
619 "crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
616 "crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
620 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
617 "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
621− "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
618+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
622− "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
619+ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
623]
620]
624
621
625[[package]]
622[[package]]
626−name = "regex"
623+name = "redox_syscall"
627−version = "1.3.3"
624+version = "0.1.52"
625+source = "registry+https://github.com/rust-lang/crates.io-index"
626+
627+[[package]]
628+name = "redox_termios"
629+version = "0.1.1"
628source = "registry+https://github.com/rust-lang/crates.io-index"
630source = "registry+https://github.com/rust-lang/crates.io-index"
629dependencies = [
631dependencies = [
630− "regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
632+ "redox_syscall 0.1.52 (registry+https://github.com/rust-lang/crates.io-index)",
631]
633]
632
634
633[[package]]
635[[package]]
@@ -635,14 +637,9 @@ name = "regex-automata"
635version = "0.1.8"
637version = "0.1.8"
636source = "registry+https://github.com/rust-lang/crates.io-index"
638source = "registry+https://github.com/rust-lang/crates.io-index"
637dependencies = [
639dependencies = [
638− "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
640+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
639]
641]
640
642
641−[[package]]
642−name = "regex-syntax"
643−version = "0.6.13"
644−source = "registry+https://github.com/rust-lang/crates.io-index"
645−
646[[package]]
643[[package]]
647name = "rustc_version"
644name = "rustc_version"
648version = "0.2.3"
645version = "0.2.3"
@@ -653,12 +650,12 @@ dependencies = [
653
650
654[[package]]
651[[package]]
655name = "ryu"
652name = "ryu"
656−version = "1.0.2"
653+version = "1.0.0"
657source = "registry+https://github.com/rust-lang/crates.io-index"
654source = "registry+https://github.com/rust-lang/crates.io-index"
658
655
659[[package]]
656[[package]]
660name = "same-file"
657name = "same-file"
661−version = "1.0.5"
658+version = "1.0.4"
662source = "registry+https://github.com/rust-lang/crates.io-index"
659source = "registry+https://github.com/rust-lang/crates.io-index"
663dependencies = [
660dependencies = [
664 "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
661 "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -689,39 +686,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
689
686
690[[package]]
687[[package]]
691name = "serde"
688name = "serde"
692−version = "1.0.114"
689+version = "1.0.103"
693−source = "registry+https://github.com/rust-lang/crates.io-index"
694−dependencies = [
695− "serde_derive 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
696−]
697−
698−[[package]]
699−name = "serde_cbor"
700−version = "0.11.1"
701source = "registry+https://github.com/rust-lang/crates.io-index"
690source = "registry+https://github.com/rust-lang/crates.io-index"
702dependencies = [
691dependencies = [
703− "half 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
704− "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
692+ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
705]
693]
706
694
707[[package]]
695[[package]]
708name = "serde_derive"
696name = "serde_derive"
709−version = "1.0.114"
697+version = "1.0.103"
710source = "registry+https://github.com/rust-lang/crates.io-index"
698source = "registry+https://github.com/rust-lang/crates.io-index"
711dependencies = [
699dependencies = [
712− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
700+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
713 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
701 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
714− "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
702+ "syn 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
715]
703]
716
704
717[[package]]
705[[package]]
718name = "serde_json"
706name = "serde_json"
719−version = "1.0.57"
707+version = "1.0.40"
720source = "registry+https://github.com/rust-lang/crates.io-index"
708source = "registry+https://github.com/rust-lang/crates.io-index"
721dependencies = [
709dependencies = [
722− "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
710+ "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
723− "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
711+ "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
724− "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
712+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
725]
713]
726
714
727[[package]]
715[[package]]
@@ -736,39 +724,54 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
736
724
737[[package]]
725[[package]]
738name = "syn"
726name = "syn"
739−version = "1.0.33"
727+version = "1.0.9"
740source = "registry+https://github.com/rust-lang/crates.io-index"
728source = "registry+https://github.com/rust-lang/crates.io-index"
741dependencies = [
729dependencies = [
742− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
730+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
743 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
731 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
744 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
732 "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
745]
733]
746
734
735+[[package]]
736+name = "termion"
737+version = "1.5.1"
738+source = "registry+https://github.com/rust-lang/crates.io-index"
739+dependencies = [
740+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
741+ "redox_syscall 0.1.52 (registry+https://github.com/rust-lang/crates.io-index)",
742+ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
743+]
744+
747[[package]]
745[[package]]
748name = "textwrap"
746name = "textwrap"
749version = "0.11.0"
747version = "0.11.0"
750source = "registry+https://github.com/rust-lang/crates.io-index"
748source = "registry+https://github.com/rust-lang/crates.io-index"
751dependencies = [
749dependencies = [
752− "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
750+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
753]
751]
754
752
755[[package]]
753[[package]]
756name = "tinytemplate"
754name = "tinytemplate"
757−version = "1.1.0"
755+version = "1.0.1"
758source = "registry+https://github.com/rust-lang/crates.io-index"
756source = "registry+https://github.com/rust-lang/crates.io-index"
759dependencies = [
757dependencies = [
760− "serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)",
758+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
761− "serde_json 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)",
759+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
762]
760]
763
761
764[[package]]
762[[package]]
765name = "unicode-segmentation"
763name = "unicode-segmentation"
766−version = "1.6.0"
764+version = "1.2.1"
767source = "registry+https://github.com/rust-lang/crates.io-index"
765source = "registry+https://github.com/rust-lang/crates.io-index"
768
766
769[[package]]
767[[package]]
770name = "unicode-width"
768name = "unicode-width"
771−version = "0.1.6"
769+version = "0.1.5"
770+source = "registry+https://github.com/rust-lang/crates.io-index"
771+
772+[[package]]
773+name = "unicode-xid"
774+version = "0.1.0"
772source = "registry+https://github.com/rust-lang/crates.io-index"
775source = "registry+https://github.com/rust-lang/crates.io-index"
773
776
774[[package]]
777[[package]]
@@ -783,14 +786,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
783
786
784[[package]]
787[[package]]
785name = "walkdir"
788name = "walkdir"
786−version = "2.3.1"
789+version = "2.2.7"
787source = "registry+https://github.com/rust-lang/crates.io-index"
790source = "registry+https://github.com/rust-lang/crates.io-index"
788dependencies = [
791dependencies = [
789− "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
792+ "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
790− "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
793+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
791 "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
794 "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
792]
795]
793
796
797+[[package]]
798+name = "wasi"
799+version = "0.7.0"
800+source = "registry+https://github.com/rust-lang/crates.io-index"
801+
794[[package]]
802[[package]]
795name = "wasm-bindgen"
803name = "wasm-bindgen"
796version = "0.2.55"
804version = "0.2.55"
@@ -806,14 +814,24 @@ version = "0.2.55"
806source = "registry+https://github.com/rust-lang/crates.io-index"
814source = "registry+https://github.com/rust-lang/crates.io-index"
807dependencies = [
815dependencies = [
808 "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
816 "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
809− "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
817+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
810− "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
818+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
811− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
819+ "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)",
820 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
813− "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
821+ "syn 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
814 "wasm-bindgen-shared 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
822 "wasm-bindgen-shared 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
815]
823]
816
824
825+[[package]]
826+name = "wasm-bindgen-futures"
827+version = "0.3.19"
828+source = "registry+https://github.com/rust-lang/crates.io-index"
829+dependencies = [
830+ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
831+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
832+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
833+]
834+
817[[package]]
835[[package]]
818name = "wasm-bindgen-futures"
836name = "wasm-bindgen-futures"
819version = "0.4.5"
837version = "0.4.5"
@@ -839,9 +857,9 @@ name = "wasm-bindgen-macro-support"
839version = "0.2.55"
857version = "0.2.55"
840source = "registry+https://github.com/rust-lang/crates.io-index"
858source = "registry+https://github.com/rust-lang/crates.io-index"
841dependencies = [
859dependencies = [
842− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
860+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
843 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
861 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
844− "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
862+ "syn 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
845 "wasm-bindgen-backend 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
863 "wasm-bindgen-backend 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
846 "wasm-bindgen-shared 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
864 "wasm-bindgen-shared 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
847]
865]
@@ -851,6 +869,20 @@ name = "wasm-bindgen-shared"
851version = "0.2.55"
869version = "0.2.55"
852source = "registry+https://github.com/rust-lang/crates.io-index"
870source = "registry+https://github.com/rust-lang/crates.io-index"
853
871
872+[[package]]
873+name = "wasm-bindgen-test"
874+version = "0.2.42"
875+source = "registry+https://github.com/rust-lang/crates.io-index"
876+dependencies = [
877+ "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
878+ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
879+ "js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)",
880+ "scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
881+ "wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
882+ "wasm-bindgen-futures 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
883+ "wasm-bindgen-test-macro 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)",
884+]
885+
854[[package]]
886[[package]]
855name = "wasm-bindgen-test"
887name = "wasm-bindgen-test"
856version = "0.3.5"
888version = "0.3.5"
@@ -864,12 +896,21 @@ dependencies = [
864 "wasm-bindgen-test-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
896 "wasm-bindgen-test-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
865]
897]
866
898
899+[[package]]
900+name = "wasm-bindgen-test-macro"
901+version = "0.2.42"
902+source = "registry+https://github.com/rust-lang/crates.io-index"
903+dependencies = [
904+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
905+ "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
906+]
907+
867[[package]]
908[[package]]
868name = "wasm-bindgen-test-macro"
909name = "wasm-bindgen-test-macro"
869version = "0.3.5"
910version = "0.3.5"
870source = "registry+https://github.com/rust-lang/crates.io-index"
911source = "registry+https://github.com/rust-lang/crates.io-index"
871dependencies = [
912dependencies = [
872− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
913+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
873 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
914 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
874]
915]
875
916
@@ -880,10 +921,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
880dependencies = [
921dependencies = [
881 "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
922 "anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
882 "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
923 "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
883− "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
924+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
884− "proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
925+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
885 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
926 "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
886− "syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
927+ "syn 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
887 "wasm-bindgen-backend 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
928 "wasm-bindgen-backend 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)",
888 "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
929 "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
889]
930]
@@ -910,7 +951,7 @@ dependencies = [
910
951
911[[package]]
952[[package]]
912name = "winapi"
953name = "winapi"
913−version = "0.3.8"
954+version = "0.3.7"
914source = "registry+https://github.com/rust-lang/crates.io-index"
955source = "registry+https://github.com/rust-lang/crates.io-index"
915dependencies = [
956dependencies = [
916 "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
957 "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -927,7 +968,7 @@ name = "winapi-util"
927version = "0.1.2"
968version = "0.1.2"
928source = "registry+https://github.com/rust-lang/crates.io-index"
969source = "registry+https://github.com/rust-lang/crates.io-index"
929dependencies = [
970dependencies = [
930− "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
971+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
931]
972]
932
973
933[[package]]
974[[package]]
@@ -937,99 +978,104 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
937
978
938[metadata]
979[metadata]
939"checksum anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "9267dff192e68f3399525901e709a48c1d3982c9c072fa32f2127a0cb0babf14"
980"checksum anyhow 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "9267dff192e68f3399525901e709a48c1d3982c9c072fa32f2127a0cb0babf14"
940−"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
981+"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
941"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
982"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
942−"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
983+"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
943"checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
984"checksum bstr 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
944"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708"
985"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708"
945−"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
986+"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
946−"checksum cast 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0"
987+"checksum cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427"
947"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
988"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
948"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
989"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
949"checksum console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
990"checksum console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
950−"checksum console_log 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "501a375961cef1a0d44767200e66e4a559283097e91d0730b1d75dfb2f8a1494"
991+"checksum console_log 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e7871d2947441b0fdd8e2bd1ce2a2f75304f896582c0d572162d48290683c48"
951−"checksum criterion 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "70daa7ceec6cf143990669a04c7df13391d55fb27bd4079d252fca774ba244d8"
992+"checksum criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "938703e165481c8d612ea3479ac8342e5615185db37765162e762ec3523e2fc6"
952−"checksum criterion-plot 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e022feadec601fba1649cfa83586381a4ad31c6bf3a9ab7d408118b05dd9889d"
993+"checksum criterion-plot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eccdc6ce8bbe352ca89025bee672aa6d24f4eb8c53e3a8b5d1bc58011da072a2"
953"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
994"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
954"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
995"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
955"checksum crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dfd6515864a82d2f877b42813d4553292c6659498c9a2aa31bab5a15243c2700"
996"checksum crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dfd6515864a82d2f877b42813d4553292c6659498c9a2aa31bab5a15243c2700"
956"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
997"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
957"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
998"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
958"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
999"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
959−"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
1000+"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
1001+"checksum futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "45dc39533a6cae6da2b56da48edae506bb767ec07370f86f70fc062e9d435869"
960−"checksum futures 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1e05b85ec287aac0dc34db7d4a569323df697f9c55b99b15d6b4ef8cde49f613"
1002+"checksum futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b6f16056ecbb57525ff698bb955162d0cd03bee84e6241c27ff75c08d8ca5987"
961−"checksum futures-channel 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f366ad74c28cca6ba456d95e6422883cfb4b252a83bed929c83abfdbbf2967d5"
1003+"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86"
962−"checksum futures-core 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399"
1004+"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866"
963−"checksum futures-executor 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "10d6bb888be1153d3abeb9006b11b02cf5e9b209fda28693c31ae1e4e012e314"
1005+"checksum futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e274736563f686a837a0568b478bdabfeaec2dca794b5649b04e2fe1627c231"
964−"checksum futures-io 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "de27142b013a8e869c14957e6d2edeef89e97c289e69d042ee3a49acd8b51789"
1006+"checksum futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e676577d229e70952ab25f3945795ba5b16d63ca794ca9d2c860e5595d20b5ff"
965−"checksum futures-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39"
1007+"checksum futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "52e7c56c15537adb4f76d0b7a76ad131cb4d2f4f32d3b0bcabcbe1c7c5e87764"
966−"checksum futures-sink 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f2032893cb734c7a05d85ce0cc8b8c4075278e93b24b66f9de99d6eb0fa8acc"
1008+"checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16"
967−"checksum futures-task 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626"
1009+"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9"
968−"checksum futures-util 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8764574ff08b701a084482c3c7031349104b07ac897393010494beaa18ce32c6"
1010+"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76"
969"checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
1011"checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
970−"checksum half 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d36fab90f82edc3c747f9d438e06cf0a491055896f2a279638bb5beed6c40177"
1012+"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
971"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
1013"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
972−"checksum hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120"
973−"checksum itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
1014+"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
974−"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
1015+"checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
975"checksum js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)" = "1c840fdb2167497b0bd0db43d6dfe61e91637fa72f9d061f8bd17ddc44ba6414"
1016"checksum js-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)" = "1c840fdb2167497b0bd0db43d6dfe61e91637fa72f9d061f8bd17ddc44ba6414"
976−"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
1017+"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
977"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
1018"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
978−"checksum log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
1019+"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
979"checksum longest-increasing-subsequence 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3bd0dd2cd90571056fdb71f6275fada10131182f84899f4b2a916e565d81d86"
1020"checksum longest-increasing-subsequence 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3bd0dd2cd90571056fdb71f6275fada10131182f84899f4b2a916e565d81d86"
980−"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
1021+"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
981"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
1022"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
982"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
1023"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
983−"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
1024+"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
984−"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
1025+"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
985−"checksum once_cell 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b1c601810575c99596d4afc46f78a678c80105117c379eb3650cf99b8a21ce5b"
1026+"checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
986−"checksum oorandom 11.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ebcec7c9c2a95cacc7cd0ecb89d8a8454eca13906f6deb55258ffff0adeb9405"
987−"checksum pin-project 0.4.16 (registry+https://github.com/rust-lang/crates.io-index)" = "81d480cb4e89522ccda96d0eed9af94180b7a5f93fb28f66e1fd7d68431663d1"
988−"checksum pin-project-internal 0.4.16 (registry+https://github.com/rust-lang/crates.io-index)" = "a82996f11efccb19b685b14b5df818de31c1edcee3daa256ab5775dd98e72feb"
989−"checksum pin-utils 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
990−"checksum plotters 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "4e3bb8da247d27ae212529352020f3e5ee16e83c0c258061d27b08ab92675eeb"
991"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
1027"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
992"checksum proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
1028"checksum proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
993−"checksum proc-macro2 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa"
1029+"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
1030+"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
1031+"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
994"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
1032"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
995−"checksum rayon 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098"
1033+"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
996−"checksum rayon-core 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9"
1034+"checksum rand_os 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a788ae3edb696cfcba1c19bfd388cc4b8c21f8a408432b199c072825084da58a"
1035+"checksum rand_xoshiro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0e18c91676f670f6f0312764c759405f13afb98d5d73819840cf72a518487bff"
1036+"checksum rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "43739f8831493b276363637423d3622d4bd6394ab6f0a9c4a552e208aeb7fddd"
1037+"checksum rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8bf17de6f23b05473c437eb958b9c850bfc8af0961fe17b4cc92d5a627b4791"
1038+"checksum redox_syscall 0.1.52 (registry+https://github.com/rust-lang/crates.io-index)" = "d32b3053e5ced86e4bc0411fec997389532bf56b000e66cb4884eeeb41413d69"
997−"checksum regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b5508c1941e4e7cb19965abef075d35a9a8b5cdf0846f30b4050e9b55dc55e87"
1039+"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
998"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
1040"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
999−"checksum regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e734e891f5b408a29efbf8309e656876276f49ab6a6ac208600b4419bd893d90"
1000"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
1041"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
1001−"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
1042+"checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997"
1002−"checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
1043+"checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267"
1003"checksum scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
1044"checksum scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
1004"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
1045"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
1005"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
1046"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
1006"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
1047"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
1007−"checksum serde 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)" = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3"
1048+"checksum serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
1008−"checksum serde_cbor 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e18acfa2f90e8b735b2836ab8d538de304cbb6729a7360729ea5a895d15a622"
1009−"checksum serde_derive 1.0.114 (registry+https://github.com/rust-lang/crates.io-index)" = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e"
1049+"checksum serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
1010−"checksum serde_json 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)" = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c"
1050+"checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704"
1011"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
1051"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
1012"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
1052"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
1013−"checksum syn 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "e8d5d96e8cbb005d6959f119f773bfaebb5684296108fb32600c00cde305b2cd"
1053+"checksum syn 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "f89693ae015201f8de93fd96bde2d065f8bfc3f97ce006d5bc9f900b97c0c7c0"
1054+"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
1014"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
1055"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
1015−"checksum tinytemplate 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d3dc76004a03cec1c5932bca4cdc2e39aaa798e3f82363dd94f9adf6098c12f"
1056+"checksum tinytemplate 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7655088894274afb52b807bd3c87072daa1fedd155068b8705cabfd628956115"
1016−"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
1057+"checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1"
1017−"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
1058+"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
1059+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
1018"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
1060"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
1019"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
1061"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
1020−"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
1062+"checksum walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1"
1063+"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
1021"checksum wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "29ae32af33bacd663a9a28241abecf01f2be64e6a185c6139b04f18b6385c5f2"
1064"checksum wasm-bindgen 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "29ae32af33bacd663a9a28241abecf01f2be64e6a185c6139b04f18b6385c5f2"
1022"checksum wasm-bindgen-backend 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "1845584bd3593442dc0de6e6d9f84454a59a057722f36f005e44665d6ab19d85"
1065"checksum wasm-bindgen-backend 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "1845584bd3593442dc0de6e6d9f84454a59a057722f36f005e44665d6ab19d85"
1066+"checksum wasm-bindgen-futures 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)" = "0ad171fc1f6e43f97d155d27f4ee5657bd8aa5cce7c497ef3a0a0c5b44618b2d"
1023"checksum wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1458706aa1b8fe6898d19433c9f110d93a05d1f22ae6adf55810409a94df34b4"
1067"checksum wasm-bindgen-futures 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1458706aa1b8fe6898d19433c9f110d93a05d1f22ae6adf55810409a94df34b4"
1024"checksum wasm-bindgen-macro 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "87fcc747e6b73c93d22c947a6334644d22cfec5abd8b66238484dc2b0aeb9fe4"
1068"checksum wasm-bindgen-macro 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "87fcc747e6b73c93d22c947a6334644d22cfec5abd8b66238484dc2b0aeb9fe4"
1025"checksum wasm-bindgen-macro-support 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "3dc4b3f2c4078c8c4a5f363b92fcf62604c5913cbd16c6ff5aaf0f74ec03f570"
1069"checksum wasm-bindgen-macro-support 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "3dc4b3f2c4078c8c4a5f363b92fcf62604c5913cbd16c6ff5aaf0f74ec03f570"
1026"checksum wasm-bindgen-shared 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "ca0b78d6d3be8589b95d1d49cdc0794728ca734adf36d7c9f07e6459508bb53d"
1070"checksum wasm-bindgen-shared 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "ca0b78d6d3be8589b95d1d49cdc0794728ca734adf36d7c9f07e6459508bb53d"
1071+"checksum wasm-bindgen-test 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)" = "8aed4ef1aa56f2ef4aff593c516de6a3e48711c703b3f7415c9151a7c9babd17"
1027"checksum wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ed5833682054e941db0b7e2b4877b61bbaafd680608e40d268e070d34558b305"
1072"checksum wasm-bindgen-test 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ed5833682054e941db0b7e2b4877b61bbaafd680608e40d268e070d34558b305"
1073+"checksum wasm-bindgen-test-macro 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)" = "eb477c50f3c9a9ecd99c78fb9bd3b6599d414b918d5f72165b12c53738011ae1"
1028"checksum wasm-bindgen-test-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "9c5dcf70d21d0ff0ea5cdb97dba9a9b56ddad4a9bd10c8912eedc55618be022f"
1074"checksum wasm-bindgen-test-macro 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "9c5dcf70d21d0ff0ea5cdb97dba9a9b56ddad4a9bd10c8912eedc55618be022f"
1029"checksum wasm-bindgen-webidl 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "3126356474ceb717c8fb5549ae387c9fbf4872818454f4d87708bee997214bb5"
1075"checksum wasm-bindgen-webidl 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "3126356474ceb717c8fb5549ae387c9fbf4872818454f4d87708bee997214bb5"
1030"checksum web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)" = "98405c0a2e722ed3db341b4c5b70eb9fe0021621f7350bab76df93b09b649bbf"
1076"checksum web-sys 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)" = "98405c0a2e722ed3db341b4c5b70eb9fe0021621f7350bab76df93b09b649bbf"
1031"checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
1077"checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
1032−"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
1078+"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
1033"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1079"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1034"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
1080"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
1035"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1081"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
Cargo.toml+9−9
@@ -8,7 +8,7 @@ license = "MPL-2.0"
8name = "dodrio"
8name = "dodrio"
9readme = "./README.md"
9readme = "./README.md"
10repository = "https://github.com/fitzgen/dodrio"
10repository = "https://github.com/fitzgen/dodrio"
11−version = "0.2.0"
11+version = "0.1.0"
12
12
13[badges]
13[badges]
14travis-ci = { repository = "fitzgen/dodrio" }
14travis-ci = { repository = "fitzgen/dodrio" }
@@ -46,9 +46,9 @@ bumpalo = "2.6.0"
46cfg-if = "0.1.10"
46cfg-if = "0.1.10"
47fxhash = "0.2.1"
47fxhash = "0.2.1"
48js-sys = "0.3.32"
48js-sys = "0.3.32"
49−log = { version = "0.4.11", optional = true }
49+log = { version = "0.4.8", optional = true }
50longest-increasing-subsequence = "0.1.0"
50longest-increasing-subsequence = "0.1.0"
51−serde = { version = "1.0.114", optional = true }
51+serde = { version = "1.0.103", optional = true }
52wasm-bindgen = "0.2.55"
52wasm-bindgen = "0.2.55"
53wasm-bindgen-futures = "0.4.5"
53wasm-bindgen-futures = "0.4.5"
54
54
@@ -64,14 +64,14 @@ features = [
64]
64]
65
65
66[dev-dependencies]
66[dev-dependencies]
67−console_log = "0.2.0"
67+console_log = "0.1.2"
68−dodrio-js-api = { version = "=0.2.0", path = "./crates/js-api" }
68+dodrio-js-api = { version = "=0.1.0", path = "./crates/js-api" }
69−futures = "0.3.5"
69+futures = "0.3.1"
70−log = "0.4.11"
70+log = "0.4.8"
71wasm-bindgen-test = "0.3.5"
71wasm-bindgen-test = "0.3.5"
72
72
73[dev-dependencies.web-sys]
73[dev-dependencies.web-sys]
74−version = "0.3.32"
74+version = "0.3.19"
75features = [
75features = [
76 "Attr",
76 "Attr",
77 "EventTarget",
77 "EventTarget",
@@ -81,7 +81,7 @@ features = [
81]
81]
82
82
83[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
83[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
84−criterion = "0.3.3"
84+criterion = "0.3.0"
85
85
86[profile.bench]
86[profile.bench]
87debug = true
87debug = true
benches/benches.rs+4−4
@@ -17,16 +17,16 @@ use std::convert::TryInto;
17
17
18/// The simplest thing we can render: `<div/>`.
18/// The simplest thing we can render: `<div/>`.
19struct Empty;
19struct Empty;
20−impl<'a> Render<'a> for Empty {
20+impl Render for Empty {
21− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
21+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
22 div(&cx).finish()
22 div(&cx).finish()
23 }
23 }
24}
24}
25
25
26/// Render a list that is `self.0` items long, has attributes and listeners.
26/// Render a list that is `self.0` items long, has attributes and listeners.
27struct SimpleList(usize);
27struct SimpleList(usize);
28−impl<'a> Render<'a> for SimpleList {
28+impl Render for SimpleList {
29− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
29+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
30 let mut children = bumpalo::collections::Vec::with_capacity_in(self.0, cx.bump);
30 let mut children = bumpalo::collections::Vec::with_capacity_in(self.0, cx.bump);
31 children.extend((0..self.0).map(|_| {
31 children.extend((0..self.0).map(|_| {
32 li(&cx)
32 li(&cx)
crates/js-api/Cargo.toml+4−4
@@ -7,15 +7,15 @@ keywords = ["javascript", "js", "vdom", "virtual-dom"]
7license = "MPL-2.0"
7license = "MPL-2.0"
8name = "dodrio-js-api"
8name = "dodrio-js-api"
9repository = "https://github.com/fitzgen/dodrio"
9repository = "https://github.com/fitzgen/dodrio"
10−version = "0.2.0"
10+version = "0.1.0"
11
11
12[badges]
12[badges]
13travis-ci = { repository = "fitzgen/dodrio" }
13travis-ci = { repository = "fitzgen/dodrio" }
14
14
15[dependencies]
15[dependencies]
16−dodrio = { version = "=0.2.0", path = "../.." }
16+dodrio = { version = "=0.1.0", path = "../.." }
17−wasm-bindgen = "0.2.55"
17+wasm-bindgen = "0.2.42"
18−js-sys = "0.3.32"
18+js-sys = "0.3.19"
19wasm-bindgen-futures = "0.4.5"
19wasm-bindgen-futures = "0.4.5"
20
20
21[dev-dependencies]
21[dev-dependencies]
crates/js-api/src/lib.rs+4−4
@@ -99,8 +99,8 @@ impl GreetingViaJs {
99
99
100/// And finally the `Render` implementation! This adds a `<p>` element and some
100/// And finally the `Render` implementation! This adds a `<p>` element and some
101/// text around whatever the inner JS `Greeting` component renders.
101/// text around whatever the inner JS `Greeting` component renders.
102−impl<'a> Render<'a> for GreetingViaJs {
102+impl Render for GreetingViaJs {
103− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
103+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
104 use dodrio::builder::*;
104 use dodrio::builder::*;
105 p(&cx)
105 p(&cx)
106 .children([
106 .children([
@@ -216,8 +216,8 @@ impl JsRender {
216 }
216 }
217}
217}
218
218
219−impl<'a> Render<'a> for JsRender {
219+impl Render for JsRender {
220− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
220+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
221 create(cx, self.render())
221 create(cx, self.render())
222 }
222 }
223}
223}
examples/counter/Cargo.toml+5−5
@@ -11,13 +11,13 @@ crate-type = ["cdylib"]
11
11
12[dependencies]
12[dependencies]
13console_error_panic_hook = "0.1.6"
13console_error_panic_hook = "0.1.6"
14−console_log = "0.2.0"
14+console_log = "0.1.2"
15dodrio = { path = "../.." }
15dodrio = { path = "../.." }
16−log = "0.4.11"
16+log = "0.4.8"
17−wasm-bindgen = "0.2.55"
17+wasm-bindgen = "0.2.42"
18
18
19[dependencies.web-sys]
19[dependencies.web-sys]
20−version = "0.3.32"
20+version = "0.3.19"
21features = [
21features = [
22 "console",
22 "console",
23 "Document",
23 "Document",
@@ -30,4 +30,4 @@ features = [
30]
30]
31
31
32[dev-dependencies]
32[dev-dependencies]
33−wasm-bindgen-test = "0.3.5"
33+wasm-bindgen-test = "0.2.42"
examples/counter/src/lib.rs+2−2
@@ -26,8 +26,8 @@ impl Counter {
26
26
27// The `Render` implementation for `Counter`s displays the current count and has
27// The `Render` implementation for `Counter`s displays the current count and has
28// buttons to increment and decrement the count.
28// buttons to increment and decrement the count.
29−impl<'a> Render<'a> for Counter {
29+impl Render for Counter {
30− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
30+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
31 use dodrio::builder::*;
31 use dodrio::builder::*;
32
32
33 // Stringify the count as a bump-allocated string.
33 // Stringify the count as a bump-allocated string.
examples/game-of-life/Cargo.toml+6−5
@@ -11,13 +11,14 @@ crate-type = ["cdylib"]
11
11
12[dependencies]
12[dependencies]
13dodrio = { path = "../.." }
13dodrio = { path = "../.." }
14−wasm-bindgen = "0.2.55"
14+wasm-bindgen = "0.2.42"
15console_error_panic_hook = "0.1.6"
15console_error_panic_hook = "0.1.6"
16−js-sys = "0.3.32"
16+js-sys = "0.3.19"
17−wasm-bindgen-futures = "0.4.5"
17+wasm-bindgen-futures = "0.3.19"
18+futures = "0.1.28"
18
19
19[dependencies.web-sys]
20[dependencies.web-sys]
20−version = "0.3.32"
21+version = "0.3.19"
21features = [
22features = [
22 "Document",
23 "Document",
23 "HtmlElement",
24 "HtmlElement",
@@ -26,4 +27,4 @@ features = [
26]
27]
27
28
28[dev-dependencies]
29[dev-dependencies]
29−wasm-bindgen-test = "0.3.5"
30+wasm-bindgen-test = "0.2.42"
examples/game-of-life/src/lib.rs+12−17
@@ -1,4 +1,5 @@
1use dodrio::{bumpalo, Node, Render, RenderContext, Vdom};
1use dodrio::{bumpalo, Node, Render, RenderContext, Vdom};
2+use futures::prelude::*;
2use std::cell::RefCell;
3use std::cell::RefCell;
3use std::rc::Rc;
4use std::rc::Rc;
4use wasm_bindgen::{prelude::*, JsCast};
5use wasm_bindgen::{prelude::*, JsCast};
@@ -126,8 +127,8 @@ impl Universe {
126}
127}
127
128
128/// The rendering implementation for our Game of Life.
129/// The rendering implementation for our Game of Life.
129−impl<'a> Render<'a> for Universe {
130+impl Render for Universe {
130− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
131+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
131 use dodrio::builder::*;
132 use dodrio::builder::*;
132
133
133 let mut rows = bumpalo::collections::Vec::with_capacity_in(self.height as usize, cx.bump);
134 let mut rows = bumpalo::collections::Vec::with_capacity_in(self.height as usize, cx.bump);
@@ -177,26 +178,20 @@ pub fn run() {
177
178
178 // Kick off a loop that keeps computing a tick of the universe and then
179 // Kick off a loop that keeps computing a tick of the universe and then
179 // re-rendering on every animation frame.
180 // re-rendering on every animation frame.
180− let rc = <Rc<RefCell<Option<Closure<dyn FnMut()>>>>>::default();
181+ let rc: Rc<RefCell<Option<Closure<FnMut()>>>> = Rc::new(RefCell::new(None));
181 let rc2 = rc.clone();
182 let rc2 = rc.clone();
182 let window2 = window.clone();
183 let window2 = window.clone();
183 let weak = vdom.weak();
184 let weak = vdom.weak();
184 let f = Closure::wrap(Box::new(move || {
185 let f = Closure::wrap(Box::new(move || {
185 weak.schedule_render();
186 weak.schedule_render();
186
187
187− wasm_bindgen_futures::spawn_local({
188+ wasm_bindgen_futures::spawn_local(
188− let weak = weak.clone();
189− async move {
190− let fut = weak.with_component(|root| {
189+ weak.with_component(|root| {
191− let universe = root.unwrap_mut::<Universe>();
190+ let universe = root.unwrap_mut::<Universe>();
192− universe.tick();
191+ universe.tick();
193− });
192+ })
194−
195− if fut.await.is_err() {
196− wasm_bindgen::throw_str("impossible, we always keep the vdom alive");
193+ .map_err(|_| wasm_bindgen::throw_str("impossible, we always keep the vdom alive")),
197− }
198− }
199− });
194+ );
200
195
201 window
196 window
202 .request_animation_frame(
197 .request_animation_frame(
@@ -207,7 +202,7 @@ pub fn run() {
207 .unchecked_ref::<js_sys::Function>(),
202 .unchecked_ref::<js_sys::Function>(),
208 )
203 )
209 .unwrap_throw();
204 .unwrap_throw();
210− }) as Box<dyn FnMut()>);
205+ }) as Box<FnMut()>);
211 window2
206 window2
212 .request_animation_frame(f.as_ref().unchecked_ref::<js_sys::Function>())
207 .request_animation_frame(f.as_ref().unchecked_ref::<js_sys::Function>())
213 .unwrap_throw();
208 .unwrap_throw();
examples/hello-world/Cargo.toml+3−3
@@ -11,11 +11,11 @@ crate-type = ["cdylib"]
11
11
12[dependencies]
12[dependencies]
13dodrio = { path = "../.." }
13dodrio = { path = "../.." }
14−wasm-bindgen = "0.2.55"
14+wasm-bindgen = "0.2.42"
15console_error_panic_hook = "0.1.6"
15console_error_panic_hook = "0.1.6"
16
16
17[dependencies.web-sys]
17[dependencies.web-sys]
18−version = "0.3.32"
18+version = "0.3.19"
19features = [
19features = [
20 "Document",
20 "Document",
21 "HtmlElement",
21 "HtmlElement",
@@ -24,4 +24,4 @@ features = [
24]
24]
25
25
26[dev-dependencies]
26[dev-dependencies]
27−wasm-bindgen-test = "0.3.5"
27+wasm-bindgen-test = "0.2.42"
examples/hello-world/src/lib.rs+2−2
@@ -10,8 +10,8 @@ struct Hello {
10
10
11// The `Render` implementation describes how to render a `Hello` component into
11// The `Render` implementation describes how to render a `Hello` component into
12// HTML.
12// HTML.
13−impl<'a> Render<'a> for Hello {
13+impl Render for Hello {
14− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
14+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
15 let msg = bumpalo::format!(in cx.bump, "Hello, {}!", self.who);
15 let msg = bumpalo::format!(in cx.bump, "Hello, {}!", self.who);
16 let msg = msg.into_bump_str();
16 let msg = msg.into_bump_str();
17 p(&cx).children([text(msg)]).finish()
17 p(&cx).children([text(msg)]).finish()
examples/input-form/Cargo.toml+3−3
@@ -11,11 +11,11 @@ crate-type = ["cdylib"]
11
11
12[dependencies]
12[dependencies]
13dodrio = { path = "../.." }
13dodrio = { path = "../.." }
14−wasm-bindgen = "0.2.55"
14+wasm-bindgen = "0.2.42"
15console_error_panic_hook = "0.1.6"
15console_error_panic_hook = "0.1.6"
16
16
17[dependencies.web-sys]
17[dependencies.web-sys]
18−version = "0.3.32"
18+version = "0.3.19"
19features = [
19features = [
20 "console",
20 "console",
21 "Document",
21 "Document",
@@ -29,4 +29,4 @@ features = [
29]
29]
30
30
31[dev-dependencies]
31[dev-dependencies]
32−wasm-bindgen-test = "0.3.5"
32+wasm-bindgen-test = "0.2.42"
examples/input-form/src/lib.rs+2−2
@@ -23,8 +23,8 @@ impl SayHelloTo {
23
23
24// The `Render` implementation has a text `<input>` and a `<div>` that shows a
24// The `Render` implementation has a text `<input>` and a `<div>` that shows a
25// greeting to the `<input>`'s value.
25// greeting to the `<input>`'s value.
26−impl<'a> Render<'a> for SayHelloTo {
26+impl Render for SayHelloTo {
27− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
27+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
28 use dodrio::builder::*;
28 use dodrio::builder::*;
29
29
30 div(&cx)
30 div(&cx)
examples/js-component/Cargo.toml+3−3
@@ -12,12 +12,12 @@ crate-type = ["cdylib"]
12[dependencies]
12[dependencies]
13dodrio = { path = "../.." }
13dodrio = { path = "../.." }
14dodrio-js-api = { path = "../../crates/js-api" }
14dodrio-js-api = { path = "../../crates/js-api" }
15−wasm-bindgen = "0.2.55"
15+wasm-bindgen = "0.2.42"
16console_error_panic_hook = "0.1.6"
16console_error_panic_hook = "0.1.6"
17−js-sys = "0.3.32"
17+js-sys = "0.3.19"
18
18
19[dependencies.web-sys]
19[dependencies.web-sys]
20−version = "0.3.32"
20+version = "0.3.19"
21features = [
21features = [
22 "Document",
22 "Document",
23 "HtmlElement",
23 "HtmlElement",
examples/js-component/src/lib.rs+2−2
@@ -31,8 +31,8 @@ impl GreetingViaJs {
31
31
32/// Here's the `Render` implementation! This adds a `<p>` element and some text
32/// Here's the `Render` implementation! This adds a `<p>` element and some text
33/// around whatever the inner JS `Greeting` component renders.
33/// around whatever the inner JS `Greeting` component renders.
34−impl<'a> Render<'a> for GreetingViaJs {
34+impl Render for GreetingViaJs {
35− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
35+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
36 use dodrio::builder::*;
36 use dodrio::builder::*;
37 p(&cx)
37 p(&cx)
38 .children([text("JavaScript says: "), self.js.render(cx)])
38 .children([text("JavaScript says: "), self.js.render(cx)])
examples/moire/Cargo.toml+9−8
@@ -8,19 +8,20 @@ edition = "2018"
8crate-type = ["cdylib"]
8crate-type = ["cdylib"]
9
9
10[dependencies]
10[dependencies]
11−cfg-if = "0.1.10"
11+cfg-if = "0.1.9"
12dodrio = { path = "../.." }
12dodrio = { path = "../.." }
13+futures = "0.1.28"
13−log = "0.4.11"
14+log = "0.4.8"
14−wasm-bindgen = "0.2.55"
15+wasm-bindgen = "0.2.42"
15−wasm-bindgen-futures = "0.4.5"
16+wasm-bindgen-futures = "0.3.19"
16
17
17# Optional dependencies for logging.
18# Optional dependencies for logging.
18console_error_panic_hook = { optional = true, version = "0.1.6" }
19console_error_panic_hook = { optional = true, version = "0.1.6" }
19−console_log = { optional = true, version = "0.2.0" }
20+console_log = { optional = true, version = "0.1.2" }
20−js-sys = "0.3.32"
21+js-sys = "0.3.19"
21
22
22[dependencies.web-sys]
23[dependencies.web-sys]
23−version = "0.3.32"
24+version = "0.3.19"
24features = [
25features = [
25 "Document",
26 "Document",
26 "Element",
27 "Element",
@@ -34,7 +35,7 @@ features = [
34]
35]
35
36
36[dev-dependencies]
37[dev-dependencies]
37−wasm-bindgen-test = "0.3.5"
38+wasm-bindgen-test = "0.2.42"
38
39
39[features]
40[features]
40logging = [
41logging = [
examples/moire/src/lib.rs+4−4
@@ -27,7 +27,7 @@ pub fn run() {
27 let vdom = Vdom::new(&scene, component);
27 let vdom = Vdom::new(&scene, component);
28
28
29 // Kick off a loop that keeps re-rendering on every animation frame.
29 // Kick off a loop that keeps re-rendering on every animation frame.
30− let rc = <Rc<RefCell<Option<Closure<dyn FnMut()>>>>>::default();
30+ let rc: Rc<RefCell<Option<Closure<FnMut()>>>> = Rc::new(RefCell::new(None));
31 let rc2 = rc.clone();
31 let rc2 = rc.clone();
32 let window2 = window.clone();
32 let window2 = window.clone();
33 let weak = vdom.weak();
33 let weak = vdom.weak();
@@ -42,7 +42,7 @@ pub fn run() {
42 .unchecked_ref::<js_sys::Function>(),
42 .unchecked_ref::<js_sys::Function>(),
43 )
43 )
44 .unwrap_throw();
44 .unwrap_throw();
45− }) as Box<dyn FnMut()>);
45+ }) as Box<FnMut()>);
46 window2
46 window2
47 .request_animation_frame(f.as_ref().unchecked_ref::<js_sys::Function>())
47 .request_animation_frame(f.as_ref().unchecked_ref::<js_sys::Function>())
48 .unwrap_throw();
48 .unwrap_throw();
@@ -104,8 +104,8 @@ impl Moire {
104 }
104 }
105}
105}
106
106
107−impl<'a> Render<'a> for Moire {
107+impl Render for Moire {
108− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
108+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
109 use dodrio::builder::*;
109 use dodrio::builder::*;
110
110
111 let elapsed = web_sys::window()
111 let elapsed = web_sys::window()
examples/sierpinski-triangle/Cargo.toml+6−5
@@ -9,13 +9,14 @@ crate-type = ["cdylib"]
9
9
10[dependencies]
10[dependencies]
11dodrio = { path = "../.." }
11dodrio = { path = "../.." }
12−wasm-bindgen = "0.2.55"
12+wasm-bindgen = "0.2.42"
13console_error_panic_hook = "0.1.6"
13console_error_panic_hook = "0.1.6"
14−js-sys = "0.3.32"
14+js-sys = "0.3.19"
15−wasm-bindgen-futures = "0.4.5"
15+wasm-bindgen-futures = "0.3.19"
16+futures = "0.1.28"
16
17
17[dependencies.web-sys]
18[dependencies.web-sys]
18−version = "0.3.32"
19+version = "0.3.19"
19features = [
20features = [
20 "Document",
21 "Document",
21 "HtmlElement",
22 "HtmlElement",
@@ -25,4 +26,4 @@ features = [
25]
26]
26
27
27[dev-dependencies]
28[dev-dependencies]
28−wasm-bindgen-test = "0.3.5"
29+wasm-bindgen-test = "0.2.42"
examples/sierpinski-triangle/src/lib.rs+4−4
@@ -85,8 +85,8 @@ impl Container {
85 }
85 }
86}
86}
87
87
88−impl<'a> Render<'a> for Container {
88+impl Render for Container {
89− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
89+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
90 use dodrio::builder::div;
90 use dodrio::builder::div;
91
91
92 let elapsed = web_sys::window()
92 let elapsed = web_sys::window()
@@ -111,7 +111,7 @@ impl<'a> Render<'a> for Container {
111
111
112// Kick off a loop that keeps re-rendering on every animation frame.
112// Kick off a loop that keeps re-rendering on every animation frame.
113fn animate(window: Window, vdom: Vdom) {
113fn animate(window: Window, vdom: Vdom) {
114− let rc = <Rc<RefCell<Option<Closure<dyn FnMut()>>>>>::default();
114+ let rc: Rc<RefCell<Option<Closure<FnMut()>>>> = Rc::new(RefCell::new(None));
115 let rc2 = rc.clone();
115 let rc2 = rc.clone();
116 let window2 = window.clone();
116 let window2 = window.clone();
117 let weak = vdom.weak();
117 let weak = vdom.weak();
@@ -126,7 +126,7 @@ fn animate(window: Window, vdom: Vdom) {
126 .unchecked_ref::<js_sys::Function>(),
126 .unchecked_ref::<js_sys::Function>(),
127 )
127 )
128 .unwrap_throw();
128 .unwrap_throw();
129− }) as Box<dyn FnMut()>);
129+ }) as Box<FnMut()>);
130 window2
130 window2
131 .request_animation_frame(f.as_ref().unchecked_ref::<js_sys::Function>())
131 .request_animation_frame(f.as_ref().unchecked_ref::<js_sys::Function>())
132 .unwrap_throw();
132 .unwrap_throw();
examples/todomvc/Cargo.toml+11−10
@@ -5,21 +5,22 @@ name = "dodrio-todomvc"
5version = "0.1.0"
5version = "0.1.0"
6
6
7[dependencies]
7[dependencies]
8−cfg-if = "0.1.10"
8+cfg-if = "0.1.9"
9dodrio = { path = "../..", features = ["serde"] }
9dodrio = { path = "../..", features = ["serde"] }
10+futures = "0.1.28"
10−js-sys = "0.3.32"
11+js-sys = "0.3.19"
11−serde = { features = ["derive"], version = "1.0.114" }
12+serde = { features = ["derive"], version = "1.0.98" }
12−serde_json = "1.0.57"
13+serde_json = "1.0.40"
13−wasm-bindgen = "0.2.55"
14+wasm-bindgen = "0.2.42"
14−wasm-bindgen-futures = "0.4.5"
15+wasm-bindgen-futures = "0.3.19"
15
16
16# Optional dependencies for logging.
17# Optional dependencies for logging.
17console_error_panic_hook = { optional = true, version = "0.1.6" }
18console_error_panic_hook = { optional = true, version = "0.1.6" }
18−console_log = { optional = true, version = "0.2.0" }
19+console_log = { optional = true, version = "0.1.2" }
19−log = { optional = true, version = "0.4.11" }
20+log = { optional = true, version = "0.4.8" }
20
21
21[dependencies.web-sys]
22[dependencies.web-sys]
22−version = "0.3.32"
23+version = "0.3.19"
23features = [
24features = [
24 "Document",
25 "Document",
25 "Event",
26 "Event",
@@ -34,7 +35,7 @@ features = [
34]
35]
35
36
36[dev-dependencies]
37[dev-dependencies]
37−wasm-bindgen-test = "0.3.5"
38+wasm-bindgen-test = "0.2.42"
38
39
39[features]
40[features]
40logging = [
41logging = [
examples/todomvc/src/router.rs+19−22
@@ -4,6 +4,7 @@ use crate::todos::Todos;
4use crate::utils;
4use crate::utils;
5use crate::visibility::Visibility;
5use crate::visibility::Visibility;
6use dodrio::VdomWeak;
6use dodrio::VdomWeak;
7+use futures::prelude::*;
7use std::str::FromStr;
8use std::str::FromStr;
8use wasm_bindgen::{prelude::*, JsCast};
9use wasm_bindgen::{prelude::*, JsCast};
9
10
@@ -28,27 +29,23 @@ pub fn start(vdom: VdomWeak) {
28 v
29 v
29 });
30 });
30
31
31− wasm_bindgen_futures::spawn_local({
32+ wasm_bindgen_futures::spawn_local(
32− let vdom = vdom.clone();
33− async move {
34− let _ = vdom
35− .with_component({
33+ vdom.with_component({
36− let vdom = vdom.clone();
34+ let vdom = vdom.clone();
37− move |root| {
35+ move |root| {
38− let todos = root.unwrap_mut::<Todos>();
36+ let todos = root.unwrap_mut::<Todos>();
39− // If the todos' visibility already matches the event's
37+ // If the todos' visibility already matches the event's
40− // visibility, then there is nothing to do (ha). If they
38+ // visibility, then there is nothing to do (ha). If they
41− // don't match, then we need to update the todos' visibility
39+ // don't match, then we need to update the todos' visibility
42− // and re-render.
40+ // and re-render.
43− if todos.visibility() != new_vis {
41+ if todos.visibility() != new_vis {
44− todos.set_visibility(new_vis);
42+ todos.set_visibility(new_vis);
45− vdom.schedule_render();
43+ vdom.schedule_render();
46− }
44+ }
47− }
45+ }
48− })
46+ })
49− .await;
47+ .map_err(|_| ()),
50− }
51− });
48+ );
52 };
49 };
53
50
54 // Call it once to handle the initial `#` fragment.
51 // Call it once to handle the initial `#` fragment.
@@ -59,7 +56,7 @@ pub fn start(vdom: VdomWeak) {
59 // Note that if we ever intended to unmount our todos app, we would want to
56 // Note that if we ever intended to unmount our todos app, we would want to
60 // provide a method for removing this router's event listener and cleaning
57 // provide a method for removing this router's event listener and cleaning
61 // up after ourselves.
58 // up after ourselves.
62− let on_hash_change = Closure::wrap(Box::new(on_hash_change) as Box<dyn FnMut()>);
59+ let on_hash_change = Closure::wrap(Box::new(on_hash_change) as Box<FnMut()>);
63 let window = utils::window();
60 let window = utils::window();
64 window
61 window
65 .add_event_listener_with_callback("hashchange", on_hash_change.as_ref().unchecked_ref())
62 .add_event_listener_with_callback("hashchange", on_hash_change.as_ref().unchecked_ref())
examples/todomvc/src/todo.rs+2−2
@@ -116,8 +116,8 @@ impl<C> Todo<C> {
116 }
116 }
117}
117}
118
118
119−impl<'a, C: TodoActions> Render<'a> for Todo<C> {
119+impl<C: TodoActions> Render for Todo<C> {
120− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
120+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
121 use dodrio::{
121 use dodrio::{
122 builder::*,
122 builder::*,
123 bumpalo::{self, collections::String},
123 bumpalo::{self, collections::String},
examples/todomvc/src/todos.rs+2−2
@@ -289,8 +289,8 @@ impl<C: TodosActions> Todos<C> {
289 }
289 }
290}
290}
291
291
292−impl<'a, C: TodosActions> Render<'a> for Todos<C> {
292+impl<C: TodosActions> Render for Todos<C> {
293− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
293+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
294 use dodrio::builder::*;
294 use dodrio::builder::*;
295
295
296 div(&cx)
296 div(&cx)
src/cached.rs+7−7
@@ -45,8 +45,8 @@ where
45 /// count: u32,
45 /// count: u32,
46 /// }
46 /// }
47 ///
47 ///
48− /// impl<'a> Render<'a> for Counter {
48+ /// impl Render for Counter {
49− /// fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
49+ /// fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
50 /// // ...
50 /// // ...
51 /// # unimplemented!()
51 /// # unimplemented!()
52 /// }
52 /// }
@@ -85,8 +85,8 @@ where
85 /// who: String
85 /// who: String
86 /// }
86 /// }
87 ///
87 ///
88− /// impl<'a> Render<'a> for Hello {
88+ /// impl Render for Hello {
89− /// fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
89+ /// fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
90 /// use dodrio::builder::*;
90 /// use dodrio::builder::*;
91 /// let greeting = bumpalo::format!(in cx.bump, "Hello, {}!", self.who);
91 /// let greeting = bumpalo::format!(in cx.bump, "Hello, {}!", self.who);
92 /// p(&cx)
92 /// p(&cx)
@@ -143,11 +143,11 @@ where
143 }
143 }
144}
144}
145
145
146−impl<'a, R> Render<'a> for Cached<R>
146+impl<R> Render for Cached<R>
147where
147where
148− R: 'static + Default + for<'b> Render<'b>,
148+ R: 'static + Default + Render,
149{
149{
150− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
150+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
151 let template = cx.template::<R>();
151 let template = cx.template::<R>();
152 let cached = match self.cached.get() {
152 let cached = match self.cached.get() {
153 // This does-the-cache-contain-this-id check is necessary because
153 // This does-the-cache-contain-this-id check is necessary because
src/change_list/mod.rs+2−2
@@ -233,9 +233,9 @@ impl ChangeListBuilder<'_> {
233 self.state.emitter.replace_with();
233 self.state.emitter.replace_with();
234 }
234 }
235
235
236− pub fn set_attribute(&mut self, name: &str, value: &str, is_namespaced: bool) {
236+ pub fn set_attribute(&mut self, name: &str, value: &str) {
237 debug_assert!(self.traversal_is_committed());
237 debug_assert!(self.traversal_is_committed());
238− if name == "class" && !is_namespaced {
238+ if name == "class" {
239 let class_id = self.ensure_string(value);
239 let class_id = self.ensure_string(value);
240 debug!("emit: set_class({:?})", value);
240 debug!("emit: set_class({:?})", value);
241 self.state.emitter.set_class(class_id.into());
241 self.state.emitter.set_class(class_id.into());
src/diff.rs+6−6
@@ -78,7 +78,7 @@ pub(crate) fn diff(
78 return;
78 return;
79 }
79 }
80 diff_listeners(change_list, registry, old_listeners, new_listeners);
80 diff_listeners(change_list, registry, old_listeners, new_listeners);
81− diff_attributes(change_list, old_attributes, new_attributes, new_namespace.is_some());
81+ diff_attributes(change_list, old_attributes, new_attributes);
82 diff_children(
82 diff_children(
83 cached_set,
83 cached_set,
84 change_list,
84 change_list,
@@ -204,26 +204,26 @@ fn diff_listeners(
204// [... node]
204// [... node]
205//
205//
206// The change list stack is left unchanged.
206// The change list stack is left unchanged.
207−fn diff_attributes(change_list: &mut ChangeListBuilder, old: &[Attribute], new: &[Attribute], is_namespaced: bool) {
207+fn diff_attributes(change_list: &mut ChangeListBuilder, old: &[Attribute], new: &[Attribute]) {
208 // Do O(n^2) passes to add/update and remove attributes, since
208 // Do O(n^2) passes to add/update and remove attributes, since
209 // there are almost always very few attributes.
209 // there are almost always very few attributes.
210 'outer: for new_attr in new {
210 'outer: for new_attr in new {
211 if new_attr.is_volatile() {
211 if new_attr.is_volatile() {
212 change_list.commit_traversal();
212 change_list.commit_traversal();
213− change_list.set_attribute(new_attr.name, new_attr.value, is_namespaced);
213+ change_list.set_attribute(new_attr.name, new_attr.value);
214 } else {
214 } else {
215 for old_attr in old {
215 for old_attr in old {
216 if old_attr.name == new_attr.name {
216 if old_attr.name == new_attr.name {
217 if old_attr.value != new_attr.value {
217 if old_attr.value != new_attr.value {
218 change_list.commit_traversal();
218 change_list.commit_traversal();
219− change_list.set_attribute(new_attr.name, new_attr.value, is_namespaced);
219+ change_list.set_attribute(new_attr.name, new_attr.value);
220 }
220 }
221 continue 'outer;
221 continue 'outer;
222 }
222 }
223 }
223 }
224
224
225 change_list.commit_traversal();
225 change_list.commit_traversal();
226− change_list.set_attribute(new_attr.name, new_attr.value, is_namespaced);
226+ change_list.set_attribute(new_attr.name, new_attr.value);
227 }
227 }
228 }
228 }
229
229
@@ -953,7 +953,7 @@ fn create(
953 }
953 }
954
954
955 for attr in attributes {
955 for attr in attributes {
956− change_list.set_attribute(&attr.name, &attr.value, namespace.is_some());
956+ change_list.set_attribute(&attr.name, &attr.value);
957 }
957 }
958
958
959 // Fast path: if there is a single text child, it is faster to
959 // Fast path: if there is a single text child, it is faster to
src/lib.rs+2−2
@@ -18,8 +18,8 @@
18//! }
18//! }
19//! }
19//! }
20//!
20//!
21−//! impl<'a, 'who> Render<'a> for Hello<'who> {
21+//! impl<'who> Render for Hello<'who> {
22−//! fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
22+//! fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
23//! use dodrio::builder::*;
23//! use dodrio::builder::*;
24//!
24//!
25//! let id = bumpalo::format!(in cx.bump, "hello-{}", self.who);
25//! let id = bumpalo::format!(in cx.bump, "hello-{}", self.who);
src/render.rs+12−39
@@ -21,8 +21,8 @@ use wasm_bindgen::UnwrapThrowExt;
21///
21///
22/// pub struct MyComponent;
22/// pub struct MyComponent;
23///
23///
24−/// impl<'a> Render<'a> for MyComponent {
24+/// impl Render for MyComponent {
25−/// fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
25+/// fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
26/// use dodrio::builder::*;
26/// use dodrio::builder::*;
27///
27///
28/// p(&cx)
28/// p(&cx)
@@ -35,26 +35,26 @@ use wasm_bindgen::UnwrapThrowExt;
35/// }
35/// }
36/// }
36/// }
37/// ```
37/// ```
38−pub trait Render<'a> {
38+pub trait Render {
39 /// Render `self` as a virtual DOM. Use the given context's `Bump` for
39 /// Render `self` as a virtual DOM. Use the given context's `Bump` for
40 /// temporary allocations.
40 /// temporary allocations.
41− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a>;
41+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a>;
42}
42}
43
43
44−impl<'a, 'r, R> Render<'a> for &'r R
44+impl<'r, R> Render for &'r R
45where
45where
46− R: Render<'a>,
46+ R: Render,
47{
47{
48− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
48+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
49 (**self).render(cx)
49 (**self).render(cx)
50 }
50 }
51}
51}
52
52
53−impl<'a, R> Render<'a> for Rc<R>
53+impl<R> Render for Rc<R>
54where
54where
55− R: Render<'a>,
55+ R: Render,
56{
56{
57− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
57+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
58 (**self).render(cx)
58 (**self).render(cx)
59 }
59 }
60}
60}
@@ -69,7 +69,7 @@ where
69/// You do not need to implement this trait by hand: there is a blanket
69/// You do not need to implement this trait by hand: there is a blanket
70/// implementation for all `Render` types that fulfill the `RootRender`
70/// implementation for all `Render` types that fulfill the `RootRender`
71/// requirements.
71/// requirements.
72−pub trait RootRender: Any + for<'a> Render<'a> {
72+pub trait RootRender: Any + Render {
73 /// Get this `&RootRender` trait object as an `&Any` trait object reference.
73 /// Get this `&RootRender` trait object as an `&Any` trait object reference.
74 fn as_any(&self) -> &dyn Any;
74 fn as_any(&self) -> &dyn Any;
75
75
@@ -80,7 +80,7 @@ pub trait RootRender: Any + for<'a> Render<'a> {
80
80
81impl<T> RootRender for T
81impl<T> RootRender for T
82where
82where
83− T: Any + for<'a> Render<'a>,
83+ T: Any + Render,
84{
84{
85 fn as_any(&self) -> &dyn Any {
85 fn as_any(&self) -> &dyn Any {
86 self
86 self
@@ -138,31 +138,4 @@ mod tests {
138 #[allow(dead_code)]
138 #[allow(dead_code)]
139 fn takes_dyn_render(_: &dyn super::RootRender) {}
139 fn takes_dyn_render(_: &dyn super::RootRender) {}
140 }
140 }
141−
142− #[test]
143− fn render_bump_scoped_child() {
144− use crate::{builder::*, bumpalo::collections::String, Node, Render, RenderContext};
145−
146− struct Child<'a> {
147− name: &'a str,
148− }
149−
150− impl<'a> Render<'a> for Child<'a> {
151− fn render(&self, _cx: &mut RenderContext<'a>) -> Node<'a> {
152− text(self.name)
153− }
154− }
155−
156− struct Parent;
157−
158− impl<'a> Render<'a> for Parent {
159− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
160− let child_name = String::from_str_in("child", cx.bump).into_bump_str();
161−
162− div(&cx)
163− .children([Child { name: child_name }.render(cx)])
164− .finish()
165− }
166− }
167− }
168}
141}
src/render_context.rs+1−1
@@ -69,7 +69,7 @@ impl<'a> RenderContext<'a> {
69 /// Get or create the cached template for `Cached<R>`.
69 /// Get or create the cached template for `Cached<R>`.
70 pub(crate) fn template<R>(&mut self) -> Option<CacheId>
70 pub(crate) fn template<R>(&mut self) -> Option<CacheId>
71 where
71 where
72− R: 'static + Default + for<'b> Render<'b>,
72+ R: 'static + Default + Render,
73 {
73 {
74 let template_id = Cached::<R>::template_id();
74 let template_id = Cached::<R>::template_id();
75 if let Some(cache_id) = self.templates.get(&template_id).cloned() {
75 if let Some(cache_id) = self.templates.get(&template_id).cloned() {
src/vdom.rs−6
@@ -380,9 +380,6 @@ impl VdomWeak {
380 ) -> Result<Box<dyn RootRender + 'static>, VdomDroppedError> {
380 ) -> Result<Box<dyn RootRender + 'static>, VdomDroppedError> {
381 let inner = self.inner.upgrade().ok_or(VdomDroppedError {})?;
381 let inner = self.inner.upgrade().ok_or(VdomDroppedError {})?;
382
382
383− // Wait for a new tick of the micro-task queue
384− let _ = JsFuture::from(js_sys::Promise::resolve(&JsValue::null())).await;
385−
386 let old = {
383 let old = {
387 let mut exclusive = inner.exclusive.borrow_mut();
384 let mut exclusive = inner.exclusive.borrow_mut();
388 mem::replace(&mut *exclusive.component.as_mut().unwrap_throw(), root)
385 mem::replace(&mut *exclusive.component.as_mut().unwrap_throw(), root)
@@ -404,9 +401,6 @@ impl VdomWeak {
404 {
401 {
405 let inner = self.inner.upgrade().ok_or(VdomDroppedError {})?;
402 let inner = self.inner.upgrade().ok_or(VdomDroppedError {})?;
406
403
407− // Wait for a new tick of the micro-task queue
408− let _ = JsFuture::from(js_sys::Promise::resolve(&JsValue::null())).await;
409−
410 let mut exclusive = inner.exclusive.borrow_mut();
404 let mut exclusive = inner.exclusive.borrow_mut();
411
405
412 Ok(f(exclusive.component_raw_mut()))
406 Ok(f(exclusive.component_raw_mut()))
tests/web/cached.rs+4−4
@@ -18,8 +18,8 @@ impl CountRenders {
18 }
18 }
19}
19}
20
20
21−impl<'a> Render<'a> for CountRenders {
21+impl Render for CountRenders {
22− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
22+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
23 let count = self.render_count.get() + 1;
23 let count = self.render_count.get() + 1;
24 self.render_count.set(count);
24 self.render_count.set(count);
25
25
@@ -153,8 +153,8 @@ impl Default for Id {
153 }
153 }
154}
154}
155
155
156−impl<'a> Render<'a> for Id {
156+impl Render for Id {
157− fn render(&self, _cx: &mut RenderContext<'a>) -> Node<'a> {
157+ fn render<'a>(&self, _cx: &mut RenderContext<'a>) -> Node<'a> {
158 text(self.0)
158 text(self.0)
159 }
159 }
160}
160}
tests/web/events.rs+4−4
@@ -24,8 +24,8 @@ impl EventContainer {
24 }
24 }
25}
25}
26
26
27−impl<'a> Render<'a> for EventContainer {
27+impl Render for EventContainer {
28− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
28+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
29 use dodrio::builder::*;
29 use dodrio::builder::*;
30 div(&cx)
30 div(&cx)
31 .attr("id", "target")
31 .attr("id", "target")
@@ -126,8 +126,8 @@ impl ListensOnlyOnFirstRender {
126 }
126 }
127}
127}
128
128
129−impl<'a> Render<'a> for ListensOnlyOnFirstRender {
129+impl Render for ListensOnlyOnFirstRender {
130− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
130+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
131 use dodrio::builder::*;
131 use dodrio::builder::*;
132
132
133 let count = self.count.get();
133 let count = self.count.get();
tests/web/js_api.rs+2−2
@@ -35,8 +35,8 @@ impl WrapJs {
35 }
35 }
36}
36}
37
37
38−impl<'a> Render<'a> for WrapJs {
38+impl Render for WrapJs {
39− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
39+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
40 div(&cx)
40 div(&cx)
41 .attr("class", "wrap-js")
41 .attr("class", "wrap-js")
42 .children([self.inner.render(cx)])
42 .children([self.inner.render(cx)])
tests/web/keyed.rs+5−7
@@ -7,8 +7,8 @@ use wasm_bindgen_test::*;
7
7
8struct Keyed(u16);
8struct Keyed(u16);
9
9
10−impl<'a> Render<'a> for Keyed {
10+impl Render for Keyed {
11− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
11+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
12 let key = bumpalo::format!(in cx.bump, "{}", self.0).into_bump_str();
12 let key = bumpalo::format!(in cx.bump, "{}", self.0).into_bump_str();
13 div(&cx)
13 div(&cx)
14 .attr("class", "keyed")
14 .attr("class", "keyed")
@@ -33,8 +33,8 @@ where
33
33
34async fn assert_keyed<Before, After>(before: Before, after: After) -> Result<(), JsValue>
34async fn assert_keyed<Before, After>(before: Before, after: After) -> Result<(), JsValue>
35where
35where
36− Before: 'static + for<'a> Render<'a>,
36+ Before: 'static + Render,
37− After: 'static + for<'a> Render<'a>,
37+ After: 'static + Render,
38{
38{
39 #[wasm_bindgen(module = "/tests/web/keyed.js")]
39 #[wasm_bindgen(module = "/tests/web/keyed.js")]
40 extern "C" {
40 extern "C" {
@@ -90,9 +90,7 @@ macro_rules! keyed_tests {
90 assert_keyed(
90 assert_keyed(
91 RenderFn(|$before_cx| { $( $before )* }),
91 RenderFn(|$before_cx| { $( $before )* }),
92 RenderFn(|$after_cx| { $( $after )* }),
92 RenderFn(|$after_cx| { $( $after )* }),
93− )
94− .await
95− .unwrap()
93+ ).await.unwrap()
96 }
94 }
97 )*
95 )*
98 }
96 }
tests/web/main.rs+6−6
@@ -50,7 +50,7 @@ pub fn init_logging() {
50
50
51/// Assert that the `container` contains the physical DOM tree that matches
51/// Assert that the `container` contains the physical DOM tree that matches
52/// `r`'s rendered virtual DOM.
52/// `r`'s rendered virtual DOM.
53−pub fn assert_rendered<R: for<'a> Render<'a>>(container: &web_sys::Element, r: &R) {
53+pub fn assert_rendered<R: Render>(container: &web_sys::Element, r: &R) {
54 init_logging();
54 init_logging();
55
55
56 let cached_set = &RefCell::new(CachedSet::default());
56 let cached_set = &RefCell::new(CachedSet::default());
@@ -155,11 +155,11 @@ pub struct RenderFn<F>(F)
155where
155where
156 F: for<'a> Fn(&mut RenderContext<'a>) -> Node<'a>;
156 F: for<'a> Fn(&mut RenderContext<'a>) -> Node<'a>;
157
157
158−impl<'a, F> Render<'a> for RenderFn<F>
158+impl<F> Render for RenderFn<F>
159where
159where
160− F: for<'b> Fn(&mut RenderContext<'b>) -> Node<'b>,
160+ F: for<'a> Fn(&mut RenderContext<'a>) -> Node<'a>,
161{
161{
162− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
162+ fn render<'a>(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
163 (self.0)(cx)
163 (self.0)(cx)
164 }
164 }
165}
165}
@@ -169,8 +169,8 @@ where
169/// the physical DOM tree correctly matches `after`.
169/// the physical DOM tree correctly matches `after`.
170pub async fn assert_before_after<R, S>(before: R, after: S) -> Result<(), JsValue>
170pub async fn assert_before_after<R, S>(before: R, after: S) -> Result<(), JsValue>
171where
171where
172− R: 'static + for<'a> Render<'a>,
172+ R: 'static + Render,
173− S: 'static + for<'a> Render<'a>,
173+ S: 'static + Render,
174{
174{
175 let container = create_element("div");
175 let container = create_element("div");
176
176
tests/web/render.rs+1−89
@@ -1,7 +1,6 @@
1use super::{assert_rendered, before_after, create_element, RenderFn};
1use super::{assert_rendered, before_after, create_element, RenderFn};
2−use dodrio::{builder::*, bumpalo::collections::String, Node, Render, RenderContext, Vdom};
2+use dodrio::{builder::*, Vdom};
3use std::rc::Rc;
3use std::rc::Rc;
4−use wasm_bindgen::{ JsCast};
5use wasm_bindgen_test::*;
4use wasm_bindgen_test::*;
6
5
7#[wasm_bindgen_test]
6#[wasm_bindgen_test]
@@ -35,93 +34,6 @@ fn container_is_emptied_upon_drop() {
35 assert!(container.first_child().is_none());
34 assert!(container.first_child().is_none());
36}
35}
37
36
38−/// Renders a child with a lifetime scoped to the RenderContext bump arena.
39−#[wasm_bindgen_test]
40−fn render_bump_scoped_node() {
41− struct Child<'a> {
42− name: &'a str,
43− }
44−
45− impl<'a> Render<'a> for Child<'a> {
46− fn render(&self, _cx: &mut RenderContext<'a>) -> Node<'a> {
47− text(self.name)
48− }
49− }
50−
51− struct Parent;
52−
53− impl<'a> Render<'a> for Parent {
54− fn render(&self, cx: &mut RenderContext<'a>) -> Node<'a> {
55− let child_name = String::from_str_in("child", cx.bump).into_bump_str();
56−
57− div(&cx)
58− .children([Child { name: child_name }.render(cx)])
59− .finish()
60− }
61− }
62−
63− let parent = Rc::new(RenderFn(|cx| {
64− Parent.render(cx)
65− }));
66−
67− let container = create_element("div");
68− let _vdom = Vdom::new(&container, parent.clone());
69−
70− assert_rendered(&container, &parent);
71−}
72−
73−/// Originally, dodrio would use the className property for SVGs.
74−///
75−/// This is problematic because when SVG elements are created, the className is flagged as a read
76−/// only property, so setting it causes an exception to be thrown. Here's an example of how this
77−/// happens:
78−///
79−/// let elem = web_sys::window()
80−/// .unwrap()
81−/// .document()
82−/// .unwrap()
83−/// .create_element_ns(Some("http://www.w3.org/2000/svg"), "svg")
84−/// .unwrap();
85−///
86−/// elem.set_class_name("does-not-work");
87−///
88−/// -----------------------------------------------------------------------------------------------
89−///
90−/// wasm-bindgen: imported JS function that was not marked as `catch` threw an error:
91−/// setting getter-only property "className"
92−///
93−/// -----------------------------------------------------------------------------------------------
94−///
95−/// Now, dodrio passes the 'class' attribute of all namespaced elements into set_attribute. This
96−/// satisfies the restrictions on SVG and keeps the optimized path for non-namespaced elements
97−#[wasm_bindgen_test(async)]
98−async fn test_svg_set_class() {
99− let container = create_element("div");
100−
101−
102− let valid_svg = Rc::new(RenderFn(|cx| {
103− ElementBuilder::new(cx.bump, "svg")
104− .namespace(Some("http://www.w3.org/2000/svg"))
105− .attr("class", "works")
106− .finish()
107− }));
108−
109− let vdom = Vdom::new(&container, valid_svg.clone());
110− let weak = vdom.weak();
111−
112− weak.render().await.unwrap();
113−
114− assert_eq!(
115− "works",
116− container.first_child()
117− .expect("unable to get svg")
118− .dyn_ref::<web_sys::Element>()
119− .expect("svg should be an element")
120− .get_attribute("class")
121− .expect("unable to get 'class' of svg")
122− );
123−}
124−
125before_after! {
37before_after! {
126 same_text {
38 same_text {
127 before(_cx) {
39 before(_cx) {