dry-validation-rust 0.1.0.pre5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +74 -0
  3. data/LICENSE +21 -0
  4. data/NOTICE.md +28 -0
  5. data/README.md +459 -0
  6. data/docs/ARCHITECTURE.md +256 -0
  7. data/docs/COMPATIBILITY.md +198 -0
  8. data/docs/FEASIBILITY.md +207 -0
  9. data/docs/SUPPORT_MATRIX.md +66 -0
  10. data/docs/VERIFICATION.md +128 -0
  11. data/dry-validation-rust.gemspec +58 -0
  12. data/ext/dry_validation_rust/Cargo.lock +809 -0
  13. data/ext/dry_validation_rust/Cargo.toml +44 -0
  14. data/ext/dry_validation_rust/benches/coercion.rs +77 -0
  15. data/ext/dry_validation_rust/benches/full_schema.rs +189 -0
  16. data/ext/dry_validation_rust/benches/plan_compile.rs +37 -0
  17. data/ext/dry_validation_rust/benches/predicates.rs +105 -0
  18. data/ext/dry_validation_rust/extconf.rb +29 -0
  19. data/ext/dry_validation_rust/src/coercion.rs +515 -0
  20. data/ext/dry_validation_rust/src/engine.rs +416 -0
  21. data/ext/dry_validation_rust/src/error.rs +82 -0
  22. data/ext/dry_validation_rust/src/extract_primitive.rs +23 -0
  23. data/ext/dry_validation_rust/src/generated_predicates.rs +33 -0
  24. data/ext/dry_validation_rust/src/lib.rs +228 -0
  25. data/ext/dry_validation_rust/src/plan.rs +611 -0
  26. data/ext/dry_validation_rust/src/predicates.rs +449 -0
  27. data/ext/dry_validation_rust/src/ruby_bridge.rs +78 -0
  28. data/lib/dry/schema.rb +6 -0
  29. data/lib/dry/validation/rust/block_keyword_parameters.rb +20 -0
  30. data/lib/dry/validation/rust/config.rb +74 -0
  31. data/lib/dry/validation/rust/contract/result.rb +180 -0
  32. data/lib/dry/validation/rust/contract/values.rb +73 -0
  33. data/lib/dry/validation/rust/contract.rb +400 -0
  34. data/lib/dry/validation/rust/errors.rb +14 -0
  35. data/lib/dry/validation/rust/evaluator.rb +295 -0
  36. data/lib/dry/validation/rust/failures.rb +57 -0
  37. data/lib/dry/validation/rust/generated_predicates.rb +14 -0
  38. data/lib/dry/validation/rust/macros.rb +45 -0
  39. data/lib/dry/validation/rust/message.rb +41 -0
  40. data/lib/dry/validation/rust/message_backend.rb +115 -0
  41. data/lib/dry/validation/rust/message_set.rb +159 -0
  42. data/lib/dry/validation/rust/native.rb +25 -0
  43. data/lib/dry/validation/rust/path.rb +65 -0
  44. data/lib/dry/validation/rust/path_trie.rb +57 -0
  45. data/lib/dry/validation/rust/result.rb +3 -0
  46. data/lib/dry/validation/rust/rule.rb +62 -0
  47. data/lib/dry/validation/rust/schema/dsl.rb +76 -0
  48. data/lib/dry/validation/rust/schema/field_builder.rb +156 -0
  49. data/lib/dry/validation/rust/schema/field_definition.rb +99 -0
  50. data/lib/dry/validation/rust/schema/predicate_block.rb +56 -0
  51. data/lib/dry/validation/rust/schema/processor_hooks.rb +46 -0
  52. data/lib/dry/validation/rust/schema/result.rb +67 -0
  53. data/lib/dry/validation/rust/schema/ruby_type_processor.rb +44 -0
  54. data/lib/dry/validation/rust/schema.rb +323 -0
  55. data/lib/dry/validation/rust/values.rb +3 -0
  56. data/lib/dry/validation/rust/version.rb +10 -0
  57. data/lib/dry/validation/rust.rb +55 -0
  58. data/lib/dry/validation.rb +66 -0
  59. data/lib/dry-schema.rb +3 -0
  60. data/lib/dry-validation.rb +3 -0
  61. data/lib/dry_validation_rust.rb +3 -0
  62. data/predicates.yml +67 -0
  63. data/rust-toolchain.toml +9 -0
  64. metadata +260 -0
@@ -0,0 +1,809 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 3
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.4"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "anes"
16
+ version = "0.1.6"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
19
+
20
+ [[package]]
21
+ name = "anstyle"
22
+ version = "1.0.14"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
25
+
26
+ [[package]]
27
+ name = "autocfg"
28
+ version = "1.5.1"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
31
+
32
+ [[package]]
33
+ name = "bigdecimal"
34
+ version = "0.4.10"
35
+ source = "registry+https://github.com/rust-lang/crates.io-index"
36
+ checksum = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695"
37
+ dependencies = [
38
+ "autocfg",
39
+ "libm",
40
+ "num-bigint",
41
+ "num-integer",
42
+ "num-traits",
43
+ ]
44
+
45
+ [[package]]
46
+ name = "bindgen"
47
+ version = "0.72.1"
48
+ source = "registry+https://github.com/rust-lang/crates.io-index"
49
+ checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
50
+ dependencies = [
51
+ "bitflags",
52
+ "cexpr",
53
+ "clang-sys",
54
+ "itertools 0.13.0",
55
+ "proc-macro2",
56
+ "quote",
57
+ "regex",
58
+ "rustc-hash",
59
+ "shlex",
60
+ "syn 2.0.118",
61
+ ]
62
+
63
+ [[package]]
64
+ name = "bitflags"
65
+ version = "2.13.0"
66
+ source = "registry+https://github.com/rust-lang/crates.io-index"
67
+ checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
68
+
69
+ [[package]]
70
+ name = "bumpalo"
71
+ version = "3.20.3"
72
+ source = "registry+https://github.com/rust-lang/crates.io-index"
73
+ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
74
+
75
+ [[package]]
76
+ name = "cast"
77
+ version = "0.3.0"
78
+ source = "registry+https://github.com/rust-lang/crates.io-index"
79
+ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
80
+
81
+ [[package]]
82
+ name = "cexpr"
83
+ version = "0.6.0"
84
+ source = "registry+https://github.com/rust-lang/crates.io-index"
85
+ checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
86
+ dependencies = [
87
+ "nom",
88
+ ]
89
+
90
+ [[package]]
91
+ name = "cfg-if"
92
+ version = "1.0.4"
93
+ source = "registry+https://github.com/rust-lang/crates.io-index"
94
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
95
+
96
+ [[package]]
97
+ name = "chrono"
98
+ version = "0.4.45"
99
+ source = "registry+https://github.com/rust-lang/crates.io-index"
100
+ checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
101
+ dependencies = [
102
+ "num-traits",
103
+ ]
104
+
105
+ [[package]]
106
+ name = "ciborium"
107
+ version = "0.2.2"
108
+ source = "registry+https://github.com/rust-lang/crates.io-index"
109
+ checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
110
+ dependencies = [
111
+ "ciborium-io",
112
+ "ciborium-ll",
113
+ "serde",
114
+ ]
115
+
116
+ [[package]]
117
+ name = "ciborium-io"
118
+ version = "0.2.2"
119
+ source = "registry+https://github.com/rust-lang/crates.io-index"
120
+ checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
121
+
122
+ [[package]]
123
+ name = "ciborium-ll"
124
+ version = "0.2.2"
125
+ source = "registry+https://github.com/rust-lang/crates.io-index"
126
+ checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
127
+ dependencies = [
128
+ "ciborium-io",
129
+ "half",
130
+ ]
131
+
132
+ [[package]]
133
+ name = "clang-sys"
134
+ version = "1.8.1"
135
+ source = "registry+https://github.com/rust-lang/crates.io-index"
136
+ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
137
+ dependencies = [
138
+ "glob",
139
+ "libc",
140
+ "libloading",
141
+ ]
142
+
143
+ [[package]]
144
+ name = "clap"
145
+ version = "4.5.4"
146
+ source = "registry+https://github.com/rust-lang/crates.io-index"
147
+ checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
148
+ dependencies = [
149
+ "clap_builder",
150
+ ]
151
+
152
+ [[package]]
153
+ name = "clap_builder"
154
+ version = "4.5.2"
155
+ source = "registry+https://github.com/rust-lang/crates.io-index"
156
+ checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
157
+ dependencies = [
158
+ "anstyle",
159
+ "clap_lex",
160
+ ]
161
+
162
+ [[package]]
163
+ name = "clap_lex"
164
+ version = "0.7.7"
165
+ source = "registry+https://github.com/rust-lang/crates.io-index"
166
+ checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32"
167
+
168
+ [[package]]
169
+ name = "criterion"
170
+ version = "0.5.1"
171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
172
+ checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
173
+ dependencies = [
174
+ "anes",
175
+ "cast",
176
+ "ciborium",
177
+ "clap",
178
+ "criterion-plot",
179
+ "is-terminal",
180
+ "itertools 0.10.5",
181
+ "num-traits",
182
+ "once_cell",
183
+ "oorandom",
184
+ "plotters",
185
+ "rayon",
186
+ "regex",
187
+ "serde",
188
+ "serde_derive",
189
+ "serde_json",
190
+ "tinytemplate",
191
+ "walkdir",
192
+ ]
193
+
194
+ [[package]]
195
+ name = "criterion-plot"
196
+ version = "0.5.0"
197
+ source = "registry+https://github.com/rust-lang/crates.io-index"
198
+ checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
199
+ dependencies = [
200
+ "cast",
201
+ "itertools 0.10.5",
202
+ ]
203
+
204
+ [[package]]
205
+ name = "crossbeam-deque"
206
+ version = "0.8.7"
207
+ source = "registry+https://github.com/rust-lang/crates.io-index"
208
+ checksum = "5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb"
209
+ dependencies = [
210
+ "crossbeam-epoch",
211
+ "crossbeam-utils",
212
+ ]
213
+
214
+ [[package]]
215
+ name = "crossbeam-epoch"
216
+ version = "0.9.20"
217
+ source = "registry+https://github.com/rust-lang/crates.io-index"
218
+ checksum = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f"
219
+ dependencies = [
220
+ "crossbeam-utils",
221
+ ]
222
+
223
+ [[package]]
224
+ name = "crossbeam-utils"
225
+ version = "0.8.22"
226
+ source = "registry+https://github.com/rust-lang/crates.io-index"
227
+ checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
228
+
229
+ [[package]]
230
+ name = "crunchy"
231
+ version = "0.2.4"
232
+ source = "registry+https://github.com/rust-lang/crates.io-index"
233
+ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
234
+
235
+ [[package]]
236
+ name = "dry_validation_rust_native"
237
+ version = "0.1.0-pre.4"
238
+ dependencies = [
239
+ "bigdecimal",
240
+ "chrono",
241
+ "criterion",
242
+ "magnus",
243
+ "rb-sys",
244
+ "serde",
245
+ "serde_json",
246
+ ]
247
+
248
+ [[package]]
249
+ name = "either"
250
+ version = "1.16.0"
251
+ source = "registry+https://github.com/rust-lang/crates.io-index"
252
+ checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e"
253
+
254
+ [[package]]
255
+ name = "futures-core"
256
+ version = "0.3.34"
257
+ source = "registry+https://github.com/rust-lang/crates.io-index"
258
+ checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e"
259
+
260
+ [[package]]
261
+ name = "futures-task"
262
+ version = "0.3.34"
263
+ source = "registry+https://github.com/rust-lang/crates.io-index"
264
+ checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd"
265
+
266
+ [[package]]
267
+ name = "futures-util"
268
+ version = "0.3.34"
269
+ source = "registry+https://github.com/rust-lang/crates.io-index"
270
+ checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc"
271
+ dependencies = [
272
+ "futures-core",
273
+ "futures-task",
274
+ "pin-project-lite",
275
+ "slab",
276
+ ]
277
+
278
+ [[package]]
279
+ name = "glob"
280
+ version = "0.3.3"
281
+ source = "registry+https://github.com/rust-lang/crates.io-index"
282
+ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
283
+
284
+ [[package]]
285
+ name = "half"
286
+ version = "2.4.1"
287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
288
+ checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
289
+ dependencies = [
290
+ "cfg-if",
291
+ "crunchy",
292
+ ]
293
+
294
+ [[package]]
295
+ name = "hermit-abi"
296
+ version = "0.5.2"
297
+ source = "registry+https://github.com/rust-lang/crates.io-index"
298
+ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
299
+
300
+ [[package]]
301
+ name = "is-terminal"
302
+ version = "0.4.17"
303
+ source = "registry+https://github.com/rust-lang/crates.io-index"
304
+ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46"
305
+ dependencies = [
306
+ "hermit-abi",
307
+ "libc",
308
+ "windows-sys",
309
+ ]
310
+
311
+ [[package]]
312
+ name = "itertools"
313
+ version = "0.10.5"
314
+ source = "registry+https://github.com/rust-lang/crates.io-index"
315
+ checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
316
+ dependencies = [
317
+ "either",
318
+ ]
319
+
320
+ [[package]]
321
+ name = "itertools"
322
+ version = "0.13.0"
323
+ source = "registry+https://github.com/rust-lang/crates.io-index"
324
+ checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
325
+ dependencies = [
326
+ "either",
327
+ ]
328
+
329
+ [[package]]
330
+ name = "itoa"
331
+ version = "1.0.18"
332
+ source = "registry+https://github.com/rust-lang/crates.io-index"
333
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
334
+
335
+ [[package]]
336
+ name = "js-sys"
337
+ version = "0.3.104"
338
+ source = "registry+https://github.com/rust-lang/crates.io-index"
339
+ checksum = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a"
340
+ dependencies = [
341
+ "cfg-if",
342
+ "futures-util",
343
+ "wasm-bindgen",
344
+ ]
345
+
346
+ [[package]]
347
+ name = "lazy_static"
348
+ version = "1.5.0"
349
+ source = "registry+https://github.com/rust-lang/crates.io-index"
350
+ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
351
+
352
+ [[package]]
353
+ name = "libc"
354
+ version = "0.2.186"
355
+ source = "registry+https://github.com/rust-lang/crates.io-index"
356
+ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
357
+
358
+ [[package]]
359
+ name = "libloading"
360
+ version = "0.8.9"
361
+ source = "registry+https://github.com/rust-lang/crates.io-index"
362
+ checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
363
+ dependencies = [
364
+ "cfg-if",
365
+ "windows-link",
366
+ ]
367
+
368
+ [[package]]
369
+ name = "libm"
370
+ version = "0.2.16"
371
+ source = "registry+https://github.com/rust-lang/crates.io-index"
372
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
373
+
374
+ [[package]]
375
+ name = "magnus"
376
+ version = "0.8.2"
377
+ source = "registry+https://github.com/rust-lang/crates.io-index"
378
+ checksum = "3b36a5b126bbe97eb0d02d07acfeb327036c6319fd816139a49824a83b7f9012"
379
+ dependencies = [
380
+ "magnus-macros",
381
+ "rb-sys",
382
+ "rb-sys-env",
383
+ "seq-macro",
384
+ ]
385
+
386
+ [[package]]
387
+ name = "magnus-macros"
388
+ version = "0.8.0"
389
+ source = "registry+https://github.com/rust-lang/crates.io-index"
390
+ checksum = "47607461fd8e1513cb4f2076c197d8092d921a1ea75bd08af97398f593751892"
391
+ dependencies = [
392
+ "proc-macro2",
393
+ "quote",
394
+ "syn 2.0.118",
395
+ ]
396
+
397
+ [[package]]
398
+ name = "memchr"
399
+ version = "2.8.3"
400
+ source = "registry+https://github.com/rust-lang/crates.io-index"
401
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
402
+
403
+ [[package]]
404
+ name = "minimal-lexical"
405
+ version = "0.2.1"
406
+ source = "registry+https://github.com/rust-lang/crates.io-index"
407
+ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
408
+
409
+ [[package]]
410
+ name = "nom"
411
+ version = "7.1.3"
412
+ source = "registry+https://github.com/rust-lang/crates.io-index"
413
+ checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
414
+ dependencies = [
415
+ "memchr",
416
+ "minimal-lexical",
417
+ ]
418
+
419
+ [[package]]
420
+ name = "num-bigint"
421
+ version = "0.4.8"
422
+ source = "registry+https://github.com/rust-lang/crates.io-index"
423
+ checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367"
424
+ dependencies = [
425
+ "num-integer",
426
+ "num-traits",
427
+ ]
428
+
429
+ [[package]]
430
+ name = "num-integer"
431
+ version = "0.1.47"
432
+ source = "registry+https://github.com/rust-lang/crates.io-index"
433
+ checksum = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b"
434
+ dependencies = [
435
+ "num-traits",
436
+ ]
437
+
438
+ [[package]]
439
+ name = "num-traits"
440
+ version = "0.2.19"
441
+ source = "registry+https://github.com/rust-lang/crates.io-index"
442
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
443
+ dependencies = [
444
+ "autocfg",
445
+ ]
446
+
447
+ [[package]]
448
+ name = "once_cell"
449
+ version = "1.21.4"
450
+ source = "registry+https://github.com/rust-lang/crates.io-index"
451
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
452
+
453
+ [[package]]
454
+ name = "oorandom"
455
+ version = "11.1.5"
456
+ source = "registry+https://github.com/rust-lang/crates.io-index"
457
+ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
458
+
459
+ [[package]]
460
+ name = "pin-project-lite"
461
+ version = "0.2.17"
462
+ source = "registry+https://github.com/rust-lang/crates.io-index"
463
+ checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
464
+
465
+ [[package]]
466
+ name = "plotters"
467
+ version = "0.3.7"
468
+ source = "registry+https://github.com/rust-lang/crates.io-index"
469
+ checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747"
470
+ dependencies = [
471
+ "num-traits",
472
+ "plotters-backend",
473
+ "plotters-svg",
474
+ "wasm-bindgen",
475
+ "web-sys",
476
+ ]
477
+
478
+ [[package]]
479
+ name = "plotters-backend"
480
+ version = "0.3.7"
481
+ source = "registry+https://github.com/rust-lang/crates.io-index"
482
+ checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a"
483
+
484
+ [[package]]
485
+ name = "plotters-svg"
486
+ version = "0.3.7"
487
+ source = "registry+https://github.com/rust-lang/crates.io-index"
488
+ checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"
489
+ dependencies = [
490
+ "plotters-backend",
491
+ ]
492
+
493
+ [[package]]
494
+ name = "proc-macro2"
495
+ version = "1.0.106"
496
+ source = "registry+https://github.com/rust-lang/crates.io-index"
497
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
498
+ dependencies = [
499
+ "unicode-ident",
500
+ ]
501
+
502
+ [[package]]
503
+ name = "quote"
504
+ version = "1.0.46"
505
+ source = "registry+https://github.com/rust-lang/crates.io-index"
506
+ checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
507
+ dependencies = [
508
+ "proc-macro2",
509
+ ]
510
+
511
+ [[package]]
512
+ name = "rayon"
513
+ version = "1.10.0"
514
+ source = "registry+https://github.com/rust-lang/crates.io-index"
515
+ checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
516
+ dependencies = [
517
+ "either",
518
+ "rayon-core",
519
+ ]
520
+
521
+ [[package]]
522
+ name = "rayon-core"
523
+ version = "1.12.1"
524
+ source = "registry+https://github.com/rust-lang/crates.io-index"
525
+ checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
526
+ dependencies = [
527
+ "crossbeam-deque",
528
+ "crossbeam-utils",
529
+ ]
530
+
531
+ [[package]]
532
+ name = "rb-sys"
533
+ version = "0.9.128"
534
+ source = "registry+https://github.com/rust-lang/crates.io-index"
535
+ checksum = "45ca28513560e56cfb79a62b1fce363c73af170a182024ce880c77ee9429920a"
536
+ dependencies = [
537
+ "rb-sys-build",
538
+ ]
539
+
540
+ [[package]]
541
+ name = "rb-sys-build"
542
+ version = "0.9.128"
543
+ source = "registry+https://github.com/rust-lang/crates.io-index"
544
+ checksum = "ce04b2c55eff3a21aaa623fcc655d94373238e72cac6b3e1a3641ff31649f99a"
545
+ dependencies = [
546
+ "bindgen",
547
+ "lazy_static",
548
+ "proc-macro2",
549
+ "quote",
550
+ "regex",
551
+ "shell-words",
552
+ "syn 2.0.118",
553
+ ]
554
+
555
+ [[package]]
556
+ name = "rb-sys-env"
557
+ version = "0.2.3"
558
+ source = "registry+https://github.com/rust-lang/crates.io-index"
559
+ checksum = "cca7ad6a7e21e72151d56fe2495a259b5670e204c3adac41ee7ef676ea08117a"
560
+
561
+ [[package]]
562
+ name = "regex"
563
+ version = "1.13.0"
564
+ source = "registry+https://github.com/rust-lang/crates.io-index"
565
+ checksum = "2a0e75113e14dc5acb068cd0786884f214f1312650a3d36d269f5c4f3cdee8a2"
566
+ dependencies = [
567
+ "aho-corasick",
568
+ "memchr",
569
+ "regex-automata",
570
+ "regex-syntax",
571
+ ]
572
+
573
+ [[package]]
574
+ name = "regex-automata"
575
+ version = "0.4.15"
576
+ source = "registry+https://github.com/rust-lang/crates.io-index"
577
+ checksum = "1f388202e4b80542a0921078cc23b6333bcf1409c1e3f86404cae4766a6131db"
578
+ dependencies = [
579
+ "aho-corasick",
580
+ "memchr",
581
+ "regex-syntax",
582
+ ]
583
+
584
+ [[package]]
585
+ name = "regex-syntax"
586
+ version = "0.8.11"
587
+ source = "registry+https://github.com/rust-lang/crates.io-index"
588
+ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
589
+
590
+ [[package]]
591
+ name = "rustc-hash"
592
+ version = "2.1.0"
593
+ source = "registry+https://github.com/rust-lang/crates.io-index"
594
+ checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
595
+
596
+ [[package]]
597
+ name = "rustversion"
598
+ version = "1.0.23"
599
+ source = "registry+https://github.com/rust-lang/crates.io-index"
600
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
601
+
602
+ [[package]]
603
+ name = "same-file"
604
+ version = "1.0.6"
605
+ source = "registry+https://github.com/rust-lang/crates.io-index"
606
+ checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
607
+ dependencies = [
608
+ "winapi-util",
609
+ ]
610
+
611
+ [[package]]
612
+ name = "seq-macro"
613
+ version = "0.3.6"
614
+ source = "registry+https://github.com/rust-lang/crates.io-index"
615
+ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc"
616
+
617
+ [[package]]
618
+ name = "serde"
619
+ version = "1.0.229"
620
+ source = "registry+https://github.com/rust-lang/crates.io-index"
621
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
622
+ dependencies = [
623
+ "serde_core",
624
+ "serde_derive",
625
+ ]
626
+
627
+ [[package]]
628
+ name = "serde_core"
629
+ version = "1.0.229"
630
+ source = "registry+https://github.com/rust-lang/crates.io-index"
631
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
632
+ dependencies = [
633
+ "serde_derive",
634
+ ]
635
+
636
+ [[package]]
637
+ name = "serde_derive"
638
+ version = "1.0.229"
639
+ source = "registry+https://github.com/rust-lang/crates.io-index"
640
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
641
+ dependencies = [
642
+ "proc-macro2",
643
+ "quote",
644
+ "syn 3.0.3",
645
+ ]
646
+
647
+ [[package]]
648
+ name = "serde_json"
649
+ version = "1.0.151"
650
+ source = "registry+https://github.com/rust-lang/crates.io-index"
651
+ checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
652
+ dependencies = [
653
+ "itoa",
654
+ "memchr",
655
+ "serde",
656
+ "serde_core",
657
+ "zmij",
658
+ ]
659
+
660
+ [[package]]
661
+ name = "shell-words"
662
+ version = "1.1.1"
663
+ source = "registry+https://github.com/rust-lang/crates.io-index"
664
+ checksum = "dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77"
665
+
666
+ [[package]]
667
+ name = "shlex"
668
+ version = "1.3.0"
669
+ source = "registry+https://github.com/rust-lang/crates.io-index"
670
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
671
+
672
+ [[package]]
673
+ name = "slab"
674
+ version = "0.4.12"
675
+ source = "registry+https://github.com/rust-lang/crates.io-index"
676
+ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
677
+
678
+ [[package]]
679
+ name = "syn"
680
+ version = "2.0.118"
681
+ source = "registry+https://github.com/rust-lang/crates.io-index"
682
+ checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
683
+ dependencies = [
684
+ "proc-macro2",
685
+ "quote",
686
+ "unicode-ident",
687
+ ]
688
+
689
+ [[package]]
690
+ name = "syn"
691
+ version = "3.0.3"
692
+ source = "registry+https://github.com/rust-lang/crates.io-index"
693
+ checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
694
+ dependencies = [
695
+ "proc-macro2",
696
+ "quote",
697
+ "unicode-ident",
698
+ ]
699
+
700
+ [[package]]
701
+ name = "tinytemplate"
702
+ version = "1.2.1"
703
+ source = "registry+https://github.com/rust-lang/crates.io-index"
704
+ checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
705
+ dependencies = [
706
+ "serde",
707
+ "serde_json",
708
+ ]
709
+
710
+ [[package]]
711
+ name = "unicode-ident"
712
+ version = "1.0.24"
713
+ source = "registry+https://github.com/rust-lang/crates.io-index"
714
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
715
+
716
+ [[package]]
717
+ name = "walkdir"
718
+ version = "2.5.0"
719
+ source = "registry+https://github.com/rust-lang/crates.io-index"
720
+ checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
721
+ dependencies = [
722
+ "same-file",
723
+ "winapi-util",
724
+ ]
725
+
726
+ [[package]]
727
+ name = "wasm-bindgen"
728
+ version = "0.2.127"
729
+ source = "registry+https://github.com/rust-lang/crates.io-index"
730
+ checksum = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70"
731
+ dependencies = [
732
+ "cfg-if",
733
+ "once_cell",
734
+ "rustversion",
735
+ "wasm-bindgen-macro",
736
+ "wasm-bindgen-shared",
737
+ ]
738
+
739
+ [[package]]
740
+ name = "wasm-bindgen-macro"
741
+ version = "0.2.127"
742
+ source = "registry+https://github.com/rust-lang/crates.io-index"
743
+ checksum = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1"
744
+ dependencies = [
745
+ "quote",
746
+ "wasm-bindgen-macro-support",
747
+ ]
748
+
749
+ [[package]]
750
+ name = "wasm-bindgen-macro-support"
751
+ version = "0.2.127"
752
+ source = "registry+https://github.com/rust-lang/crates.io-index"
753
+ checksum = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284"
754
+ dependencies = [
755
+ "bumpalo",
756
+ "proc-macro2",
757
+ "quote",
758
+ "syn 2.0.118",
759
+ "wasm-bindgen-shared",
760
+ ]
761
+
762
+ [[package]]
763
+ name = "wasm-bindgen-shared"
764
+ version = "0.2.127"
765
+ source = "registry+https://github.com/rust-lang/crates.io-index"
766
+ checksum = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf"
767
+ dependencies = [
768
+ "unicode-ident",
769
+ ]
770
+
771
+ [[package]]
772
+ name = "web-sys"
773
+ version = "0.3.104"
774
+ source = "registry+https://github.com/rust-lang/crates.io-index"
775
+ checksum = "c435338968042f4f59a557f690a253676d47ce13ceb55d70100e7facf6620a30"
776
+ dependencies = [
777
+ "js-sys",
778
+ "wasm-bindgen",
779
+ ]
780
+
781
+ [[package]]
782
+ name = "winapi-util"
783
+ version = "0.1.11"
784
+ source = "registry+https://github.com/rust-lang/crates.io-index"
785
+ checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
786
+ dependencies = [
787
+ "windows-sys",
788
+ ]
789
+
790
+ [[package]]
791
+ name = "windows-link"
792
+ version = "0.2.1"
793
+ source = "registry+https://github.com/rust-lang/crates.io-index"
794
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
795
+
796
+ [[package]]
797
+ name = "windows-sys"
798
+ version = "0.61.2"
799
+ source = "registry+https://github.com/rust-lang/crates.io-index"
800
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
801
+ dependencies = [
802
+ "windows-link",
803
+ ]
804
+
805
+ [[package]]
806
+ name = "zmij"
807
+ version = "1.0.21"
808
+ source = "registry+https://github.com/rust-lang/crates.io-index"
809
+ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"