code_ownership 2.0.0.pre.1 → 2.0.0.pre.3

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 (973) hide show
  1. checksums.yaml +4 -4
  2. data/.cargo/config +2 -2
  3. data/Cargo.lock +22 -31
  4. data/ext/cargo-vendor/codeowners-0.2.17/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/codeowners-0.2.17/Cargo.lock +1257 -0
  6. data/ext/cargo-vendor/codeowners-0.2.17/Cargo.toml +111 -0
  7. data/ext/cargo-vendor/codeowners-0.2.17/README.md +287 -0
  8. data/ext/cargo-vendor/codeowners-0.2.17/dev/run_benchmarks_for_gv.sh +12 -0
  9. data/ext/cargo-vendor/codeowners-0.2.17/rust-toolchain.toml +4 -0
  10. data/ext/cargo-vendor/codeowners-0.2.17/src/cache/file.rs +179 -0
  11. data/ext/cargo-vendor/codeowners-0.2.17/src/cli.rs +129 -0
  12. data/ext/cargo-vendor/codeowners-0.2.17/src/common_test.rs +358 -0
  13. data/ext/cargo-vendor/codeowners-0.2.17/src/config.rs +126 -0
  14. data/ext/cargo-vendor/codeowners-0.2.17/src/crosscheck.rs +90 -0
  15. data/ext/cargo-vendor/codeowners-0.2.17/src/lib.rs +11 -0
  16. data/ext/cargo-vendor/codeowners-0.2.17/src/main.rs +43 -0
  17. data/ext/cargo-vendor/codeowners-0.2.17/src/ownership/codeowners_file_parser.rs +504 -0
  18. data/ext/cargo-vendor/codeowners-0.2.17/src/ownership/codeowners_query.rs +32 -0
  19. data/ext/cargo-vendor/codeowners-0.2.17/src/ownership/file_generator.rs +203 -0
  20. data/ext/cargo-vendor/codeowners-0.2.17/src/ownership/file_owner_resolver.rs +414 -0
  21. data/ext/cargo-vendor/codeowners-0.2.17/src/ownership/mapper/annotated_file_mapper.rs +158 -0
  22. data/ext/cargo-vendor/codeowners-0.2.17/src/ownership/mapper/package_mapper.rs +220 -0
  23. data/ext/cargo-vendor/codeowners-0.2.17/src/ownership/mapper.rs +249 -0
  24. data/ext/cargo-vendor/codeowners-0.2.17/src/ownership/validator.rs +218 -0
  25. data/ext/cargo-vendor/codeowners-0.2.17/src/ownership.rs +223 -0
  26. data/ext/cargo-vendor/codeowners-0.2.17/src/path_utils.rs +49 -0
  27. data/ext/cargo-vendor/codeowners-0.2.17/src/project.rs +229 -0
  28. data/ext/cargo-vendor/codeowners-0.2.17/src/project_builder.rs +337 -0
  29. data/ext/cargo-vendor/codeowners-0.2.17/src/project_file_builder.rs +107 -0
  30. data/ext/cargo-vendor/codeowners-0.2.17/src/runner/api.rs +141 -0
  31. data/ext/cargo-vendor/codeowners-0.2.17/src/runner/types.rs +37 -0
  32. data/ext/cargo-vendor/codeowners-0.2.17/src/runner.rs +390 -0
  33. data/ext/cargo-vendor/codeowners-0.2.17/src/tracked_files.rs +58 -0
  34. data/ext/cargo-vendor/codeowners-0.2.17/tests/common/mod.rs +179 -0
  35. data/ext/cargo-vendor/codeowners-0.2.17/tests/crosscheck_owners_test.rs +74 -0
  36. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/.github/CODEOWNERS +9 -0
  37. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/.keep +3 -0
  38. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/config/code_ownership.yml +12 -0
  39. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/config/teams/design.yml +7 -0
  40. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/config/teams/frontend.yml +6 -0
  41. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/frontend/apps/public/index.tsx +6 -0
  42. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/frontend/packages/dashboard/package.json +9 -0
  43. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/frontend/packages/dashboard/src/index.tsx +6 -0
  44. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/.codeowner +3 -0
  45. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/javascript_only_project/frontend/packages/ui-kit/src/button.tsx +5 -0
  46. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +10 -0
  47. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project/.github/CODEOWNERS +41 -0
  48. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project/config/code_ownership.yml +10 -0
  49. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project/javascript/packages/list/page-admin.tsx +1 -0
  50. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project/ruby/app/models/payroll.rb +3 -0
  51. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project/ruby/app/views/foos/edit.erb +1 -0
  52. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project/ruby/app/views/foos/index.html.erb +1 -0
  53. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project/ruby/app/views/foos/new.html.erb +1 -0
  54. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/.github/CODEOWNERS +53 -0
  55. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/config/code_ownership.yml +10 -0
  56. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/config/teams/brewers.yml +11 -0
  57. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/config/teams/cubs.yml +9 -0
  58. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/config/teams/giants.yml +8 -0
  59. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/config/teams/rockies.yml +8 -0
  60. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/package.json +5 -0
  61. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/frontend/packages/components/datepicker/src/picks/dp.tsx +3 -0
  62. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/package.json +5 -0
  63. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/frontend/packages/components/list/src/item.tsx +3 -0
  64. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/package.json +5 -0
  65. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/field.tsx +3 -0
  66. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/frontend/packages/components/textfield/src/fields/small.tsx +3 -0
  67. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/gems/apollo/lib/apollo.rb +6 -0
  68. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/gems/ivy/lib/ivy.rb +6 -0
  69. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/gems/lager/lib/lager.rb +6 -0
  70. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/gems/summit/lib/summit.rb +6 -0
  71. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/packs/games/package.yml +1 -0
  72. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/packs/locations/app/services/capacity.rb +0 -0
  73. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/packs/locations/package.yml +1 -0
  74. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/packs/schedule/app/services/date.rb +0 -0
  75. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/packs/schedule/package.yml +1 -0
  76. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/lib/util.rb +3 -0
  77. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/ruby/app/brewers/services/play.rb +9 -0
  78. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/.codeowner +3 -0
  79. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/.codeowner +1 -0
  80. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/db/price.rb +5 -0
  81. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/models/entertainment.rb +0 -0
  82. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/ruby/app/cubs/services/play.rb +5 -0
  83. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/ruby/app/giants/services/play.rb +0 -0
  84. data/ext/cargo-vendor/codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/ruby/app/rockies/services/play.rb +0 -0
  85. data/ext/cargo-vendor/codeowners-0.2.17/tests/invalid_project_test.rs +144 -0
  86. data/ext/cargo-vendor/codeowners-0.2.17/tests/multiple_directory_owners_test.rs +41 -0
  87. data/ext/cargo-vendor/codeowners-0.2.17/tests/runner_api.rs +181 -0
  88. data/ext/cargo-vendor/codeowners-0.2.17/tests/untracked_files_test.rs +38 -0
  89. data/ext/cargo-vendor/codeowners-0.2.17/tests/valid_project_test.rs +348 -0
  90. data/ext/cargo-vendor/codeowners-0.2.17/tests/valid_project_with_overrides_test.rs +38 -0
  91. data/ext/cargo-vendor/codeowners-0.2.17/tmp/.gitkeep +0 -0
  92. data/ext/cargo-vendor/glob-0.3.3/.cargo-checksum.json +1 -0
  93. data/ext/cargo-vendor/glob-0.3.3/.cargo_vcs_info.json +6 -0
  94. data/ext/cargo-vendor/glob-0.3.3/.github/workflows/rust.yml +99 -0
  95. data/ext/cargo-vendor/glob-0.3.3/CHANGELOG.md +44 -0
  96. data/ext/cargo-vendor/glob-0.3.3/Cargo.lock +107 -0
  97. data/ext/cargo-vendor/glob-0.3.3/Cargo.toml +45 -0
  98. data/ext/cargo-vendor/glob-0.3.3/Cargo.toml.orig +18 -0
  99. data/ext/cargo-vendor/glob-0.3.3/README.md +38 -0
  100. data/ext/cargo-vendor/glob-0.3.3/src/lib.rs +1511 -0
  101. data/ext/cargo-vendor/glob-0.3.3/tests/glob-std.rs +477 -0
  102. data/ext/cargo-vendor/indexmap-2.11.0/.cargo-checksum.json +1 -0
  103. data/ext/cargo-vendor/indexmap-2.11.0/.cargo_vcs_info.json +6 -0
  104. data/ext/cargo-vendor/indexmap-2.11.0/.github/workflows/ci.yml +165 -0
  105. data/ext/cargo-vendor/indexmap-2.11.0/Cargo.lock +243 -0
  106. data/ext/cargo-vendor/indexmap-2.11.0/Cargo.toml +148 -0
  107. data/ext/cargo-vendor/indexmap-2.11.0/Cargo.toml.orig +62 -0
  108. data/ext/cargo-vendor/indexmap-2.11.0/RELEASES.md +575 -0
  109. data/ext/cargo-vendor/indexmap-2.11.0/src/lib.rs +290 -0
  110. data/ext/cargo-vendor/indexmap-2.11.0/src/map/core/entry.rs +625 -0
  111. data/ext/cargo-vendor/indexmap-2.11.0/src/map/core.rs +764 -0
  112. data/ext/cargo-vendor/indexmap-2.11.0/src/map/mutable.rs +165 -0
  113. data/ext/cargo-vendor/indexmap-2.11.0/src/map/slice.rs +800 -0
  114. data/ext/cargo-vendor/indexmap-2.11.0/src/map/tests.rs +1312 -0
  115. data/ext/cargo-vendor/indexmap-2.11.0/src/map.rs +1832 -0
  116. data/ext/cargo-vendor/indexmap-2.11.0/src/rayon/map.rs +686 -0
  117. data/ext/cargo-vendor/indexmap-2.11.0/src/rayon/set.rs +777 -0
  118. data/ext/cargo-vendor/indexmap-2.11.0/src/set/mutable.rs +86 -0
  119. data/ext/cargo-vendor/indexmap-2.11.0/src/set/slice.rs +427 -0
  120. data/ext/cargo-vendor/indexmap-2.11.0/src/set/tests.rs +1060 -0
  121. data/ext/cargo-vendor/indexmap-2.11.0/src/set.rs +1454 -0
  122. data/ext/cargo-vendor/indexmap-2.11.0/src/sval.rs +36 -0
  123. data/ext/cargo-vendor/indexmap-2.11.0/tests/quick.rs +894 -0
  124. data/ext/cargo-vendor/rayon-1.11.0/.cargo-checksum.json +1 -0
  125. data/ext/cargo-vendor/rayon-1.11.0/.cargo_vcs_info.json +6 -0
  126. data/ext/cargo-vendor/rayon-1.11.0/Cargo.lock +318 -0
  127. data/ext/cargo-vendor/rayon-1.11.0/Cargo.toml +130 -0
  128. data/ext/cargo-vendor/rayon-1.11.0/Cargo.toml.orig +57 -0
  129. data/ext/cargo-vendor/rayon-1.11.0/FAQ.md +213 -0
  130. data/ext/cargo-vendor/rayon-1.11.0/README.md +150 -0
  131. data/ext/cargo-vendor/rayon-1.11.0/RELEASES.md +922 -0
  132. data/ext/cargo-vendor/rayon-1.11.0/src/array.rs +85 -0
  133. data/ext/cargo-vendor/rayon-1.11.0/src/collections/binary_heap.rs +129 -0
  134. data/ext/cargo-vendor/rayon-1.11.0/src/collections/btree_map.rs +66 -0
  135. data/ext/cargo-vendor/rayon-1.11.0/src/collections/btree_set.rs +52 -0
  136. data/ext/cargo-vendor/rayon-1.11.0/src/collections/hash_map.rs +93 -0
  137. data/ext/cargo-vendor/rayon-1.11.0/src/collections/hash_set.rs +79 -0
  138. data/ext/cargo-vendor/rayon-1.11.0/src/collections/linked_list.rs +66 -0
  139. data/ext/cargo-vendor/rayon-1.11.0/src/collections/mod.rs +84 -0
  140. data/ext/cargo-vendor/rayon-1.11.0/src/collections/vec_deque.rs +159 -0
  141. data/ext/cargo-vendor/rayon-1.11.0/src/iter/blocks.rs +129 -0
  142. data/ext/cargo-vendor/rayon-1.11.0/src/iter/chain.rs +258 -0
  143. data/ext/cargo-vendor/rayon-1.11.0/src/iter/chunks.rs +216 -0
  144. data/ext/cargo-vendor/rayon-1.11.0/src/iter/cloned.rs +219 -0
  145. data/ext/cargo-vendor/rayon-1.11.0/src/iter/collect/mod.rs +114 -0
  146. data/ext/cargo-vendor/rayon-1.11.0/src/iter/collect/test.rs +368 -0
  147. data/ext/cargo-vendor/rayon-1.11.0/src/iter/copied.rs +219 -0
  148. data/ext/cargo-vendor/rayon-1.11.0/src/iter/empty.rs +108 -0
  149. data/ext/cargo-vendor/rayon-1.11.0/src/iter/enumerate.rs +128 -0
  150. data/ext/cargo-vendor/rayon-1.11.0/src/iter/filter.rs +137 -0
  151. data/ext/cargo-vendor/rayon-1.11.0/src/iter/filter_map.rs +141 -0
  152. data/ext/cargo-vendor/rayon-1.11.0/src/iter/find_first_last/mod.rs +230 -0
  153. data/ext/cargo-vendor/rayon-1.11.0/src/iter/find_first_last/test.rs +102 -0
  154. data/ext/cargo-vendor/rayon-1.11.0/src/iter/flat_map.rs +153 -0
  155. data/ext/cargo-vendor/rayon-1.11.0/src/iter/flat_map_iter.rs +145 -0
  156. data/ext/cargo-vendor/rayon-1.11.0/src/iter/flatten.rs +134 -0
  157. data/ext/cargo-vendor/rayon-1.11.0/src/iter/flatten_iter.rs +124 -0
  158. data/ext/cargo-vendor/rayon-1.11.0/src/iter/fold.rs +289 -0
  159. data/ext/cargo-vendor/rayon-1.11.0/src/iter/fold_chunks.rs +224 -0
  160. data/ext/cargo-vendor/rayon-1.11.0/src/iter/fold_chunks_with.rs +220 -0
  161. data/ext/cargo-vendor/rayon-1.11.0/src/iter/from_par_iter.rs +280 -0
  162. data/ext/cargo-vendor/rayon-1.11.0/src/iter/inspect.rs +253 -0
  163. data/ext/cargo-vendor/rayon-1.11.0/src/iter/interleave.rs +326 -0
  164. data/ext/cargo-vendor/rayon-1.11.0/src/iter/interleave_shortest.rs +80 -0
  165. data/ext/cargo-vendor/rayon-1.11.0/src/iter/intersperse.rs +401 -0
  166. data/ext/cargo-vendor/rayon-1.11.0/src/iter/len.rs +262 -0
  167. data/ext/cargo-vendor/rayon-1.11.0/src/iter/map.rs +255 -0
  168. data/ext/cargo-vendor/rayon-1.11.0/src/iter/map_with.rs +565 -0
  169. data/ext/cargo-vendor/rayon-1.11.0/src/iter/mod.rs +3627 -0
  170. data/ext/cargo-vendor/rayon-1.11.0/src/iter/multizip.rs +335 -0
  171. data/ext/cargo-vendor/rayon-1.11.0/src/iter/once.rs +70 -0
  172. data/ext/cargo-vendor/rayon-1.11.0/src/iter/panic_fuse.rs +338 -0
  173. data/ext/cargo-vendor/rayon-1.11.0/src/iter/par_bridge.rs +157 -0
  174. data/ext/cargo-vendor/rayon-1.11.0/src/iter/plumbing/mod.rs +476 -0
  175. data/ext/cargo-vendor/rayon-1.11.0/src/iter/positions.rs +133 -0
  176. data/ext/cargo-vendor/rayon-1.11.0/src/iter/repeat.rs +295 -0
  177. data/ext/cargo-vendor/rayon-1.11.0/src/iter/rev.rs +119 -0
  178. data/ext/cargo-vendor/rayon-1.11.0/src/iter/skip.rs +93 -0
  179. data/ext/cargo-vendor/rayon-1.11.0/src/iter/skip_any.rs +140 -0
  180. data/ext/cargo-vendor/rayon-1.11.0/src/iter/skip_any_while.rs +162 -0
  181. data/ext/cargo-vendor/rayon-1.11.0/src/iter/splitter.rs +172 -0
  182. data/ext/cargo-vendor/rayon-1.11.0/src/iter/step_by.rs +135 -0
  183. data/ext/cargo-vendor/rayon-1.11.0/src/iter/take.rs +84 -0
  184. data/ext/cargo-vendor/rayon-1.11.0/src/iter/take_any.rs +140 -0
  185. data/ext/cargo-vendor/rayon-1.11.0/src/iter/take_any_while.rs +162 -0
  186. data/ext/cargo-vendor/rayon-1.11.0/src/iter/test.rs +2392 -0
  187. data/ext/cargo-vendor/rayon-1.11.0/src/iter/try_fold.rs +282 -0
  188. data/ext/cargo-vendor/rayon-1.11.0/src/iter/unzip.rs +524 -0
  189. data/ext/cargo-vendor/rayon-1.11.0/src/iter/update.rs +323 -0
  190. data/ext/cargo-vendor/rayon-1.11.0/src/iter/walk_tree.rs +524 -0
  191. data/ext/cargo-vendor/rayon-1.11.0/src/iter/while_some.rs +150 -0
  192. data/ext/cargo-vendor/rayon-1.11.0/src/iter/zip.rs +153 -0
  193. data/ext/cargo-vendor/rayon-1.11.0/src/iter/zip_eq.rs +67 -0
  194. data/ext/cargo-vendor/rayon-1.11.0/src/lib.rs +156 -0
  195. data/ext/cargo-vendor/rayon-1.11.0/src/math.rs +25 -0
  196. data/ext/cargo-vendor/rayon-1.11.0/src/option.rs +197 -0
  197. data/ext/cargo-vendor/rayon-1.11.0/src/range.rs +457 -0
  198. data/ext/cargo-vendor/rayon-1.11.0/src/range_inclusive.rs +381 -0
  199. data/ext/cargo-vendor/rayon-1.11.0/src/result.rs +132 -0
  200. data/ext/cargo-vendor/rayon-1.11.0/src/slice/chunk_by.rs +239 -0
  201. data/ext/cargo-vendor/rayon-1.11.0/src/slice/chunks.rs +387 -0
  202. data/ext/cargo-vendor/rayon-1.11.0/src/slice/mod.rs +1242 -0
  203. data/ext/cargo-vendor/rayon-1.11.0/src/slice/rchunks.rs +385 -0
  204. data/ext/cargo-vendor/rayon-1.11.0/src/slice/sort.rs +1686 -0
  205. data/ext/cargo-vendor/rayon-1.11.0/src/slice/test.rs +216 -0
  206. data/ext/cargo-vendor/rayon-1.11.0/src/str.rs +1005 -0
  207. data/ext/cargo-vendor/rayon-1.11.0/src/vec.rs +292 -0
  208. data/ext/cargo-vendor/rayon-1.11.0/tests/clones.rs +222 -0
  209. data/ext/cargo-vendor/rayon-1.11.0/tests/collect.rs +113 -0
  210. data/ext/cargo-vendor/rayon-1.11.0/tests/debug.rs +233 -0
  211. data/ext/cargo-vendor/rayon-1.11.0/tests/named-threads.rs +25 -0
  212. data/ext/cargo-vendor/rayon-1.11.0/tests/producer_split_at.rs +386 -0
  213. data/ext/cargo-vendor/rayon-1.11.0/tests/sort-panic-safe.rs +164 -0
  214. data/ext/cargo-vendor/rayon-1.11.0/tests/str.rs +122 -0
  215. data/ext/cargo-vendor/rayon-core-1.13.0/.cargo-checksum.json +1 -0
  216. data/ext/cargo-vendor/rayon-core-1.13.0/.cargo_vcs_info.json +6 -0
  217. data/ext/cargo-vendor/rayon-core-1.13.0/Cargo.lock +309 -0
  218. data/ext/cargo-vendor/rayon-core-1.13.0/Cargo.toml +93 -0
  219. data/ext/cargo-vendor/rayon-core-1.13.0/Cargo.toml.orig +35 -0
  220. data/ext/cargo-vendor/rayon-core-1.13.0/README.md +11 -0
  221. data/ext/cargo-vendor/rayon-core-1.13.0/src/broadcast/mod.rs +150 -0
  222. data/ext/cargo-vendor/rayon-core-1.13.0/src/join/mod.rs +186 -0
  223. data/ext/cargo-vendor/rayon-core-1.13.0/src/join/test.rs +150 -0
  224. data/ext/cargo-vendor/rayon-core-1.13.0/src/latch.rs +457 -0
  225. data/ext/cargo-vendor/rayon-core-1.13.0/src/lib.rs +864 -0
  226. data/ext/cargo-vendor/rayon-core-1.13.0/src/registry.rs +1002 -0
  227. data/ext/cargo-vendor/rayon-core-1.13.0/src/scope/mod.rs +773 -0
  228. data/ext/cargo-vendor/rayon-core-1.13.0/src/scope/test.rs +621 -0
  229. data/ext/cargo-vendor/rayon-core-1.13.0/src/sleep/README.md +219 -0
  230. data/ext/cargo-vendor/rayon-core-1.13.0/src/sleep/counters.rs +273 -0
  231. data/ext/cargo-vendor/rayon-core-1.13.0/src/sleep/mod.rs +324 -0
  232. data/ext/cargo-vendor/rayon-core-1.13.0/src/spawn/mod.rs +163 -0
  233. data/ext/cargo-vendor/rayon-core-1.13.0/src/spawn/test.rs +255 -0
  234. data/ext/cargo-vendor/rayon-core-1.13.0/src/test.rs +200 -0
  235. data/ext/cargo-vendor/rayon-core-1.13.0/src/thread_pool/mod.rs +502 -0
  236. data/ext/cargo-vendor/rayon-core-1.13.0/src/thread_pool/test.rs +418 -0
  237. data/ext/cargo-vendor/rayon-core-1.13.0/tests/use_current_thread.rs +57 -0
  238. data/ext/cargo-vendor/serde_json-1.0.143/.cargo-checksum.json +1 -0
  239. data/ext/cargo-vendor/serde_json-1.0.143/.cargo_vcs_info.json +6 -0
  240. data/ext/cargo-vendor/serde_json-1.0.143/.github/workflows/ci.yml +156 -0
  241. data/ext/cargo-vendor/serde_json-1.0.143/Cargo.lock +419 -0
  242. data/ext/cargo-vendor/serde_json-1.0.143/Cargo.toml +157 -0
  243. data/ext/cargo-vendor/serde_json-1.0.143/Cargo.toml.orig +91 -0
  244. data/ext/cargo-vendor/serde_json-1.0.143/src/lib.rs +438 -0
  245. data/ext/cargo-vendor/serde_json-1.0.143/src/map.rs +1181 -0
  246. data/ext/cargo-vendor/serde_json-1.0.143/src/ser.rs +2285 -0
  247. data/ext/cargo-vendor/serde_json-1.0.143/src/value/de.rs +1507 -0
  248. data/ext/cargo-vendor/tempfile-3.21.0/.cargo-checksum.json +1 -0
  249. data/ext/cargo-vendor/tempfile-3.21.0/.cargo_vcs_info.json +6 -0
  250. data/ext/cargo-vendor/tempfile-3.21.0/.github/workflows/ci.yml +109 -0
  251. data/ext/cargo-vendor/tempfile-3.21.0/CHANGELOG.md +364 -0
  252. data/ext/cargo-vendor/tempfile-3.21.0/Cargo.lock +196 -0
  253. data/ext/cargo-vendor/tempfile-3.21.0/Cargo.toml +98 -0
  254. data/ext/cargo-vendor/tempfile-3.21.0/Cargo.toml.orig +47 -0
  255. data/ext/cargo-vendor/winapi-util-0.1.10/.cargo-checksum.json +1 -0
  256. data/ext/cargo-vendor/winapi-util-0.1.10/.cargo_vcs_info.json +6 -0
  257. data/ext/cargo-vendor/winapi-util-0.1.10/.github/FUNDING.yml +1 -0
  258. data/ext/cargo-vendor/winapi-util-0.1.10/Cargo.lock +83 -0
  259. data/ext/cargo-vendor/winapi-util-0.1.10/Cargo.toml +54 -0
  260. data/ext/cargo-vendor/winapi-util-0.1.10/Cargo.toml.orig +25 -0
  261. data/ext/code_ownership/Cargo.toml +9 -9
  262. data/ext/code_ownership/src/lib.rs +40 -6
  263. data/lib/code_ownership/cli.rb +5 -18
  264. data/lib/code_ownership/private/for_file_output_builder.rb +83 -0
  265. data/lib/code_ownership/private/team_finder.rb +21 -7
  266. data/lib/code_ownership/version.rb +1 -1
  267. data/lib/code_ownership.rb +173 -6
  268. metadata +513 -706
  269. data/ext/cargo-vendor/codeowners-0.2.7/.cargo-checksum.json +0 -1
  270. data/ext/cargo-vendor/codeowners-0.2.7/Cargo.lock +0 -1230
  271. data/ext/cargo-vendor/codeowners-0.2.7/Cargo.toml +0 -95
  272. data/ext/cargo-vendor/codeowners-0.2.7/README.md +0 -204
  273. data/ext/cargo-vendor/codeowners-0.2.7/dev/run_benchmarks_for_gv.sh +0 -13
  274. data/ext/cargo-vendor/codeowners-0.2.7/rust-toolchain.toml +0 -4
  275. data/ext/cargo-vendor/codeowners-0.2.7/src/cache/file.rs +0 -181
  276. data/ext/cargo-vendor/codeowners-0.2.7/src/cli.rs +0 -119
  277. data/ext/cargo-vendor/codeowners-0.2.7/src/common_test.rs +0 -338
  278. data/ext/cargo-vendor/codeowners-0.2.7/src/config.rs +0 -118
  279. data/ext/cargo-vendor/codeowners-0.2.7/src/lib.rs +0 -8
  280. data/ext/cargo-vendor/codeowners-0.2.7/src/main.rs +0 -43
  281. data/ext/cargo-vendor/codeowners-0.2.7/src/ownership/file_generator.rs +0 -203
  282. data/ext/cargo-vendor/codeowners-0.2.7/src/ownership/for_file_fast.rs +0 -425
  283. data/ext/cargo-vendor/codeowners-0.2.7/src/ownership/mapper/package_mapper.rs +0 -220
  284. data/ext/cargo-vendor/codeowners-0.2.7/src/ownership/mapper/team_file_mapper.rs +0 -123
  285. data/ext/cargo-vendor/codeowners-0.2.7/src/ownership/mapper.rs +0 -249
  286. data/ext/cargo-vendor/codeowners-0.2.7/src/ownership/parser.rs +0 -486
  287. data/ext/cargo-vendor/codeowners-0.2.7/src/ownership/tests.rs +0 -219
  288. data/ext/cargo-vendor/codeowners-0.2.7/src/ownership/validator.rs +0 -218
  289. data/ext/cargo-vendor/codeowners-0.2.7/src/ownership.rs +0 -220
  290. data/ext/cargo-vendor/codeowners-0.2.7/src/project.rs +0 -229
  291. data/ext/cargo-vendor/codeowners-0.2.7/src/project_builder.rs +0 -319
  292. data/ext/cargo-vendor/codeowners-0.2.7/src/project_file_builder.rs +0 -75
  293. data/ext/cargo-vendor/codeowners-0.2.7/src/runner.rs +0 -312
  294. data/ext/cargo-vendor/codeowners-0.2.7/tests/common/mod.rs +0 -113
  295. data/ext/cargo-vendor/codeowners-0.2.7/tests/fixtures/multiple-directory-owners/config/code_ownership.yml +0 -10
  296. data/ext/cargo-vendor/codeowners-0.2.7/tests/fixtures/valid_project/.github/CODEOWNERS +0 -37
  297. data/ext/cargo-vendor/codeowners-0.2.7/tests/fixtures/valid_project/config/code_ownership.yml +0 -10
  298. data/ext/cargo-vendor/codeowners-0.2.7/tests/fixtures/valid_project/ruby/app/models/payroll.rb +0 -3
  299. data/ext/cargo-vendor/codeowners-0.2.7/tests/invalid_project_test.rs +0 -90
  300. data/ext/cargo-vendor/codeowners-0.2.7/tests/multiple_directory_owners_test.rs +0 -35
  301. data/ext/cargo-vendor/codeowners-0.2.7/tests/valid_project_test.rs +0 -284
  302. data/ext/cargo-vendor/glob-0.3.2/.cargo-checksum.json +0 -1
  303. data/ext/cargo-vendor/glob-0.3.2/.cargo_vcs_info.json +0 -6
  304. data/ext/cargo-vendor/glob-0.3.2/.github/workflows/rust.yml +0 -65
  305. data/ext/cargo-vendor/glob-0.3.2/CHANGELOG.md +0 -33
  306. data/ext/cargo-vendor/glob-0.3.2/Cargo.lock +0 -107
  307. data/ext/cargo-vendor/glob-0.3.2/Cargo.toml +0 -45
  308. data/ext/cargo-vendor/glob-0.3.2/Cargo.toml.orig +0 -19
  309. data/ext/cargo-vendor/glob-0.3.2/README.md +0 -37
  310. data/ext/cargo-vendor/glob-0.3.2/src/lib.rs +0 -1501
  311. data/ext/cargo-vendor/glob-0.3.2/tests/glob-std.rs +0 -474
  312. data/ext/cargo-vendor/indexmap-2.10.0/.cargo-checksum.json +0 -1
  313. data/ext/cargo-vendor/indexmap-2.10.0/.cargo_vcs_info.json +0 -6
  314. data/ext/cargo-vendor/indexmap-2.10.0/.github/workflows/ci.yml +0 -159
  315. data/ext/cargo-vendor/indexmap-2.10.0/Cargo.lock +0 -236
  316. data/ext/cargo-vendor/indexmap-2.10.0/Cargo.toml +0 -142
  317. data/ext/cargo-vendor/indexmap-2.10.0/Cargo.toml.orig +0 -61
  318. data/ext/cargo-vendor/indexmap-2.10.0/RELEASES.md +0 -563
  319. data/ext/cargo-vendor/indexmap-2.10.0/src/lib.rs +0 -288
  320. data/ext/cargo-vendor/indexmap-2.10.0/src/map/core/entry.rs +0 -574
  321. data/ext/cargo-vendor/indexmap-2.10.0/src/map/core.rs +0 -735
  322. data/ext/cargo-vendor/indexmap-2.10.0/src/map/mutable.rs +0 -165
  323. data/ext/cargo-vendor/indexmap-2.10.0/src/map/slice.rs +0 -751
  324. data/ext/cargo-vendor/indexmap-2.10.0/src/map/tests.rs +0 -1228
  325. data/ext/cargo-vendor/indexmap-2.10.0/src/map.rs +0 -1697
  326. data/ext/cargo-vendor/indexmap-2.10.0/src/rayon/map.rs +0 -662
  327. data/ext/cargo-vendor/indexmap-2.10.0/src/rayon/set.rs +0 -755
  328. data/ext/cargo-vendor/indexmap-2.10.0/src/set/mutable.rs +0 -86
  329. data/ext/cargo-vendor/indexmap-2.10.0/src/set/slice.rs +0 -380
  330. data/ext/cargo-vendor/indexmap-2.10.0/src/set/tests.rs +0 -999
  331. data/ext/cargo-vendor/indexmap-2.10.0/src/set.rs +0 -1340
  332. data/ext/cargo-vendor/indexmap-2.10.0/tests/quick.rs +0 -800
  333. data/ext/cargo-vendor/rayon-1.10.0/.cargo-checksum.json +0 -1
  334. data/ext/cargo-vendor/rayon-1.10.0/.cargo_vcs_info.json +0 -6
  335. data/ext/cargo-vendor/rayon-1.10.0/Cargo.toml +0 -61
  336. data/ext/cargo-vendor/rayon-1.10.0/Cargo.toml.orig +0 -39
  337. data/ext/cargo-vendor/rayon-1.10.0/FAQ.md +0 -227
  338. data/ext/cargo-vendor/rayon-1.10.0/README.md +0 -151
  339. data/ext/cargo-vendor/rayon-1.10.0/RELEASES.md +0 -909
  340. data/ext/cargo-vendor/rayon-1.10.0/src/array.rs +0 -85
  341. data/ext/cargo-vendor/rayon-1.10.0/src/collections/binary_heap.rs +0 -120
  342. data/ext/cargo-vendor/rayon-1.10.0/src/collections/btree_map.rs +0 -66
  343. data/ext/cargo-vendor/rayon-1.10.0/src/collections/btree_set.rs +0 -52
  344. data/ext/cargo-vendor/rayon-1.10.0/src/collections/hash_map.rs +0 -96
  345. data/ext/cargo-vendor/rayon-1.10.0/src/collections/hash_set.rs +0 -80
  346. data/ext/cargo-vendor/rayon-1.10.0/src/collections/linked_list.rs +0 -66
  347. data/ext/cargo-vendor/rayon-1.10.0/src/collections/mod.rs +0 -84
  348. data/ext/cargo-vendor/rayon-1.10.0/src/collections/vec_deque.rs +0 -159
  349. data/ext/cargo-vendor/rayon-1.10.0/src/iter/blocks.rs +0 -131
  350. data/ext/cargo-vendor/rayon-1.10.0/src/iter/chain.rs +0 -267
  351. data/ext/cargo-vendor/rayon-1.10.0/src/iter/chunks.rs +0 -224
  352. data/ext/cargo-vendor/rayon-1.10.0/src/iter/cloned.rs +0 -223
  353. data/ext/cargo-vendor/rayon-1.10.0/src/iter/collect/mod.rs +0 -116
  354. data/ext/cargo-vendor/rayon-1.10.0/src/iter/collect/test.rs +0 -373
  355. data/ext/cargo-vendor/rayon-1.10.0/src/iter/copied.rs +0 -223
  356. data/ext/cargo-vendor/rayon-1.10.0/src/iter/empty.rs +0 -104
  357. data/ext/cargo-vendor/rayon-1.10.0/src/iter/enumerate.rs +0 -133
  358. data/ext/cargo-vendor/rayon-1.10.0/src/iter/filter.rs +0 -141
  359. data/ext/cargo-vendor/rayon-1.10.0/src/iter/filter_map.rs +0 -142
  360. data/ext/cargo-vendor/rayon-1.10.0/src/iter/find_first_last/mod.rs +0 -230
  361. data/ext/cargo-vendor/rayon-1.10.0/src/iter/find_first_last/test.rs +0 -105
  362. data/ext/cargo-vendor/rayon-1.10.0/src/iter/flat_map.rs +0 -154
  363. data/ext/cargo-vendor/rayon-1.10.0/src/iter/flat_map_iter.rs +0 -147
  364. data/ext/cargo-vendor/rayon-1.10.0/src/iter/flatten.rs +0 -140
  365. data/ext/cargo-vendor/rayon-1.10.0/src/iter/flatten_iter.rs +0 -132
  366. data/ext/cargo-vendor/rayon-1.10.0/src/iter/fold.rs +0 -302
  367. data/ext/cargo-vendor/rayon-1.10.0/src/iter/fold_chunks.rs +0 -236
  368. data/ext/cargo-vendor/rayon-1.10.0/src/iter/fold_chunks_with.rs +0 -231
  369. data/ext/cargo-vendor/rayon-1.10.0/src/iter/from_par_iter.rs +0 -310
  370. data/ext/cargo-vendor/rayon-1.10.0/src/iter/inspect.rs +0 -257
  371. data/ext/cargo-vendor/rayon-1.10.0/src/iter/interleave.rs +0 -335
  372. data/ext/cargo-vendor/rayon-1.10.0/src/iter/interleave_shortest.rs +0 -85
  373. data/ext/cargo-vendor/rayon-1.10.0/src/iter/intersperse.rs +0 -410
  374. data/ext/cargo-vendor/rayon-1.10.0/src/iter/len.rs +0 -270
  375. data/ext/cargo-vendor/rayon-1.10.0/src/iter/map.rs +0 -259
  376. data/ext/cargo-vendor/rayon-1.10.0/src/iter/map_with.rs +0 -573
  377. data/ext/cargo-vendor/rayon-1.10.0/src/iter/mod.rs +0 -3656
  378. data/ext/cargo-vendor/rayon-1.10.0/src/iter/multizip.rs +0 -338
  379. data/ext/cargo-vendor/rayon-1.10.0/src/iter/once.rs +0 -68
  380. data/ext/cargo-vendor/rayon-1.10.0/src/iter/panic_fuse.rs +0 -342
  381. data/ext/cargo-vendor/rayon-1.10.0/src/iter/par_bridge.rs +0 -159
  382. data/ext/cargo-vendor/rayon-1.10.0/src/iter/plumbing/mod.rs +0 -483
  383. data/ext/cargo-vendor/rayon-1.10.0/src/iter/positions.rs +0 -137
  384. data/ext/cargo-vendor/rayon-1.10.0/src/iter/repeat.rs +0 -241
  385. data/ext/cargo-vendor/rayon-1.10.0/src/iter/rev.rs +0 -123
  386. data/ext/cargo-vendor/rayon-1.10.0/src/iter/skip.rs +0 -94
  387. data/ext/cargo-vendor/rayon-1.10.0/src/iter/skip_any.rs +0 -144
  388. data/ext/cargo-vendor/rayon-1.10.0/src/iter/skip_any_while.rs +0 -166
  389. data/ext/cargo-vendor/rayon-1.10.0/src/iter/splitter.rs +0 -174
  390. data/ext/cargo-vendor/rayon-1.10.0/src/iter/step_by.rs +0 -141
  391. data/ext/cargo-vendor/rayon-1.10.0/src/iter/take.rs +0 -85
  392. data/ext/cargo-vendor/rayon-1.10.0/src/iter/take_any.rs +0 -144
  393. data/ext/cargo-vendor/rayon-1.10.0/src/iter/take_any_while.rs +0 -166
  394. data/ext/cargo-vendor/rayon-1.10.0/src/iter/test.rs +0 -2333
  395. data/ext/cargo-vendor/rayon-1.10.0/src/iter/try_fold.rs +0 -298
  396. data/ext/cargo-vendor/rayon-1.10.0/src/iter/unzip.rs +0 -525
  397. data/ext/cargo-vendor/rayon-1.10.0/src/iter/update.rs +0 -327
  398. data/ext/cargo-vendor/rayon-1.10.0/src/iter/walk_tree.rs +0 -529
  399. data/ext/cargo-vendor/rayon-1.10.0/src/iter/while_some.rs +0 -154
  400. data/ext/cargo-vendor/rayon-1.10.0/src/iter/zip.rs +0 -158
  401. data/ext/cargo-vendor/rayon-1.10.0/src/iter/zip_eq.rs +0 -72
  402. data/ext/cargo-vendor/rayon-1.10.0/src/lib.rs +0 -160
  403. data/ext/cargo-vendor/rayon-1.10.0/src/math.rs +0 -54
  404. data/ext/cargo-vendor/rayon-1.10.0/src/option.rs +0 -203
  405. data/ext/cargo-vendor/rayon-1.10.0/src/range.rs +0 -454
  406. data/ext/cargo-vendor/rayon-1.10.0/src/range_inclusive.rs +0 -381
  407. data/ext/cargo-vendor/rayon-1.10.0/src/result.rs +0 -132
  408. data/ext/cargo-vendor/rayon-1.10.0/src/slice/chunk_by.rs +0 -244
  409. data/ext/cargo-vendor/rayon-1.10.0/src/slice/chunks.rs +0 -388
  410. data/ext/cargo-vendor/rayon-1.10.0/src/slice/mergesort.rs +0 -755
  411. data/ext/cargo-vendor/rayon-1.10.0/src/slice/mod.rs +0 -1226
  412. data/ext/cargo-vendor/rayon-1.10.0/src/slice/quicksort.rs +0 -902
  413. data/ext/cargo-vendor/rayon-1.10.0/src/slice/rchunks.rs +0 -386
  414. data/ext/cargo-vendor/rayon-1.10.0/src/slice/test.rs +0 -216
  415. data/ext/cargo-vendor/rayon-1.10.0/src/str.rs +0 -1010
  416. data/ext/cargo-vendor/rayon-1.10.0/src/vec.rs +0 -283
  417. data/ext/cargo-vendor/rayon-1.10.0/tests/clones.rs +0 -222
  418. data/ext/cargo-vendor/rayon-1.10.0/tests/collect.rs +0 -113
  419. data/ext/cargo-vendor/rayon-1.10.0/tests/debug.rs +0 -233
  420. data/ext/cargo-vendor/rayon-1.10.0/tests/named-threads.rs +0 -25
  421. data/ext/cargo-vendor/rayon-1.10.0/tests/producer_split_at.rs +0 -391
  422. data/ext/cargo-vendor/rayon-1.10.0/tests/sort-panic-safe.rs +0 -167
  423. data/ext/cargo-vendor/rayon-1.10.0/tests/str.rs +0 -119
  424. data/ext/cargo-vendor/rayon-core-1.12.1/.cargo-checksum.json +0 -1
  425. data/ext/cargo-vendor/rayon-core-1.12.1/.cargo_vcs_info.json +0 -6
  426. data/ext/cargo-vendor/rayon-core-1.12.1/Cargo.toml +0 -88
  427. data/ext/cargo-vendor/rayon-core-1.12.1/Cargo.toml.orig +0 -68
  428. data/ext/cargo-vendor/rayon-core-1.12.1/README.md +0 -11
  429. data/ext/cargo-vendor/rayon-core-1.12.1/src/broadcast/mod.rs +0 -150
  430. data/ext/cargo-vendor/rayon-core-1.12.1/src/join/mod.rs +0 -188
  431. data/ext/cargo-vendor/rayon-core-1.12.1/src/join/test.rs +0 -151
  432. data/ext/cargo-vendor/rayon-core-1.12.1/src/latch.rs +0 -461
  433. data/ext/cargo-vendor/rayon-core-1.12.1/src/lib.rs +0 -875
  434. data/ext/cargo-vendor/rayon-core-1.12.1/src/registry.rs +0 -996
  435. data/ext/cargo-vendor/rayon-core-1.12.1/src/scope/mod.rs +0 -769
  436. data/ext/cargo-vendor/rayon-core-1.12.1/src/scope/test.rs +0 -619
  437. data/ext/cargo-vendor/rayon-core-1.12.1/src/sleep/README.md +0 -219
  438. data/ext/cargo-vendor/rayon-core-1.12.1/src/sleep/counters.rs +0 -277
  439. data/ext/cargo-vendor/rayon-core-1.12.1/src/sleep/mod.rs +0 -325
  440. data/ext/cargo-vendor/rayon-core-1.12.1/src/spawn/mod.rs +0 -163
  441. data/ext/cargo-vendor/rayon-core-1.12.1/src/spawn/test.rs +0 -255
  442. data/ext/cargo-vendor/rayon-core-1.12.1/src/test.rs +0 -200
  443. data/ext/cargo-vendor/rayon-core-1.12.1/src/thread_pool/mod.rs +0 -508
  444. data/ext/cargo-vendor/rayon-core-1.12.1/src/thread_pool/test.rs +0 -418
  445. data/ext/cargo-vendor/rayon-core-1.12.1/tests/use_current_thread.rs +0 -57
  446. data/ext/cargo-vendor/serde_json-1.0.142/.cargo-checksum.json +0 -1
  447. data/ext/cargo-vendor/serde_json-1.0.142/.cargo_vcs_info.json +0 -6
  448. data/ext/cargo-vendor/serde_json-1.0.142/.github/workflows/ci.yml +0 -158
  449. data/ext/cargo-vendor/serde_json-1.0.142/Cargo.lock +0 -419
  450. data/ext/cargo-vendor/serde_json-1.0.142/Cargo.toml +0 -157
  451. data/ext/cargo-vendor/serde_json-1.0.142/Cargo.toml.orig +0 -91
  452. data/ext/cargo-vendor/serde_json-1.0.142/src/lib.rs +0 -438
  453. data/ext/cargo-vendor/serde_json-1.0.142/src/map.rs +0 -1174
  454. data/ext/cargo-vendor/serde_json-1.0.142/src/ser.rs +0 -2285
  455. data/ext/cargo-vendor/serde_json-1.0.142/src/value/de.rs +0 -1500
  456. data/ext/cargo-vendor/tempfile-3.20.0/.cargo-checksum.json +0 -1
  457. data/ext/cargo-vendor/tempfile-3.20.0/.cargo_vcs_info.json +0 -6
  458. data/ext/cargo-vendor/tempfile-3.20.0/.github/workflows/ci.yml +0 -107
  459. data/ext/cargo-vendor/tempfile-3.20.0/CHANGELOG.md +0 -360
  460. data/ext/cargo-vendor/tempfile-3.20.0/Cargo.lock +0 -183
  461. data/ext/cargo-vendor/tempfile-3.20.0/Cargo.toml +0 -98
  462. data/ext/cargo-vendor/tempfile-3.20.0/Cargo.toml.orig +0 -47
  463. data/ext/cargo-vendor/winapi-util-0.1.9/.cargo-checksum.json +0 -1
  464. data/ext/cargo-vendor/winapi-util-0.1.9/.cargo_vcs_info.json +0 -6
  465. data/ext/cargo-vendor/winapi-util-0.1.9/Cargo.toml +0 -53
  466. data/ext/cargo-vendor/winapi-util-0.1.9/Cargo.toml.orig +0 -25
  467. data/ext/cargo-vendor/windows-sys-0.59.0/.cargo-checksum.json +0 -1
  468. data/ext/cargo-vendor/windows-sys-0.59.0/.cargo_vcs_info.json +0 -6
  469. data/ext/cargo-vendor/windows-sys-0.59.0/Cargo.toml +0 -298
  470. data/ext/cargo-vendor/windows-sys-0.59.0/Cargo.toml.orig +0 -274
  471. data/ext/cargo-vendor/windows-sys-0.59.0/license-apache-2.0 +0 -201
  472. data/ext/cargo-vendor/windows-sys-0.59.0/license-mit +0 -21
  473. data/ext/cargo-vendor/windows-sys-0.59.0/readme.md +0 -87
  474. data/ext/cargo-vendor/windows-sys-0.59.0/rustfmt.toml +0 -2
  475. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/Devices/Bluetooth/mod.rs +0 -32
  476. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/Devices/HumanInterfaceDevice/mod.rs +0 -39
  477. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/Devices/mod.rs +0 -4
  478. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/Foundation/mod.rs +0 -1317
  479. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/Graphics/Direct3D/mod.rs +0 -9170
  480. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/Graphics/mod.rs +0 -2
  481. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/NetworkManagement/Ndis/mod.rs +0 -3892
  482. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/NetworkManagement/WindowsFilteringPlatform/mod.rs +0 -269
  483. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/NetworkManagement/mod.rs +0 -4
  484. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/Storage/FileSystem/Minifilters/mod.rs +0 -1392
  485. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/Storage/FileSystem/mod.rs +0 -4503
  486. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/Storage/mod.rs +0 -2
  487. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/System/IO/mod.rs +0 -2
  488. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/System/Memory/mod.rs +0 -11
  489. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/System/OfflineRegistry/mod.rs +0 -28
  490. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/System/Registry/mod.rs +0 -180
  491. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/System/SystemInformation/mod.rs +0 -18
  492. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/System/SystemServices/mod.rs +0 -13663
  493. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/System/Threading/mod.rs +0 -155
  494. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/System/mod.rs +0 -14
  495. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Wdk/mod.rs +0 -12
  496. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Data/HtmlHelp/mod.rs +0 -447
  497. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Data/RightsManagement/mod.rs +0 -237
  498. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Data/mod.rs +0 -4
  499. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/AllJoyn/mod.rs +0 -1273
  500. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/BiometricFramework/mod.rs +0 -1481
  501. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Bluetooth/mod.rs +0 -1419
  502. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Communication/mod.rs +0 -312
  503. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/DeviceAndDriverInstallation/mod.rs +0 -3969
  504. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/DeviceQuery/mod.rs +0 -141
  505. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Display/mod.rs +0 -3141
  506. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Enumeration/Pnp/mod.rs +0 -96
  507. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Enumeration/mod.rs +0 -2
  508. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Fax/mod.rs +0 -1203
  509. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/HumanInterfaceDevice/mod.rs +0 -3684
  510. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/PortableDevices/mod.rs +0 -1999
  511. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Properties/mod.rs +0 -261
  512. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Pwm/mod.rs +0 -73
  513. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Sensors/mod.rs +0 -687
  514. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/SerialCommunication/mod.rs +0 -230
  515. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Tapi/mod.rs +0 -3217
  516. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/Usb/mod.rs +0 -2694
  517. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/WebServicesOnDevices/mod.rs +0 -660
  518. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Devices/mod.rs +0 -36
  519. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Foundation/mod.rs +0 -10318
  520. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Gaming/mod.rs +0 -99
  521. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Globalization/mod.rs +0 -5135
  522. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Graphics/Dwm/mod.rs +0 -232
  523. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Graphics/Gdi/mod.rs +0 -3857
  524. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Graphics/GdiPlus/mod.rs +0 -2307
  525. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Graphics/Hlsl/mod.rs +0 -2
  526. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Graphics/OpenGL/mod.rs +0 -1276
  527. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Graphics/Printing/PrintTicket/mod.rs +0 -28
  528. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Graphics/Printing/mod.rs +0 -4147
  529. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Graphics/mod.rs +0 -12
  530. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Management/MobileDeviceManagementRegistration/mod.rs +0 -101
  531. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Management/mod.rs +0 -2
  532. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Media/Audio/mod.rs +0 -2052
  533. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Media/DxMediaObjects/mod.rs +0 -94
  534. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Media/KernelStreaming/mod.rs +0 -5281
  535. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Media/Multimedia/mod.rs +0 -6442
  536. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Media/Streaming/mod.rs +0 -117
  537. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Media/WindowsMediaFormat/mod.rs +0 -910
  538. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Media/mod.rs +0 -187
  539. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/Dhcp/mod.rs +0 -1926
  540. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/Dns/mod.rs +0 -1564
  541. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/InternetConnectionWizard/mod.rs +0 -22
  542. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/IpHelper/mod.rs +0 -3004
  543. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/Multicast/mod.rs +0 -59
  544. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/Ndis/mod.rs +0 -3334
  545. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/NetBios/mod.rs +0 -211
  546. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/NetManagement/mod.rs +0 -4814
  547. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/NetShell/mod.rs +0 -160
  548. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/NetworkDiagnosticsFramework/mod.rs +0 -222
  549. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/P2P/mod.rs +0 -1196
  550. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/QoS/mod.rs +0 -1447
  551. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/Rras/mod.rs +0 -3212
  552. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/Snmp/mod.rs +0 -381
  553. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/WNet/mod.rs +0 -363
  554. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/WebDav/mod.rs +0 -47
  555. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/WiFi/mod.rs +0 -4311
  556. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/WindowsConnectionManager/mod.rs +0 -119
  557. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/WindowsFilteringPlatform/mod.rs +0 -3818
  558. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/WindowsFirewall/mod.rs +0 -281
  559. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/WindowsNetworkVirtualization/mod.rs +0 -104
  560. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/NetworkManagement/mod.rs +0 -42
  561. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/ActiveDirectory/mod.rs +0 -2383
  562. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/Clustering/mod.rs +0 -3900
  563. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/HttpServer/mod.rs +0 -1239
  564. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/Ldap/mod.rs +0 -817
  565. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/WebSocket/mod.rs +0 -88
  566. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/WinHttp/mod.rs +0 -1109
  567. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/WinInet/mod.rs +0 -2168
  568. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/WinSock/mod.rs +0 -4786
  569. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/WindowsWebServices/mod.rs +0 -3480
  570. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Networking/mod.rs +0 -18
  571. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/AppLocker/mod.rs +0 -172
  572. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Authentication/Identity/mod.rs +0 -5701
  573. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Authentication/mod.rs +0 -2
  574. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Authorization/mod.rs +0 -984
  575. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Credentials/mod.rs +0 -797
  576. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Cryptography/Catalog/mod.rs +0 -151
  577. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Cryptography/Certificates/mod.rs +0 -2315
  578. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Cryptography/Sip/mod.rs +0 -155
  579. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Cryptography/UI/mod.rs +0 -545
  580. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Cryptography/mod.rs +0 -8528
  581. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/DiagnosticDataQuery/mod.rs +0 -156
  582. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/DirectoryServices/mod.rs +0 -19
  583. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/EnterpriseData/mod.rs +0 -36
  584. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/ExtensibleAuthenticationProtocol/mod.rs +0 -998
  585. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/Isolation/mod.rs +0 -20
  586. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/LicenseProtection/mod.rs +0 -8
  587. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/NetworkAccessProtection/mod.rs +0 -149
  588. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/WinTrust/mod.rs +0 -863
  589. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/WinWlx/mod.rs +0 -335
  590. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Security/mod.rs +0 -1156
  591. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/Cabinets/mod.rs +0 -209
  592. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/CloudFilters/mod.rs +0 -666
  593. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/Compression/mod.rs +0 -36
  594. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/DistributedFileSystem/mod.rs +0 -342
  595. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/FileHistory/mod.rs +0 -97
  596. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/FileSystem/mod.rs +0 -3699
  597. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/Imapi/mod.rs +0 -697
  598. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/IndexServer/mod.rs +0 -279
  599. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/InstallableFileSystems/mod.rs +0 -331
  600. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/IscsiDisc/mod.rs +0 -1291
  601. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/Jet/mod.rs +0 -2593
  602. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/Nvme/mod.rs +0 -3428
  603. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/OfflineFiles/mod.rs +0 -276
  604. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/OperationRecorder/mod.rs +0 -20
  605. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/Packaging/Appx/mod.rs +0 -377
  606. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/Packaging/mod.rs +0 -2
  607. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/ProjectedFileSystem/mod.rs +0 -246
  608. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/StructuredStorage/mod.rs +0 -3
  609. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/Vhd/mod.rs +0 -720
  610. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/Xps/mod.rs +0 -415
  611. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Storage/mod.rs +0 -38
  612. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/AddressBook/mod.rs +0 -938
  613. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Antimalware/mod.rs +0 -112
  614. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/ApplicationInstallationAndServicing/mod.rs +0 -2145
  615. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/ApplicationVerifier/mod.rs +0 -58
  616. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/ClrHosting/mod.rs +0 -322
  617. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Com/Marshal/mod.rs +0 -172
  618. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Com/StructuredStorage/mod.rs +0 -655
  619. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Com/Urlmon/mod.rs +0 -905
  620. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Com/mod.rs +0 -1227
  621. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/ComponentServices/mod.rs +0 -574
  622. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Console/mod.rs +0 -373
  623. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/CorrelationVector/mod.rs +0 -15
  624. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/DataExchange/mod.rs +0 -428
  625. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/DeploymentServices/mod.rs +0 -565
  626. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/DeveloperLicensing/mod.rs +0 -3
  627. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Diagnostics/Ceip/mod.rs +0 -1
  628. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Diagnostics/Debug/Extensions/mod.rs +0 -3710
  629. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Diagnostics/Debug/mod.rs +0 -5557
  630. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Diagnostics/Etw/mod.rs +0 -2042
  631. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Diagnostics/ProcessSnapshotting/mod.rs +0 -293
  632. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Diagnostics/ToolHelp/mod.rs +0 -119
  633. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Diagnostics/TraceLogging/mod.rs +0 -105
  634. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Diagnostics/mod.rs +0 -12
  635. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/DistributedTransactionCoordinator/mod.rs +0 -308
  636. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Environment/mod.rs +0 -202
  637. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/ErrorReporting/mod.rs +0 -393
  638. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/EventCollector/mod.rs +0 -117
  639. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/EventLog/mod.rs +0 -379
  640. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/EventNotificationService/mod.rs +0 -35
  641. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/GroupPolicy/mod.rs +0 -424
  642. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/HostCompute/mod.rs +0 -1
  643. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/HostComputeNetwork/mod.rs +0 -86
  644. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/HostComputeSystem/mod.rs +0 -171
  645. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Hypervisor/mod.rs +0 -1983
  646. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/IO/mod.rs +0 -53
  647. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Iis/mod.rs +0 -1411
  648. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Ioctl/mod.rs +0 -6216
  649. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/JobObjects/mod.rs +0 -434
  650. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Js/mod.rs +0 -154
  651. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Kernel/mod.rs +0 -295
  652. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/LibraryLoader/mod.rs +0 -106
  653. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Mailslots/mod.rs +0 -6
  654. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Mapi/mod.rs +0 -150
  655. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Memory/NonVolatile/mod.rs +0 -20
  656. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Memory/mod.rs +0 -464
  657. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/MessageQueuing/mod.rs +0 -712
  658. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/MixedReality/mod.rs +0 -14
  659. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Ole/mod.rs +0 -2599
  660. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/PasswordManagement/mod.rs +0 -22
  661. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Performance/HardwareCounterProfiling/mod.rs +0 -27
  662. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Performance/mod.rs +0 -1091
  663. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Pipes/mod.rs +0 -42
  664. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Power/mod.rs +0 -1413
  665. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/ProcessStatus/mod.rs +0 -200
  666. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Recovery/mod.rs +0 -15
  667. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Registry/mod.rs +0 -1114
  668. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/RemoteDesktop/mod.rs +0 -1771
  669. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/RemoteManagement/mod.rs +0 -935
  670. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/RestartManager/mod.rs +0 -86
  671. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Restore/mod.rs +0 -66
  672. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Rpc/mod.rs +0 -2668
  673. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Search/Common/mod.rs +0 -21
  674. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Search/mod.rs +0 -5993
  675. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/SecurityCenter/mod.rs +0 -41
  676. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Services/mod.rs +0 -587
  677. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/SetupAndMigration/mod.rs +0 -4
  678. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Shutdown/mod.rs +0 -111
  679. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/StationsAndDesktops/mod.rs +0 -99
  680. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/SubsystemForLinux/mod.rs +0 -12
  681. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/SystemInformation/mod.rs +0 -751
  682. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/SystemServices/mod.rs +0 -4541
  683. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Threading/mod.rs +0 -1148
  684. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Time/mod.rs +0 -50
  685. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/TpmBaseServices/mod.rs +0 -89
  686. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/UserAccessLogging/mod.rs +0 -17
  687. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Variant/mod.rs +0 -321
  688. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/VirtualDosMachines/mod.rs +0 -297
  689. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/WindowsProgramming/mod.rs +0 -1633
  690. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/Wmi/mod.rs +0 -2435
  691. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/System/mod.rs +0 -132
  692. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Accessibility/mod.rs +0 -1788
  693. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/ColorSystem/mod.rs +0 -702
  694. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Controls/Dialogs/mod.rs +0 -1128
  695. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Controls/mod.rs +0 -7276
  696. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/HiDpi/mod.rs +0 -66
  697. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Input/Ime/mod.rs +0 -1394
  698. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Input/KeyboardAndMouse/mod.rs +0 -765
  699. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Input/Pointer/mod.rs +0 -168
  700. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Input/Touch/mod.rs +0 -89
  701. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Input/XboxController/mod.rs +0 -151
  702. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Input/mod.rs +0 -182
  703. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/InteractionContext/mod.rs +0 -230
  704. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Magnification/mod.rs +0 -52
  705. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Shell/Common/mod.rs +0 -104
  706. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Shell/PropertiesSystem/mod.rs +0 -322
  707. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/Shell/mod.rs +0 -6704
  708. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/TabletPC/mod.rs +0 -1537
  709. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/TextServices/mod.rs +0 -794
  710. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/WindowsAndMessaging/mod.rs +0 -3760
  711. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/UI/mod.rs +0 -22
  712. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Web/InternetExplorer/mod.rs +0 -628
  713. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/Web/mod.rs +0 -2
  714. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/Win32/mod.rs +0 -30
  715. data/ext/cargo-vendor/windows-sys-0.59.0/src/Windows/mod.rs +0 -4
  716. data/ext/cargo-vendor/windows-sys-0.59.0/src/core/literals.rs +0 -114
  717. data/ext/cargo-vendor/windows-sys-0.59.0/src/core/mod.rs +0 -33
  718. data/ext/cargo-vendor/windows-sys-0.59.0/src/includes/Win32/UI/WindowsAndMessaging/WindowLong.rs +0 -8
  719. data/ext/cargo-vendor/windows-sys-0.59.0/src/lib.rs +0 -17
  720. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/.github/workflows/audit.yml +0 -0
  721. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/.github/workflows/ci.yml +0 -0
  722. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/.github/workflows/dotslash-config.json +0 -0
  723. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/.rustfmt.toml +0 -0
  724. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/.rusty-hook.toml +0 -0
  725. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/dev/run_benchmarks_for_file.sh +0 -0
  726. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/src/cache/mod.rs +0 -0
  727. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/src/cache/noop.rs +0 -0
  728. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/src/ownership/file_owner_finder.rs +0 -0
  729. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/src/ownership/mapper/directory_mapper.rs +0 -0
  730. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/src/ownership/mapper/escaper.rs +0 -0
  731. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/src/ownership/mapper/team_gem_mapper.rs +0 -0
  732. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/src/ownership/mapper/team_glob_mapper.rs +0 -0
  733. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/src/ownership/mapper/team_yml_mapper.rs +0 -0
  734. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/cache_test.rs +0 -0
  735. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/.github/CODEOWNERS +0 -0
  736. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/config/code_ownership.yml +0 -0
  737. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/config/teams/payments.yml +0 -0
  738. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/config/teams/payroll.yml +0 -0
  739. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/gems/payroll_calculator/calculator.rb +0 -0
  740. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/ruby/app/models/bank_account.rb +0 -0
  741. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/ruby/app/models/blockchain.rb +0 -0
  742. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/ruby/app/models/payroll.rb +0 -0
  743. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/ruby/app/payments/nacha.rb +0 -0
  744. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/ruby/app/services/.codeowner +0 -0
  745. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/ruby/app/services/multi_owned.rb +0 -0
  746. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/ruby/app/unowned.rb +0 -0
  747. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/invalid_project/ruby/packages/payroll_flow/package.yml +0 -0
  748. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/multiple-directory-owners/.github/CODEOWNERS +0 -0
  749. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/multiple-directory-owners/app/consumers/.codeowner +0 -0
  750. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/multiple-directory-owners/app/consumers/deep/nesting/nestdir/deep_file.rb +0 -0
  751. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/multiple-directory-owners/app/consumers/one_owner.rb +0 -0
  752. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/multiple-directory-owners/app/services/.codeowner +0 -0
  753. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/multiple-directory-owners/app/services/exciting/.codeowner +0 -0
  754. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/multiple-directory-owners/app/services/exciting/some_other_file.rb +0 -0
  755. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/multiple-directory-owners/config/teams/bar.yml +0 -0
  756. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/multiple-directory-owners/config/teams/foo.yml +0 -0
  757. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/.ignore +0 -0
  758. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/config/teams/payments.yml +0 -0
  759. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/config/teams/payroll.yml +0 -0
  760. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/config/teams/ux.yml +0 -0
  761. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/gems/payroll_calculator/calculator.rb +0 -0
  762. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/gems/pets/dog.rb +0 -0
  763. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/index.tsx +0 -0
  764. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/javascript/packages/PayrollFlow/package.json +0 -0
  765. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/javascript/packages/items/(special)/.codeowner +0 -0
  766. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/javascript/packages/items/(special)/pay.ts +0 -0
  767. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/javascript/packages/items/.codeowner +0 -0
  768. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/javascript/packages/items/item.ts +0 -0
  769. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/ruby/app/models/bank_account.rb +0 -0
  770. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/ruby/app/payments/foo/.codeowner +0 -0
  771. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/ruby/app/payments/foo/ownedby_payroll.rb +0 -0
  772. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/ruby/app/payments/nacha.rb +0 -0
  773. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/ruby/app/payroll/.codeowner +0 -0
  774. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/ruby/app/payroll/payroll.rb +0 -0
  775. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/ruby/ignored_files/git_ignored.rb +0 -0
  776. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/ruby/packages/payroll_flow/package.yml +0 -0
  777. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/fixtures/valid_project/should_be_ignored/an_ignored_file.rb +0 -0
  778. /data/ext/cargo-vendor/{codeowners-0.2.7/tmp/.gitkeep → codeowners-0.2.17/tests/fixtures/valid_project_with_overrides/packs/games/app/services/stats.rb} +0 -0
  779. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/git_stage_test.rs +0 -0
  780. /data/ext/cargo-vendor/{codeowners-0.2.7 → codeowners-0.2.17}/tests/invalid_project_structure_test.rs +0 -0
  781. /data/ext/cargo-vendor/{glob-0.3.2 → glob-0.3.3}/.github/dependabot.yml +0 -0
  782. /data/ext/cargo-vendor/{glob-0.3.2 → glob-0.3.3}/.github/workflows/publish.yml +0 -0
  783. /data/ext/cargo-vendor/{glob-0.3.2 → glob-0.3.3}/LICENSE-APACHE +0 -0
  784. /data/ext/cargo-vendor/{glob-0.3.2 → glob-0.3.3}/LICENSE-MIT +0 -0
  785. /data/ext/cargo-vendor/{glob-0.3.2 → glob-0.3.3}/triagebot.toml +0 -0
  786. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/.rustfmt.toml +0 -0
  787. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/LICENSE-APACHE +0 -0
  788. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/LICENSE-MIT +0 -0
  789. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/README.md +0 -0
  790. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/benches/bench.rs +0 -0
  791. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/benches/faststring.rs +0 -0
  792. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/arbitrary.rs +0 -0
  793. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/borsh.rs +0 -0
  794. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/macros.rs +0 -0
  795. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/map/core/extract.rs +0 -0
  796. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/map/core/raw_entry_v1.rs +0 -0
  797. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/map/iter.rs +0 -0
  798. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/map/serde_seq.rs +0 -0
  799. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/rayon/mod.rs +0 -0
  800. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/serde.rs +0 -0
  801. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/set/iter.rs +0 -0
  802. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/src/util.rs +0 -0
  803. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/tests/equivalent_trait.rs +0 -0
  804. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/tests/macros_full_path.rs +0 -0
  805. /data/ext/cargo-vendor/{indexmap-2.10.0 → indexmap-2.11.0}/tests/tests.rs +0 -0
  806. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/LICENSE-APACHE +0 -0
  807. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/LICENSE-MIT +0 -0
  808. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/compile_fail/cannot_collect_filtermap_data.rs +0 -0
  809. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/compile_fail/cannot_zip_filtered_data.rs +0 -0
  810. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/compile_fail/cell_par_iter.rs +0 -0
  811. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/compile_fail/mod.rs +0 -0
  812. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/compile_fail/must_use.rs +0 -0
  813. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/compile_fail/no_send_par_iter.rs +0 -0
  814. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/compile_fail/rc_par_iter.rs +0 -0
  815. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/delegate.rs +0 -0
  816. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/collect/consumer.rs +0 -0
  817. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/extend.rs +0 -0
  818. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/find.rs +0 -0
  819. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/for_each.rs +0 -0
  820. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/noop.rs +0 -0
  821. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/plumbing/README.md +0 -0
  822. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/product.rs +0 -0
  823. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/reduce.rs +0 -0
  824. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/sum.rs +0 -0
  825. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/try_reduce.rs +0 -0
  826. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/iter/try_reduce_with.rs +0 -0
  827. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/par_either.rs +0 -0
  828. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/prelude.rs +0 -0
  829. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/private.rs +0 -0
  830. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/split_producer.rs +0 -0
  831. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/src/string.rs +0 -0
  832. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/tests/chars.rs +0 -0
  833. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/tests/cross-pool.rs +0 -0
  834. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/tests/drain_vec.rs +0 -0
  835. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/tests/intersperse.rs +0 -0
  836. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/tests/issue671-unzip.rs +0 -0
  837. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/tests/issue671.rs +0 -0
  838. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/tests/iter_panic.rs +0 -0
  839. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/tests/octillion.rs +0 -0
  840. /data/ext/cargo-vendor/{rayon-1.10.0 → rayon-1.11.0}/tests/par_bridge_recursion.rs +0 -0
  841. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/LICENSE-APACHE +0 -0
  842. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/LICENSE-MIT +0 -0
  843. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/build.rs +0 -0
  844. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/broadcast/test.rs +0 -0
  845. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/compile_fail/mod.rs +0 -0
  846. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/compile_fail/quicksort_race1.rs +0 -0
  847. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/compile_fail/quicksort_race2.rs +0 -0
  848. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/compile_fail/quicksort_race3.rs +0 -0
  849. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/compile_fail/rc_return.rs +0 -0
  850. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/compile_fail/rc_upvar.rs +0 -0
  851. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/compile_fail/scope_join_bad.rs +0 -0
  852. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/job.rs +0 -0
  853. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/private.rs +0 -0
  854. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/src/unwind.rs +0 -0
  855. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/tests/double_init_fail.rs +0 -0
  856. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/tests/init_zero_threads.rs +0 -0
  857. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/tests/scope_join.rs +0 -0
  858. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/tests/scoped_threadpool.rs +0 -0
  859. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/tests/simple_panic.rs +0 -0
  860. /data/ext/cargo-vendor/{rayon-core-1.12.1 → rayon-core-1.13.0}/tests/stack_overflow_crash.rs +0 -0
  861. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/CONTRIBUTING.md +0 -0
  862. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/LICENSE-APACHE +0 -0
  863. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/LICENSE-MIT +0 -0
  864. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/README.md +0 -0
  865. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/build.rs +0 -0
  866. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/de.rs +0 -0
  867. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/error.rs +0 -0
  868. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/io/core.rs +0 -0
  869. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/io/mod.rs +0 -0
  870. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/iter.rs +0 -0
  871. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/algorithm.rs +0 -0
  872. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/bhcomp.rs +0 -0
  873. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/bignum.rs +0 -0
  874. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/cached.rs +0 -0
  875. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/cached_float80.rs +0 -0
  876. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/digit.rs +0 -0
  877. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/errors.rs +0 -0
  878. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/exponent.rs +0 -0
  879. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/float.rs +0 -0
  880. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/large_powers.rs +0 -0
  881. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/large_powers32.rs +0 -0
  882. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/large_powers64.rs +0 -0
  883. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/math.rs +0 -0
  884. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/mod.rs +0 -0
  885. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/num.rs +0 -0
  886. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/parse.rs +0 -0
  887. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/rounding.rs +0 -0
  888. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/shift.rs +0 -0
  889. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/lexical/small_powers.rs +0 -0
  890. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/macros.rs +0 -0
  891. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/number.rs +0 -0
  892. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/raw.rs +0 -0
  893. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/read.rs +0 -0
  894. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/value/from.rs +0 -0
  895. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/value/index.rs +0 -0
  896. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/value/mod.rs +0 -0
  897. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/value/partial_eq.rs +0 -0
  898. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/src/value/ser.rs +0 -0
  899. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/compiletest.rs +0 -0
  900. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/debug.rs +0 -0
  901. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/lexical/algorithm.rs +0 -0
  902. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/lexical/exponent.rs +0 -0
  903. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/lexical/float.rs +0 -0
  904. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/lexical/math.rs +0 -0
  905. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/lexical/num.rs +0 -0
  906. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/lexical/parse.rs +0 -0
  907. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/lexical/rounding.rs +0 -0
  908. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/lexical.rs +0 -0
  909. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/macros/mod.rs +0 -0
  910. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/map.rs +0 -0
  911. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/regression/issue1004.rs +0 -0
  912. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/regression/issue520.rs +0 -0
  913. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/regression/issue795.rs +0 -0
  914. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/regression/issue845.rs +0 -0
  915. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/regression/issue953.rs +0 -0
  916. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/regression.rs +0 -0
  917. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/stream.rs +0 -0
  918. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/test.rs +0 -0
  919. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/missing_colon.rs +0 -0
  920. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/missing_colon.stderr +0 -0
  921. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/missing_comma.rs +0 -0
  922. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/missing_comma.stderr +0 -0
  923. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/missing_value.rs +0 -0
  924. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/missing_value.stderr +0 -0
  925. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/not_found.rs +0 -0
  926. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/not_found.stderr +0 -0
  927. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/parse_expr.rs +0 -0
  928. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/parse_expr.stderr +0 -0
  929. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/parse_key.rs +0 -0
  930. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/parse_key.stderr +0 -0
  931. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/unexpected_after_array_element.rs +0 -0
  932. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/unexpected_after_array_element.stderr +0 -0
  933. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/unexpected_after_map_entry.rs +0 -0
  934. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/unexpected_after_map_entry.stderr +0 -0
  935. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/unexpected_colon.rs +0 -0
  936. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/unexpected_colon.stderr +0 -0
  937. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/unexpected_comma.rs +0 -0
  938. /data/ext/cargo-vendor/{serde_json-1.0.142 → serde_json-1.0.143}/tests/ui/unexpected_comma.stderr +0 -0
  939. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/.github/dependabot.yml +0 -0
  940. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/LICENSE-APACHE +0 -0
  941. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/LICENSE-MIT +0 -0
  942. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/README.md +0 -0
  943. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/deny.toml +0 -0
  944. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/dir/imp/any.rs +0 -0
  945. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/dir/imp/mod.rs +0 -0
  946. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/dir/imp/unix.rs +0 -0
  947. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/dir/mod.rs +0 -0
  948. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/env.rs +0 -0
  949. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/error.rs +0 -0
  950. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/file/imp/mod.rs +0 -0
  951. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/file/imp/other.rs +0 -0
  952. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/file/imp/unix.rs +0 -0
  953. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/file/imp/windows.rs +0 -0
  954. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/file/mod.rs +0 -0
  955. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/lib.rs +0 -0
  956. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/spooled.rs +0 -0
  957. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/src/util.rs +0 -0
  958. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/tests/env.rs +0 -0
  959. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/tests/namedtempfile.rs +0 -0
  960. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/tests/spooled.rs +0 -0
  961. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/tests/tempdir.rs +0 -0
  962. /data/ext/cargo-vendor/{tempfile-3.20.0 → tempfile-3.21.0}/tests/tempfile.rs +0 -0
  963. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/.github/workflows/ci.yml +0 -0
  964. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/COPYING +0 -0
  965. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/LICENSE-MIT +0 -0
  966. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/README.md +0 -0
  967. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/UNLICENSE +0 -0
  968. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/rustfmt.toml +0 -0
  969. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/src/console.rs +0 -0
  970. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/src/file.rs +0 -0
  971. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/src/lib.rs +0 -0
  972. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/src/sysinfo.rs +0 -0
  973. /data/ext/cargo-vendor/{winapi-util-0.1.9 → winapi-util-0.1.10}/src/win.rs +0 -0
@@ -0,0 +1,2285 @@
1
+ //! Serialize a Rust data structure into JSON data.
2
+
3
+ use crate::error::{Error, ErrorCode, Result};
4
+ use crate::io;
5
+ use alloc::string::String;
6
+ #[cfg(feature = "raw_value")]
7
+ use alloc::string::ToString;
8
+ use alloc::vec::Vec;
9
+ use core::fmt::{self, Display};
10
+ use core::hint;
11
+ use core::num::FpCategory;
12
+ use core::str;
13
+ use serde::ser::{self, Impossible, Serialize};
14
+
15
+ /// A structure for serializing Rust values into JSON.
16
+ #[cfg_attr(docsrs, doc(cfg(feature = "std")))]
17
+ pub struct Serializer<W, F = CompactFormatter> {
18
+ writer: W,
19
+ formatter: F,
20
+ }
21
+
22
+ impl<W> Serializer<W>
23
+ where
24
+ W: io::Write,
25
+ {
26
+ /// Creates a new JSON serializer.
27
+ #[inline]
28
+ pub fn new(writer: W) -> Self {
29
+ Serializer::with_formatter(writer, CompactFormatter)
30
+ }
31
+ }
32
+
33
+ impl<'a, W> Serializer<W, PrettyFormatter<'a>>
34
+ where
35
+ W: io::Write,
36
+ {
37
+ /// Creates a new JSON pretty print serializer.
38
+ #[inline]
39
+ pub fn pretty(writer: W) -> Self {
40
+ Serializer::with_formatter(writer, PrettyFormatter::new())
41
+ }
42
+ }
43
+
44
+ impl<W, F> Serializer<W, F>
45
+ where
46
+ W: io::Write,
47
+ F: Formatter,
48
+ {
49
+ /// Creates a new JSON visitor whose output will be written to the writer
50
+ /// specified.
51
+ #[inline]
52
+ pub fn with_formatter(writer: W, formatter: F) -> Self {
53
+ Serializer { writer, formatter }
54
+ }
55
+
56
+ /// Unwrap the `Writer` from the `Serializer`.
57
+ #[inline]
58
+ pub fn into_inner(self) -> W {
59
+ self.writer
60
+ }
61
+ }
62
+
63
+ impl<'a, W, F> ser::Serializer for &'a mut Serializer<W, F>
64
+ where
65
+ W: io::Write,
66
+ F: Formatter,
67
+ {
68
+ type Ok = ();
69
+ type Error = Error;
70
+
71
+ type SerializeSeq = Compound<'a, W, F>;
72
+ type SerializeTuple = Compound<'a, W, F>;
73
+ type SerializeTupleStruct = Compound<'a, W, F>;
74
+ type SerializeTupleVariant = Compound<'a, W, F>;
75
+ type SerializeMap = Compound<'a, W, F>;
76
+ type SerializeStruct = Compound<'a, W, F>;
77
+ type SerializeStructVariant = Compound<'a, W, F>;
78
+
79
+ #[inline]
80
+ fn serialize_bool(self, value: bool) -> Result<()> {
81
+ self.formatter
82
+ .write_bool(&mut self.writer, value)
83
+ .map_err(Error::io)
84
+ }
85
+
86
+ #[inline]
87
+ fn serialize_i8(self, value: i8) -> Result<()> {
88
+ self.formatter
89
+ .write_i8(&mut self.writer, value)
90
+ .map_err(Error::io)
91
+ }
92
+
93
+ #[inline]
94
+ fn serialize_i16(self, value: i16) -> Result<()> {
95
+ self.formatter
96
+ .write_i16(&mut self.writer, value)
97
+ .map_err(Error::io)
98
+ }
99
+
100
+ #[inline]
101
+ fn serialize_i32(self, value: i32) -> Result<()> {
102
+ self.formatter
103
+ .write_i32(&mut self.writer, value)
104
+ .map_err(Error::io)
105
+ }
106
+
107
+ #[inline]
108
+ fn serialize_i64(self, value: i64) -> Result<()> {
109
+ self.formatter
110
+ .write_i64(&mut self.writer, value)
111
+ .map_err(Error::io)
112
+ }
113
+
114
+ fn serialize_i128(self, value: i128) -> Result<()> {
115
+ self.formatter
116
+ .write_i128(&mut self.writer, value)
117
+ .map_err(Error::io)
118
+ }
119
+
120
+ #[inline]
121
+ fn serialize_u8(self, value: u8) -> Result<()> {
122
+ self.formatter
123
+ .write_u8(&mut self.writer, value)
124
+ .map_err(Error::io)
125
+ }
126
+
127
+ #[inline]
128
+ fn serialize_u16(self, value: u16) -> Result<()> {
129
+ self.formatter
130
+ .write_u16(&mut self.writer, value)
131
+ .map_err(Error::io)
132
+ }
133
+
134
+ #[inline]
135
+ fn serialize_u32(self, value: u32) -> Result<()> {
136
+ self.formatter
137
+ .write_u32(&mut self.writer, value)
138
+ .map_err(Error::io)
139
+ }
140
+
141
+ #[inline]
142
+ fn serialize_u64(self, value: u64) -> Result<()> {
143
+ self.formatter
144
+ .write_u64(&mut self.writer, value)
145
+ .map_err(Error::io)
146
+ }
147
+
148
+ fn serialize_u128(self, value: u128) -> Result<()> {
149
+ self.formatter
150
+ .write_u128(&mut self.writer, value)
151
+ .map_err(Error::io)
152
+ }
153
+
154
+ #[inline]
155
+ fn serialize_f32(self, value: f32) -> Result<()> {
156
+ match value.classify() {
157
+ FpCategory::Nan | FpCategory::Infinite => self
158
+ .formatter
159
+ .write_null(&mut self.writer)
160
+ .map_err(Error::io),
161
+ _ => self
162
+ .formatter
163
+ .write_f32(&mut self.writer, value)
164
+ .map_err(Error::io),
165
+ }
166
+ }
167
+
168
+ #[inline]
169
+ fn serialize_f64(self, value: f64) -> Result<()> {
170
+ match value.classify() {
171
+ FpCategory::Nan | FpCategory::Infinite => self
172
+ .formatter
173
+ .write_null(&mut self.writer)
174
+ .map_err(Error::io),
175
+ _ => self
176
+ .formatter
177
+ .write_f64(&mut self.writer, value)
178
+ .map_err(Error::io),
179
+ }
180
+ }
181
+
182
+ #[inline]
183
+ fn serialize_char(self, value: char) -> Result<()> {
184
+ // A char encoded as UTF-8 takes 4 bytes at most.
185
+ let mut buf = [0; 4];
186
+ self.serialize_str(value.encode_utf8(&mut buf))
187
+ }
188
+
189
+ #[inline]
190
+ fn serialize_str(self, value: &str) -> Result<()> {
191
+ format_escaped_str(&mut self.writer, &mut self.formatter, value).map_err(Error::io)
192
+ }
193
+
194
+ #[inline]
195
+ fn serialize_bytes(self, value: &[u8]) -> Result<()> {
196
+ self.formatter
197
+ .write_byte_array(&mut self.writer, value)
198
+ .map_err(Error::io)
199
+ }
200
+
201
+ #[inline]
202
+ fn serialize_unit(self) -> Result<()> {
203
+ self.formatter
204
+ .write_null(&mut self.writer)
205
+ .map_err(Error::io)
206
+ }
207
+
208
+ #[inline]
209
+ fn serialize_unit_struct(self, _name: &'static str) -> Result<()> {
210
+ self.serialize_unit()
211
+ }
212
+
213
+ #[inline]
214
+ fn serialize_unit_variant(
215
+ self,
216
+ _name: &'static str,
217
+ _variant_index: u32,
218
+ variant: &'static str,
219
+ ) -> Result<()> {
220
+ self.serialize_str(variant)
221
+ }
222
+
223
+ /// Serialize newtypes without an object wrapper.
224
+ #[inline]
225
+ fn serialize_newtype_struct<T>(self, _name: &'static str, value: &T) -> Result<()>
226
+ where
227
+ T: ?Sized + Serialize,
228
+ {
229
+ value.serialize(self)
230
+ }
231
+
232
+ #[inline]
233
+ fn serialize_newtype_variant<T>(
234
+ self,
235
+ _name: &'static str,
236
+ _variant_index: u32,
237
+ variant: &'static str,
238
+ value: &T,
239
+ ) -> Result<()>
240
+ where
241
+ T: ?Sized + Serialize,
242
+ {
243
+ tri!(self
244
+ .formatter
245
+ .begin_object(&mut self.writer)
246
+ .map_err(Error::io));
247
+ tri!(self
248
+ .formatter
249
+ .begin_object_key(&mut self.writer, true)
250
+ .map_err(Error::io));
251
+ tri!(self.serialize_str(variant));
252
+ tri!(self
253
+ .formatter
254
+ .end_object_key(&mut self.writer)
255
+ .map_err(Error::io));
256
+ tri!(self
257
+ .formatter
258
+ .begin_object_value(&mut self.writer)
259
+ .map_err(Error::io));
260
+ tri!(value.serialize(&mut *self));
261
+ tri!(self
262
+ .formatter
263
+ .end_object_value(&mut self.writer)
264
+ .map_err(Error::io));
265
+ self.formatter
266
+ .end_object(&mut self.writer)
267
+ .map_err(Error::io)
268
+ }
269
+
270
+ #[inline]
271
+ fn serialize_none(self) -> Result<()> {
272
+ self.serialize_unit()
273
+ }
274
+
275
+ #[inline]
276
+ fn serialize_some<T>(self, value: &T) -> Result<()>
277
+ where
278
+ T: ?Sized + Serialize,
279
+ {
280
+ value.serialize(self)
281
+ }
282
+
283
+ #[inline]
284
+ fn serialize_seq(self, len: Option<usize>) -> Result<Self::SerializeSeq> {
285
+ tri!(self
286
+ .formatter
287
+ .begin_array(&mut self.writer)
288
+ .map_err(Error::io));
289
+ if len == Some(0) {
290
+ tri!(self
291
+ .formatter
292
+ .end_array(&mut self.writer)
293
+ .map_err(Error::io));
294
+ Ok(Compound::Map {
295
+ ser: self,
296
+ state: State::Empty,
297
+ })
298
+ } else {
299
+ Ok(Compound::Map {
300
+ ser: self,
301
+ state: State::First,
302
+ })
303
+ }
304
+ }
305
+
306
+ #[inline]
307
+ fn serialize_tuple(self, len: usize) -> Result<Self::SerializeTuple> {
308
+ self.serialize_seq(Some(len))
309
+ }
310
+
311
+ #[inline]
312
+ fn serialize_tuple_struct(
313
+ self,
314
+ _name: &'static str,
315
+ len: usize,
316
+ ) -> Result<Self::SerializeTupleStruct> {
317
+ self.serialize_seq(Some(len))
318
+ }
319
+
320
+ #[inline]
321
+ fn serialize_tuple_variant(
322
+ self,
323
+ _name: &'static str,
324
+ _variant_index: u32,
325
+ variant: &'static str,
326
+ len: usize,
327
+ ) -> Result<Self::SerializeTupleVariant> {
328
+ tri!(self
329
+ .formatter
330
+ .begin_object(&mut self.writer)
331
+ .map_err(Error::io));
332
+ tri!(self
333
+ .formatter
334
+ .begin_object_key(&mut self.writer, true)
335
+ .map_err(Error::io));
336
+ tri!(self.serialize_str(variant));
337
+ tri!(self
338
+ .formatter
339
+ .end_object_key(&mut self.writer)
340
+ .map_err(Error::io));
341
+ tri!(self
342
+ .formatter
343
+ .begin_object_value(&mut self.writer)
344
+ .map_err(Error::io));
345
+ self.serialize_seq(Some(len))
346
+ }
347
+
348
+ #[inline]
349
+ fn serialize_map(self, len: Option<usize>) -> Result<Self::SerializeMap> {
350
+ tri!(self
351
+ .formatter
352
+ .begin_object(&mut self.writer)
353
+ .map_err(Error::io));
354
+ if len == Some(0) {
355
+ tri!(self
356
+ .formatter
357
+ .end_object(&mut self.writer)
358
+ .map_err(Error::io));
359
+ Ok(Compound::Map {
360
+ ser: self,
361
+ state: State::Empty,
362
+ })
363
+ } else {
364
+ Ok(Compound::Map {
365
+ ser: self,
366
+ state: State::First,
367
+ })
368
+ }
369
+ }
370
+
371
+ #[inline]
372
+ fn serialize_struct(self, name: &'static str, len: usize) -> Result<Self::SerializeStruct> {
373
+ match name {
374
+ #[cfg(feature = "arbitrary_precision")]
375
+ crate::number::TOKEN => Ok(Compound::Number { ser: self }),
376
+ #[cfg(feature = "raw_value")]
377
+ crate::raw::TOKEN => Ok(Compound::RawValue { ser: self }),
378
+ _ => self.serialize_map(Some(len)),
379
+ }
380
+ }
381
+
382
+ #[inline]
383
+ fn serialize_struct_variant(
384
+ self,
385
+ _name: &'static str,
386
+ _variant_index: u32,
387
+ variant: &'static str,
388
+ len: usize,
389
+ ) -> Result<Self::SerializeStructVariant> {
390
+ tri!(self
391
+ .formatter
392
+ .begin_object(&mut self.writer)
393
+ .map_err(Error::io));
394
+ tri!(self
395
+ .formatter
396
+ .begin_object_key(&mut self.writer, true)
397
+ .map_err(Error::io));
398
+ tri!(self.serialize_str(variant));
399
+ tri!(self
400
+ .formatter
401
+ .end_object_key(&mut self.writer)
402
+ .map_err(Error::io));
403
+ tri!(self
404
+ .formatter
405
+ .begin_object_value(&mut self.writer)
406
+ .map_err(Error::io));
407
+ self.serialize_map(Some(len))
408
+ }
409
+
410
+ fn collect_str<T>(self, value: &T) -> Result<()>
411
+ where
412
+ T: ?Sized + Display,
413
+ {
414
+ use self::fmt::Write;
415
+
416
+ struct Adapter<'ser, W: 'ser, F: 'ser> {
417
+ writer: &'ser mut W,
418
+ formatter: &'ser mut F,
419
+ error: Option<io::Error>,
420
+ }
421
+
422
+ impl<'ser, W, F> Write for Adapter<'ser, W, F>
423
+ where
424
+ W: io::Write,
425
+ F: Formatter,
426
+ {
427
+ fn write_str(&mut self, s: &str) -> fmt::Result {
428
+ debug_assert!(self.error.is_none());
429
+ match format_escaped_str_contents(self.writer, self.formatter, s) {
430
+ Ok(()) => Ok(()),
431
+ Err(err) => {
432
+ self.error = Some(err);
433
+ Err(fmt::Error)
434
+ }
435
+ }
436
+ }
437
+ }
438
+
439
+ tri!(self
440
+ .formatter
441
+ .begin_string(&mut self.writer)
442
+ .map_err(Error::io));
443
+ let mut adapter = Adapter {
444
+ writer: &mut self.writer,
445
+ formatter: &mut self.formatter,
446
+ error: None,
447
+ };
448
+ match write!(adapter, "{}", value) {
449
+ Ok(()) => debug_assert!(adapter.error.is_none()),
450
+ Err(fmt::Error) => {
451
+ return Err(Error::io(adapter.error.expect("there should be an error")));
452
+ }
453
+ }
454
+ self.formatter
455
+ .end_string(&mut self.writer)
456
+ .map_err(Error::io)
457
+ }
458
+ }
459
+
460
+ // Not public API. Should be pub(crate).
461
+ #[doc(hidden)]
462
+ #[derive(Eq, PartialEq)]
463
+ pub enum State {
464
+ Empty,
465
+ First,
466
+ Rest,
467
+ }
468
+
469
+ // Not public API. Should be pub(crate).
470
+ #[doc(hidden)]
471
+ pub enum Compound<'a, W: 'a, F: 'a> {
472
+ Map {
473
+ ser: &'a mut Serializer<W, F>,
474
+ state: State,
475
+ },
476
+ #[cfg(feature = "arbitrary_precision")]
477
+ Number { ser: &'a mut Serializer<W, F> },
478
+ #[cfg(feature = "raw_value")]
479
+ RawValue { ser: &'a mut Serializer<W, F> },
480
+ }
481
+
482
+ impl<'a, W, F> ser::SerializeSeq for Compound<'a, W, F>
483
+ where
484
+ W: io::Write,
485
+ F: Formatter,
486
+ {
487
+ type Ok = ();
488
+ type Error = Error;
489
+
490
+ #[inline]
491
+ fn serialize_element<T>(&mut self, value: &T) -> Result<()>
492
+ where
493
+ T: ?Sized + Serialize,
494
+ {
495
+ match self {
496
+ Compound::Map { ser, state } => {
497
+ tri!(ser
498
+ .formatter
499
+ .begin_array_value(&mut ser.writer, *state == State::First)
500
+ .map_err(Error::io));
501
+ *state = State::Rest;
502
+ tri!(value.serialize(&mut **ser));
503
+ ser.formatter
504
+ .end_array_value(&mut ser.writer)
505
+ .map_err(Error::io)
506
+ }
507
+ #[cfg(feature = "arbitrary_precision")]
508
+ Compound::Number { .. } => unreachable!(),
509
+ #[cfg(feature = "raw_value")]
510
+ Compound::RawValue { .. } => unreachable!(),
511
+ }
512
+ }
513
+
514
+ #[inline]
515
+ fn end(self) -> Result<()> {
516
+ match self {
517
+ Compound::Map { ser, state } => match state {
518
+ State::Empty => Ok(()),
519
+ _ => ser.formatter.end_array(&mut ser.writer).map_err(Error::io),
520
+ },
521
+ #[cfg(feature = "arbitrary_precision")]
522
+ Compound::Number { .. } => unreachable!(),
523
+ #[cfg(feature = "raw_value")]
524
+ Compound::RawValue { .. } => unreachable!(),
525
+ }
526
+ }
527
+ }
528
+
529
+ impl<'a, W, F> ser::SerializeTuple for Compound<'a, W, F>
530
+ where
531
+ W: io::Write,
532
+ F: Formatter,
533
+ {
534
+ type Ok = ();
535
+ type Error = Error;
536
+
537
+ #[inline]
538
+ fn serialize_element<T>(&mut self, value: &T) -> Result<()>
539
+ where
540
+ T: ?Sized + Serialize,
541
+ {
542
+ ser::SerializeSeq::serialize_element(self, value)
543
+ }
544
+
545
+ #[inline]
546
+ fn end(self) -> Result<()> {
547
+ ser::SerializeSeq::end(self)
548
+ }
549
+ }
550
+
551
+ impl<'a, W, F> ser::SerializeTupleStruct for Compound<'a, W, F>
552
+ where
553
+ W: io::Write,
554
+ F: Formatter,
555
+ {
556
+ type Ok = ();
557
+ type Error = Error;
558
+
559
+ #[inline]
560
+ fn serialize_field<T>(&mut self, value: &T) -> Result<()>
561
+ where
562
+ T: ?Sized + Serialize,
563
+ {
564
+ ser::SerializeSeq::serialize_element(self, value)
565
+ }
566
+
567
+ #[inline]
568
+ fn end(self) -> Result<()> {
569
+ ser::SerializeSeq::end(self)
570
+ }
571
+ }
572
+
573
+ impl<'a, W, F> ser::SerializeTupleVariant for Compound<'a, W, F>
574
+ where
575
+ W: io::Write,
576
+ F: Formatter,
577
+ {
578
+ type Ok = ();
579
+ type Error = Error;
580
+
581
+ #[inline]
582
+ fn serialize_field<T>(&mut self, value: &T) -> Result<()>
583
+ where
584
+ T: ?Sized + Serialize,
585
+ {
586
+ ser::SerializeSeq::serialize_element(self, value)
587
+ }
588
+
589
+ #[inline]
590
+ fn end(self) -> Result<()> {
591
+ match self {
592
+ Compound::Map { ser, state } => {
593
+ match state {
594
+ State::Empty => {}
595
+ _ => tri!(ser.formatter.end_array(&mut ser.writer).map_err(Error::io)),
596
+ }
597
+ tri!(ser
598
+ .formatter
599
+ .end_object_value(&mut ser.writer)
600
+ .map_err(Error::io));
601
+ ser.formatter.end_object(&mut ser.writer).map_err(Error::io)
602
+ }
603
+ #[cfg(feature = "arbitrary_precision")]
604
+ Compound::Number { .. } => unreachable!(),
605
+ #[cfg(feature = "raw_value")]
606
+ Compound::RawValue { .. } => unreachable!(),
607
+ }
608
+ }
609
+ }
610
+
611
+ impl<'a, W, F> ser::SerializeMap for Compound<'a, W, F>
612
+ where
613
+ W: io::Write,
614
+ F: Formatter,
615
+ {
616
+ type Ok = ();
617
+ type Error = Error;
618
+
619
+ #[inline]
620
+ fn serialize_key<T>(&mut self, key: &T) -> Result<()>
621
+ where
622
+ T: ?Sized + Serialize,
623
+ {
624
+ match self {
625
+ Compound::Map { ser, state } => {
626
+ tri!(ser
627
+ .formatter
628
+ .begin_object_key(&mut ser.writer, *state == State::First)
629
+ .map_err(Error::io));
630
+ *state = State::Rest;
631
+
632
+ tri!(key.serialize(MapKeySerializer { ser: *ser }));
633
+
634
+ ser.formatter
635
+ .end_object_key(&mut ser.writer)
636
+ .map_err(Error::io)
637
+ }
638
+ #[cfg(feature = "arbitrary_precision")]
639
+ Compound::Number { .. } => unreachable!(),
640
+ #[cfg(feature = "raw_value")]
641
+ Compound::RawValue { .. } => unreachable!(),
642
+ }
643
+ }
644
+
645
+ #[inline]
646
+ fn serialize_value<T>(&mut self, value: &T) -> Result<()>
647
+ where
648
+ T: ?Sized + Serialize,
649
+ {
650
+ match self {
651
+ Compound::Map { ser, .. } => {
652
+ tri!(ser
653
+ .formatter
654
+ .begin_object_value(&mut ser.writer)
655
+ .map_err(Error::io));
656
+ tri!(value.serialize(&mut **ser));
657
+ ser.formatter
658
+ .end_object_value(&mut ser.writer)
659
+ .map_err(Error::io)
660
+ }
661
+ #[cfg(feature = "arbitrary_precision")]
662
+ Compound::Number { .. } => unreachable!(),
663
+ #[cfg(feature = "raw_value")]
664
+ Compound::RawValue { .. } => unreachable!(),
665
+ }
666
+ }
667
+
668
+ #[inline]
669
+ fn end(self) -> Result<()> {
670
+ match self {
671
+ Compound::Map { ser, state } => match state {
672
+ State::Empty => Ok(()),
673
+ _ => ser.formatter.end_object(&mut ser.writer).map_err(Error::io),
674
+ },
675
+ #[cfg(feature = "arbitrary_precision")]
676
+ Compound::Number { .. } => unreachable!(),
677
+ #[cfg(feature = "raw_value")]
678
+ Compound::RawValue { .. } => unreachable!(),
679
+ }
680
+ }
681
+ }
682
+
683
+ impl<'a, W, F> ser::SerializeStruct for Compound<'a, W, F>
684
+ where
685
+ W: io::Write,
686
+ F: Formatter,
687
+ {
688
+ type Ok = ();
689
+ type Error = Error;
690
+
691
+ #[inline]
692
+ fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result<()>
693
+ where
694
+ T: ?Sized + Serialize,
695
+ {
696
+ match self {
697
+ Compound::Map { .. } => ser::SerializeMap::serialize_entry(self, key, value),
698
+ #[cfg(feature = "arbitrary_precision")]
699
+ Compound::Number { ser, .. } => {
700
+ if key == crate::number::TOKEN {
701
+ value.serialize(NumberStrEmitter(ser))
702
+ } else {
703
+ Err(invalid_number())
704
+ }
705
+ }
706
+ #[cfg(feature = "raw_value")]
707
+ Compound::RawValue { ser, .. } => {
708
+ if key == crate::raw::TOKEN {
709
+ value.serialize(RawValueStrEmitter(ser))
710
+ } else {
711
+ Err(invalid_raw_value())
712
+ }
713
+ }
714
+ }
715
+ }
716
+
717
+ #[inline]
718
+ fn end(self) -> Result<()> {
719
+ match self {
720
+ Compound::Map { .. } => ser::SerializeMap::end(self),
721
+ #[cfg(feature = "arbitrary_precision")]
722
+ Compound::Number { .. } => Ok(()),
723
+ #[cfg(feature = "raw_value")]
724
+ Compound::RawValue { .. } => Ok(()),
725
+ }
726
+ }
727
+ }
728
+
729
+ impl<'a, W, F> ser::SerializeStructVariant for Compound<'a, W, F>
730
+ where
731
+ W: io::Write,
732
+ F: Formatter,
733
+ {
734
+ type Ok = ();
735
+ type Error = Error;
736
+
737
+ #[inline]
738
+ fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result<()>
739
+ where
740
+ T: ?Sized + Serialize,
741
+ {
742
+ match *self {
743
+ Compound::Map { .. } => ser::SerializeStruct::serialize_field(self, key, value),
744
+ #[cfg(feature = "arbitrary_precision")]
745
+ Compound::Number { .. } => unreachable!(),
746
+ #[cfg(feature = "raw_value")]
747
+ Compound::RawValue { .. } => unreachable!(),
748
+ }
749
+ }
750
+
751
+ #[inline]
752
+ fn end(self) -> Result<()> {
753
+ match self {
754
+ Compound::Map { ser, state } => {
755
+ match state {
756
+ State::Empty => {}
757
+ _ => tri!(ser.formatter.end_object(&mut ser.writer).map_err(Error::io)),
758
+ }
759
+ tri!(ser
760
+ .formatter
761
+ .end_object_value(&mut ser.writer)
762
+ .map_err(Error::io));
763
+ ser.formatter.end_object(&mut ser.writer).map_err(Error::io)
764
+ }
765
+ #[cfg(feature = "arbitrary_precision")]
766
+ Compound::Number { .. } => unreachable!(),
767
+ #[cfg(feature = "raw_value")]
768
+ Compound::RawValue { .. } => unreachable!(),
769
+ }
770
+ }
771
+ }
772
+
773
+ struct MapKeySerializer<'a, W: 'a, F: 'a> {
774
+ ser: &'a mut Serializer<W, F>,
775
+ }
776
+
777
+ #[cfg(feature = "arbitrary_precision")]
778
+ fn invalid_number() -> Error {
779
+ Error::syntax(ErrorCode::InvalidNumber, 0, 0)
780
+ }
781
+
782
+ #[cfg(feature = "raw_value")]
783
+ fn invalid_raw_value() -> Error {
784
+ Error::syntax(ErrorCode::ExpectedSomeValue, 0, 0)
785
+ }
786
+
787
+ fn key_must_be_a_string() -> Error {
788
+ Error::syntax(ErrorCode::KeyMustBeAString, 0, 0)
789
+ }
790
+
791
+ fn float_key_must_be_finite() -> Error {
792
+ Error::syntax(ErrorCode::FloatKeyMustBeFinite, 0, 0)
793
+ }
794
+
795
+ impl<'a, W, F> ser::Serializer for MapKeySerializer<'a, W, F>
796
+ where
797
+ W: io::Write,
798
+ F: Formatter,
799
+ {
800
+ type Ok = ();
801
+ type Error = Error;
802
+
803
+ #[inline]
804
+ fn serialize_str(self, value: &str) -> Result<()> {
805
+ self.ser.serialize_str(value)
806
+ }
807
+
808
+ #[inline]
809
+ fn serialize_unit_variant(
810
+ self,
811
+ _name: &'static str,
812
+ _variant_index: u32,
813
+ variant: &'static str,
814
+ ) -> Result<()> {
815
+ self.ser.serialize_str(variant)
816
+ }
817
+
818
+ #[inline]
819
+ fn serialize_newtype_struct<T>(self, _name: &'static str, value: &T) -> Result<()>
820
+ where
821
+ T: ?Sized + Serialize,
822
+ {
823
+ value.serialize(self)
824
+ }
825
+
826
+ type SerializeSeq = Impossible<(), Error>;
827
+ type SerializeTuple = Impossible<(), Error>;
828
+ type SerializeTupleStruct = Impossible<(), Error>;
829
+ type SerializeTupleVariant = Impossible<(), Error>;
830
+ type SerializeMap = Impossible<(), Error>;
831
+ type SerializeStruct = Impossible<(), Error>;
832
+ type SerializeStructVariant = Impossible<(), Error>;
833
+
834
+ fn serialize_bool(self, value: bool) -> Result<()> {
835
+ tri!(self
836
+ .ser
837
+ .formatter
838
+ .begin_string(&mut self.ser.writer)
839
+ .map_err(Error::io));
840
+ tri!(self
841
+ .ser
842
+ .formatter
843
+ .write_bool(&mut self.ser.writer, value)
844
+ .map_err(Error::io));
845
+ self.ser
846
+ .formatter
847
+ .end_string(&mut self.ser.writer)
848
+ .map_err(Error::io)
849
+ }
850
+
851
+ fn serialize_i8(self, value: i8) -> Result<()> {
852
+ tri!(self
853
+ .ser
854
+ .formatter
855
+ .begin_string(&mut self.ser.writer)
856
+ .map_err(Error::io));
857
+ tri!(self
858
+ .ser
859
+ .formatter
860
+ .write_i8(&mut self.ser.writer, value)
861
+ .map_err(Error::io));
862
+ self.ser
863
+ .formatter
864
+ .end_string(&mut self.ser.writer)
865
+ .map_err(Error::io)
866
+ }
867
+
868
+ fn serialize_i16(self, value: i16) -> Result<()> {
869
+ tri!(self
870
+ .ser
871
+ .formatter
872
+ .begin_string(&mut self.ser.writer)
873
+ .map_err(Error::io));
874
+ tri!(self
875
+ .ser
876
+ .formatter
877
+ .write_i16(&mut self.ser.writer, value)
878
+ .map_err(Error::io));
879
+ self.ser
880
+ .formatter
881
+ .end_string(&mut self.ser.writer)
882
+ .map_err(Error::io)
883
+ }
884
+
885
+ fn serialize_i32(self, value: i32) -> Result<()> {
886
+ tri!(self
887
+ .ser
888
+ .formatter
889
+ .begin_string(&mut self.ser.writer)
890
+ .map_err(Error::io));
891
+ tri!(self
892
+ .ser
893
+ .formatter
894
+ .write_i32(&mut self.ser.writer, value)
895
+ .map_err(Error::io));
896
+ self.ser
897
+ .formatter
898
+ .end_string(&mut self.ser.writer)
899
+ .map_err(Error::io)
900
+ }
901
+
902
+ fn serialize_i64(self, value: i64) -> Result<()> {
903
+ tri!(self
904
+ .ser
905
+ .formatter
906
+ .begin_string(&mut self.ser.writer)
907
+ .map_err(Error::io));
908
+ tri!(self
909
+ .ser
910
+ .formatter
911
+ .write_i64(&mut self.ser.writer, value)
912
+ .map_err(Error::io));
913
+ self.ser
914
+ .formatter
915
+ .end_string(&mut self.ser.writer)
916
+ .map_err(Error::io)
917
+ }
918
+
919
+ fn serialize_i128(self, value: i128) -> Result<()> {
920
+ tri!(self
921
+ .ser
922
+ .formatter
923
+ .begin_string(&mut self.ser.writer)
924
+ .map_err(Error::io));
925
+ tri!(self
926
+ .ser
927
+ .formatter
928
+ .write_i128(&mut self.ser.writer, value)
929
+ .map_err(Error::io));
930
+ self.ser
931
+ .formatter
932
+ .end_string(&mut self.ser.writer)
933
+ .map_err(Error::io)
934
+ }
935
+
936
+ fn serialize_u8(self, value: u8) -> Result<()> {
937
+ tri!(self
938
+ .ser
939
+ .formatter
940
+ .begin_string(&mut self.ser.writer)
941
+ .map_err(Error::io));
942
+ tri!(self
943
+ .ser
944
+ .formatter
945
+ .write_u8(&mut self.ser.writer, value)
946
+ .map_err(Error::io));
947
+ self.ser
948
+ .formatter
949
+ .end_string(&mut self.ser.writer)
950
+ .map_err(Error::io)
951
+ }
952
+
953
+ fn serialize_u16(self, value: u16) -> Result<()> {
954
+ tri!(self
955
+ .ser
956
+ .formatter
957
+ .begin_string(&mut self.ser.writer)
958
+ .map_err(Error::io));
959
+ tri!(self
960
+ .ser
961
+ .formatter
962
+ .write_u16(&mut self.ser.writer, value)
963
+ .map_err(Error::io));
964
+ self.ser
965
+ .formatter
966
+ .end_string(&mut self.ser.writer)
967
+ .map_err(Error::io)
968
+ }
969
+
970
+ fn serialize_u32(self, value: u32) -> Result<()> {
971
+ tri!(self
972
+ .ser
973
+ .formatter
974
+ .begin_string(&mut self.ser.writer)
975
+ .map_err(Error::io));
976
+ tri!(self
977
+ .ser
978
+ .formatter
979
+ .write_u32(&mut self.ser.writer, value)
980
+ .map_err(Error::io));
981
+ self.ser
982
+ .formatter
983
+ .end_string(&mut self.ser.writer)
984
+ .map_err(Error::io)
985
+ }
986
+
987
+ fn serialize_u64(self, value: u64) -> Result<()> {
988
+ tri!(self
989
+ .ser
990
+ .formatter
991
+ .begin_string(&mut self.ser.writer)
992
+ .map_err(Error::io));
993
+ tri!(self
994
+ .ser
995
+ .formatter
996
+ .write_u64(&mut self.ser.writer, value)
997
+ .map_err(Error::io));
998
+ self.ser
999
+ .formatter
1000
+ .end_string(&mut self.ser.writer)
1001
+ .map_err(Error::io)
1002
+ }
1003
+
1004
+ fn serialize_u128(self, value: u128) -> Result<()> {
1005
+ tri!(self
1006
+ .ser
1007
+ .formatter
1008
+ .begin_string(&mut self.ser.writer)
1009
+ .map_err(Error::io));
1010
+ tri!(self
1011
+ .ser
1012
+ .formatter
1013
+ .write_u128(&mut self.ser.writer, value)
1014
+ .map_err(Error::io));
1015
+ self.ser
1016
+ .formatter
1017
+ .end_string(&mut self.ser.writer)
1018
+ .map_err(Error::io)
1019
+ }
1020
+
1021
+ fn serialize_f32(self, value: f32) -> Result<()> {
1022
+ if !value.is_finite() {
1023
+ return Err(float_key_must_be_finite());
1024
+ }
1025
+
1026
+ tri!(self
1027
+ .ser
1028
+ .formatter
1029
+ .begin_string(&mut self.ser.writer)
1030
+ .map_err(Error::io));
1031
+ tri!(self
1032
+ .ser
1033
+ .formatter
1034
+ .write_f32(&mut self.ser.writer, value)
1035
+ .map_err(Error::io));
1036
+ self.ser
1037
+ .formatter
1038
+ .end_string(&mut self.ser.writer)
1039
+ .map_err(Error::io)
1040
+ }
1041
+
1042
+ fn serialize_f64(self, value: f64) -> Result<()> {
1043
+ if !value.is_finite() {
1044
+ return Err(float_key_must_be_finite());
1045
+ }
1046
+
1047
+ tri!(self
1048
+ .ser
1049
+ .formatter
1050
+ .begin_string(&mut self.ser.writer)
1051
+ .map_err(Error::io));
1052
+ tri!(self
1053
+ .ser
1054
+ .formatter
1055
+ .write_f64(&mut self.ser.writer, value)
1056
+ .map_err(Error::io));
1057
+ self.ser
1058
+ .formatter
1059
+ .end_string(&mut self.ser.writer)
1060
+ .map_err(Error::io)
1061
+ }
1062
+
1063
+ fn serialize_char(self, value: char) -> Result<()> {
1064
+ self.ser.serialize_str(value.encode_utf8(&mut [0u8; 4]))
1065
+ }
1066
+
1067
+ fn serialize_bytes(self, _value: &[u8]) -> Result<()> {
1068
+ Err(key_must_be_a_string())
1069
+ }
1070
+
1071
+ fn serialize_unit(self) -> Result<()> {
1072
+ Err(key_must_be_a_string())
1073
+ }
1074
+
1075
+ fn serialize_unit_struct(self, _name: &'static str) -> Result<()> {
1076
+ Err(key_must_be_a_string())
1077
+ }
1078
+
1079
+ fn serialize_newtype_variant<T>(
1080
+ self,
1081
+ _name: &'static str,
1082
+ _variant_index: u32,
1083
+ _variant: &'static str,
1084
+ _value: &T,
1085
+ ) -> Result<()>
1086
+ where
1087
+ T: ?Sized + Serialize,
1088
+ {
1089
+ Err(key_must_be_a_string())
1090
+ }
1091
+
1092
+ fn serialize_none(self) -> Result<()> {
1093
+ Err(key_must_be_a_string())
1094
+ }
1095
+
1096
+ fn serialize_some<T>(self, value: &T) -> Result<()>
1097
+ where
1098
+ T: ?Sized + Serialize,
1099
+ {
1100
+ value.serialize(self)
1101
+ }
1102
+
1103
+ fn serialize_seq(self, _len: Option<usize>) -> Result<Self::SerializeSeq> {
1104
+ Err(key_must_be_a_string())
1105
+ }
1106
+
1107
+ fn serialize_tuple(self, _len: usize) -> Result<Self::SerializeTuple> {
1108
+ Err(key_must_be_a_string())
1109
+ }
1110
+
1111
+ fn serialize_tuple_struct(
1112
+ self,
1113
+ _name: &'static str,
1114
+ _len: usize,
1115
+ ) -> Result<Self::SerializeTupleStruct> {
1116
+ Err(key_must_be_a_string())
1117
+ }
1118
+
1119
+ fn serialize_tuple_variant(
1120
+ self,
1121
+ _name: &'static str,
1122
+ _variant_index: u32,
1123
+ _variant: &'static str,
1124
+ _len: usize,
1125
+ ) -> Result<Self::SerializeTupleVariant> {
1126
+ Err(key_must_be_a_string())
1127
+ }
1128
+
1129
+ fn serialize_map(self, _len: Option<usize>) -> Result<Self::SerializeMap> {
1130
+ Err(key_must_be_a_string())
1131
+ }
1132
+
1133
+ fn serialize_struct(self, _name: &'static str, _len: usize) -> Result<Self::SerializeStruct> {
1134
+ Err(key_must_be_a_string())
1135
+ }
1136
+
1137
+ fn serialize_struct_variant(
1138
+ self,
1139
+ _name: &'static str,
1140
+ _variant_index: u32,
1141
+ _variant: &'static str,
1142
+ _len: usize,
1143
+ ) -> Result<Self::SerializeStructVariant> {
1144
+ Err(key_must_be_a_string())
1145
+ }
1146
+
1147
+ fn collect_str<T>(self, value: &T) -> Result<()>
1148
+ where
1149
+ T: ?Sized + Display,
1150
+ {
1151
+ self.ser.collect_str(value)
1152
+ }
1153
+ }
1154
+
1155
+ #[cfg(feature = "arbitrary_precision")]
1156
+ struct NumberStrEmitter<'a, W: 'a + io::Write, F: 'a + Formatter>(&'a mut Serializer<W, F>);
1157
+
1158
+ #[cfg(feature = "arbitrary_precision")]
1159
+ impl<'a, W: io::Write, F: Formatter> ser::Serializer for NumberStrEmitter<'a, W, F> {
1160
+ type Ok = ();
1161
+ type Error = Error;
1162
+
1163
+ type SerializeSeq = Impossible<(), Error>;
1164
+ type SerializeTuple = Impossible<(), Error>;
1165
+ type SerializeTupleStruct = Impossible<(), Error>;
1166
+ type SerializeTupleVariant = Impossible<(), Error>;
1167
+ type SerializeMap = Impossible<(), Error>;
1168
+ type SerializeStruct = Impossible<(), Error>;
1169
+ type SerializeStructVariant = Impossible<(), Error>;
1170
+
1171
+ fn serialize_bool(self, _v: bool) -> Result<()> {
1172
+ Err(invalid_number())
1173
+ }
1174
+
1175
+ fn serialize_i8(self, _v: i8) -> Result<()> {
1176
+ Err(invalid_number())
1177
+ }
1178
+
1179
+ fn serialize_i16(self, _v: i16) -> Result<()> {
1180
+ Err(invalid_number())
1181
+ }
1182
+
1183
+ fn serialize_i32(self, _v: i32) -> Result<()> {
1184
+ Err(invalid_number())
1185
+ }
1186
+
1187
+ fn serialize_i64(self, _v: i64) -> Result<()> {
1188
+ Err(invalid_number())
1189
+ }
1190
+
1191
+ fn serialize_i128(self, _v: i128) -> Result<()> {
1192
+ Err(invalid_number())
1193
+ }
1194
+
1195
+ fn serialize_u8(self, _v: u8) -> Result<()> {
1196
+ Err(invalid_number())
1197
+ }
1198
+
1199
+ fn serialize_u16(self, _v: u16) -> Result<()> {
1200
+ Err(invalid_number())
1201
+ }
1202
+
1203
+ fn serialize_u32(self, _v: u32) -> Result<()> {
1204
+ Err(invalid_number())
1205
+ }
1206
+
1207
+ fn serialize_u64(self, _v: u64) -> Result<()> {
1208
+ Err(invalid_number())
1209
+ }
1210
+
1211
+ fn serialize_u128(self, _v: u128) -> Result<()> {
1212
+ Err(invalid_number())
1213
+ }
1214
+
1215
+ fn serialize_f32(self, _v: f32) -> Result<()> {
1216
+ Err(invalid_number())
1217
+ }
1218
+
1219
+ fn serialize_f64(self, _v: f64) -> Result<()> {
1220
+ Err(invalid_number())
1221
+ }
1222
+
1223
+ fn serialize_char(self, _v: char) -> Result<()> {
1224
+ Err(invalid_number())
1225
+ }
1226
+
1227
+ fn serialize_str(self, value: &str) -> Result<()> {
1228
+ let NumberStrEmitter(serializer) = self;
1229
+ serializer
1230
+ .formatter
1231
+ .write_number_str(&mut serializer.writer, value)
1232
+ .map_err(Error::io)
1233
+ }
1234
+
1235
+ fn serialize_bytes(self, _value: &[u8]) -> Result<()> {
1236
+ Err(invalid_number())
1237
+ }
1238
+
1239
+ fn serialize_none(self) -> Result<()> {
1240
+ Err(invalid_number())
1241
+ }
1242
+
1243
+ fn serialize_some<T>(self, _value: &T) -> Result<()>
1244
+ where
1245
+ T: ?Sized + Serialize,
1246
+ {
1247
+ Err(invalid_number())
1248
+ }
1249
+
1250
+ fn serialize_unit(self) -> Result<()> {
1251
+ Err(invalid_number())
1252
+ }
1253
+
1254
+ fn serialize_unit_struct(self, _name: &'static str) -> Result<()> {
1255
+ Err(invalid_number())
1256
+ }
1257
+
1258
+ fn serialize_unit_variant(
1259
+ self,
1260
+ _name: &'static str,
1261
+ _variant_index: u32,
1262
+ _variant: &'static str,
1263
+ ) -> Result<()> {
1264
+ Err(invalid_number())
1265
+ }
1266
+
1267
+ fn serialize_newtype_struct<T>(self, _name: &'static str, _value: &T) -> Result<()>
1268
+ where
1269
+ T: ?Sized + Serialize,
1270
+ {
1271
+ Err(invalid_number())
1272
+ }
1273
+
1274
+ fn serialize_newtype_variant<T>(
1275
+ self,
1276
+ _name: &'static str,
1277
+ _variant_index: u32,
1278
+ _variant: &'static str,
1279
+ _value: &T,
1280
+ ) -> Result<()>
1281
+ where
1282
+ T: ?Sized + Serialize,
1283
+ {
1284
+ Err(invalid_number())
1285
+ }
1286
+
1287
+ fn serialize_seq(self, _len: Option<usize>) -> Result<Self::SerializeSeq> {
1288
+ Err(invalid_number())
1289
+ }
1290
+
1291
+ fn serialize_tuple(self, _len: usize) -> Result<Self::SerializeTuple> {
1292
+ Err(invalid_number())
1293
+ }
1294
+
1295
+ fn serialize_tuple_struct(
1296
+ self,
1297
+ _name: &'static str,
1298
+ _len: usize,
1299
+ ) -> Result<Self::SerializeTupleStruct> {
1300
+ Err(invalid_number())
1301
+ }
1302
+
1303
+ fn serialize_tuple_variant(
1304
+ self,
1305
+ _name: &'static str,
1306
+ _variant_index: u32,
1307
+ _variant: &'static str,
1308
+ _len: usize,
1309
+ ) -> Result<Self::SerializeTupleVariant> {
1310
+ Err(invalid_number())
1311
+ }
1312
+
1313
+ fn serialize_map(self, _len: Option<usize>) -> Result<Self::SerializeMap> {
1314
+ Err(invalid_number())
1315
+ }
1316
+
1317
+ fn serialize_struct(self, _name: &'static str, _len: usize) -> Result<Self::SerializeStruct> {
1318
+ Err(invalid_number())
1319
+ }
1320
+
1321
+ fn serialize_struct_variant(
1322
+ self,
1323
+ _name: &'static str,
1324
+ _variant_index: u32,
1325
+ _variant: &'static str,
1326
+ _len: usize,
1327
+ ) -> Result<Self::SerializeStructVariant> {
1328
+ Err(invalid_number())
1329
+ }
1330
+ }
1331
+
1332
+ #[cfg(feature = "raw_value")]
1333
+ struct RawValueStrEmitter<'a, W: 'a + io::Write, F: 'a + Formatter>(&'a mut Serializer<W, F>);
1334
+
1335
+ #[cfg(feature = "raw_value")]
1336
+ impl<'a, W: io::Write, F: Formatter> ser::Serializer for RawValueStrEmitter<'a, W, F> {
1337
+ type Ok = ();
1338
+ type Error = Error;
1339
+
1340
+ type SerializeSeq = Impossible<(), Error>;
1341
+ type SerializeTuple = Impossible<(), Error>;
1342
+ type SerializeTupleStruct = Impossible<(), Error>;
1343
+ type SerializeTupleVariant = Impossible<(), Error>;
1344
+ type SerializeMap = Impossible<(), Error>;
1345
+ type SerializeStruct = Impossible<(), Error>;
1346
+ type SerializeStructVariant = Impossible<(), Error>;
1347
+
1348
+ fn serialize_bool(self, _v: bool) -> Result<()> {
1349
+ Err(ser::Error::custom("expected RawValue"))
1350
+ }
1351
+
1352
+ fn serialize_i8(self, _v: i8) -> Result<()> {
1353
+ Err(ser::Error::custom("expected RawValue"))
1354
+ }
1355
+
1356
+ fn serialize_i16(self, _v: i16) -> Result<()> {
1357
+ Err(ser::Error::custom("expected RawValue"))
1358
+ }
1359
+
1360
+ fn serialize_i32(self, _v: i32) -> Result<()> {
1361
+ Err(ser::Error::custom("expected RawValue"))
1362
+ }
1363
+
1364
+ fn serialize_i64(self, _v: i64) -> Result<()> {
1365
+ Err(ser::Error::custom("expected RawValue"))
1366
+ }
1367
+
1368
+ fn serialize_i128(self, _v: i128) -> Result<()> {
1369
+ Err(ser::Error::custom("expected RawValue"))
1370
+ }
1371
+
1372
+ fn serialize_u8(self, _v: u8) -> Result<()> {
1373
+ Err(ser::Error::custom("expected RawValue"))
1374
+ }
1375
+
1376
+ fn serialize_u16(self, _v: u16) -> Result<()> {
1377
+ Err(ser::Error::custom("expected RawValue"))
1378
+ }
1379
+
1380
+ fn serialize_u32(self, _v: u32) -> Result<()> {
1381
+ Err(ser::Error::custom("expected RawValue"))
1382
+ }
1383
+
1384
+ fn serialize_u64(self, _v: u64) -> Result<()> {
1385
+ Err(ser::Error::custom("expected RawValue"))
1386
+ }
1387
+
1388
+ fn serialize_u128(self, _v: u128) -> Result<()> {
1389
+ Err(ser::Error::custom("expected RawValue"))
1390
+ }
1391
+
1392
+ fn serialize_f32(self, _v: f32) -> Result<()> {
1393
+ Err(ser::Error::custom("expected RawValue"))
1394
+ }
1395
+
1396
+ fn serialize_f64(self, _v: f64) -> Result<()> {
1397
+ Err(ser::Error::custom("expected RawValue"))
1398
+ }
1399
+
1400
+ fn serialize_char(self, _v: char) -> Result<()> {
1401
+ Err(ser::Error::custom("expected RawValue"))
1402
+ }
1403
+
1404
+ fn serialize_str(self, value: &str) -> Result<()> {
1405
+ let RawValueStrEmitter(serializer) = self;
1406
+ serializer
1407
+ .formatter
1408
+ .write_raw_fragment(&mut serializer.writer, value)
1409
+ .map_err(Error::io)
1410
+ }
1411
+
1412
+ fn serialize_bytes(self, _value: &[u8]) -> Result<()> {
1413
+ Err(ser::Error::custom("expected RawValue"))
1414
+ }
1415
+
1416
+ fn serialize_none(self) -> Result<()> {
1417
+ Err(ser::Error::custom("expected RawValue"))
1418
+ }
1419
+
1420
+ fn serialize_some<T>(self, _value: &T) -> Result<()>
1421
+ where
1422
+ T: ?Sized + Serialize,
1423
+ {
1424
+ Err(ser::Error::custom("expected RawValue"))
1425
+ }
1426
+
1427
+ fn serialize_unit(self) -> Result<()> {
1428
+ Err(ser::Error::custom("expected RawValue"))
1429
+ }
1430
+
1431
+ fn serialize_unit_struct(self, _name: &'static str) -> Result<()> {
1432
+ Err(ser::Error::custom("expected RawValue"))
1433
+ }
1434
+
1435
+ fn serialize_unit_variant(
1436
+ self,
1437
+ _name: &'static str,
1438
+ _variant_index: u32,
1439
+ _variant: &'static str,
1440
+ ) -> Result<()> {
1441
+ Err(ser::Error::custom("expected RawValue"))
1442
+ }
1443
+
1444
+ fn serialize_newtype_struct<T>(self, _name: &'static str, _value: &T) -> Result<()>
1445
+ where
1446
+ T: ?Sized + Serialize,
1447
+ {
1448
+ Err(ser::Error::custom("expected RawValue"))
1449
+ }
1450
+
1451
+ fn serialize_newtype_variant<T>(
1452
+ self,
1453
+ _name: &'static str,
1454
+ _variant_index: u32,
1455
+ _variant: &'static str,
1456
+ _value: &T,
1457
+ ) -> Result<()>
1458
+ where
1459
+ T: ?Sized + Serialize,
1460
+ {
1461
+ Err(ser::Error::custom("expected RawValue"))
1462
+ }
1463
+
1464
+ fn serialize_seq(self, _len: Option<usize>) -> Result<Self::SerializeSeq> {
1465
+ Err(ser::Error::custom("expected RawValue"))
1466
+ }
1467
+
1468
+ fn serialize_tuple(self, _len: usize) -> Result<Self::SerializeTuple> {
1469
+ Err(ser::Error::custom("expected RawValue"))
1470
+ }
1471
+
1472
+ fn serialize_tuple_struct(
1473
+ self,
1474
+ _name: &'static str,
1475
+ _len: usize,
1476
+ ) -> Result<Self::SerializeTupleStruct> {
1477
+ Err(ser::Error::custom("expected RawValue"))
1478
+ }
1479
+
1480
+ fn serialize_tuple_variant(
1481
+ self,
1482
+ _name: &'static str,
1483
+ _variant_index: u32,
1484
+ _variant: &'static str,
1485
+ _len: usize,
1486
+ ) -> Result<Self::SerializeTupleVariant> {
1487
+ Err(ser::Error::custom("expected RawValue"))
1488
+ }
1489
+
1490
+ fn serialize_map(self, _len: Option<usize>) -> Result<Self::SerializeMap> {
1491
+ Err(ser::Error::custom("expected RawValue"))
1492
+ }
1493
+
1494
+ fn serialize_struct(self, _name: &'static str, _len: usize) -> Result<Self::SerializeStruct> {
1495
+ Err(ser::Error::custom("expected RawValue"))
1496
+ }
1497
+
1498
+ fn serialize_struct_variant(
1499
+ self,
1500
+ _name: &'static str,
1501
+ _variant_index: u32,
1502
+ _variant: &'static str,
1503
+ _len: usize,
1504
+ ) -> Result<Self::SerializeStructVariant> {
1505
+ Err(ser::Error::custom("expected RawValue"))
1506
+ }
1507
+
1508
+ fn collect_str<T>(self, value: &T) -> Result<Self::Ok>
1509
+ where
1510
+ T: ?Sized + Display,
1511
+ {
1512
+ self.serialize_str(&value.to_string())
1513
+ }
1514
+ }
1515
+
1516
+ /// Represents a character escape code in a type-safe manner.
1517
+ pub enum CharEscape {
1518
+ /// An escaped quote `"`
1519
+ Quote,
1520
+ /// An escaped reverse solidus `\`
1521
+ ReverseSolidus,
1522
+ /// An escaped solidus `/`
1523
+ Solidus,
1524
+ /// An escaped backspace character (usually escaped as `\b`)
1525
+ Backspace,
1526
+ /// An escaped form feed character (usually escaped as `\f`)
1527
+ FormFeed,
1528
+ /// An escaped line feed character (usually escaped as `\n`)
1529
+ LineFeed,
1530
+ /// An escaped carriage return character (usually escaped as `\r`)
1531
+ CarriageReturn,
1532
+ /// An escaped tab character (usually escaped as `\t`)
1533
+ Tab,
1534
+ /// An escaped ASCII plane control character (usually escaped as
1535
+ /// `\u00XX` where `XX` are two hex characters)
1536
+ AsciiControl(u8),
1537
+ }
1538
+
1539
+ /// This trait abstracts away serializing the JSON control characters, which allows the user to
1540
+ /// optionally pretty print the JSON output.
1541
+ pub trait Formatter {
1542
+ /// Writes a `null` value to the specified writer.
1543
+ #[inline]
1544
+ fn write_null<W>(&mut self, writer: &mut W) -> io::Result<()>
1545
+ where
1546
+ W: ?Sized + io::Write,
1547
+ {
1548
+ writer.write_all(b"null")
1549
+ }
1550
+
1551
+ /// Writes a `true` or `false` value to the specified writer.
1552
+ #[inline]
1553
+ fn write_bool<W>(&mut self, writer: &mut W, value: bool) -> io::Result<()>
1554
+ where
1555
+ W: ?Sized + io::Write,
1556
+ {
1557
+ let s = if value {
1558
+ b"true" as &[u8]
1559
+ } else {
1560
+ b"false" as &[u8]
1561
+ };
1562
+ writer.write_all(s)
1563
+ }
1564
+
1565
+ /// Writes an integer value like `-123` to the specified writer.
1566
+ #[inline]
1567
+ fn write_i8<W>(&mut self, writer: &mut W, value: i8) -> io::Result<()>
1568
+ where
1569
+ W: ?Sized + io::Write,
1570
+ {
1571
+ let mut buffer = itoa::Buffer::new();
1572
+ let s = buffer.format(value);
1573
+ writer.write_all(s.as_bytes())
1574
+ }
1575
+
1576
+ /// Writes an integer value like `-123` to the specified writer.
1577
+ #[inline]
1578
+ fn write_i16<W>(&mut self, writer: &mut W, value: i16) -> io::Result<()>
1579
+ where
1580
+ W: ?Sized + io::Write,
1581
+ {
1582
+ let mut buffer = itoa::Buffer::new();
1583
+ let s = buffer.format(value);
1584
+ writer.write_all(s.as_bytes())
1585
+ }
1586
+
1587
+ /// Writes an integer value like `-123` to the specified writer.
1588
+ #[inline]
1589
+ fn write_i32<W>(&mut self, writer: &mut W, value: i32) -> io::Result<()>
1590
+ where
1591
+ W: ?Sized + io::Write,
1592
+ {
1593
+ let mut buffer = itoa::Buffer::new();
1594
+ let s = buffer.format(value);
1595
+ writer.write_all(s.as_bytes())
1596
+ }
1597
+
1598
+ /// Writes an integer value like `-123` to the specified writer.
1599
+ #[inline]
1600
+ fn write_i64<W>(&mut self, writer: &mut W, value: i64) -> io::Result<()>
1601
+ where
1602
+ W: ?Sized + io::Write,
1603
+ {
1604
+ let mut buffer = itoa::Buffer::new();
1605
+ let s = buffer.format(value);
1606
+ writer.write_all(s.as_bytes())
1607
+ }
1608
+
1609
+ /// Writes an integer value like `-123` to the specified writer.
1610
+ #[inline]
1611
+ fn write_i128<W>(&mut self, writer: &mut W, value: i128) -> io::Result<()>
1612
+ where
1613
+ W: ?Sized + io::Write,
1614
+ {
1615
+ let mut buffer = itoa::Buffer::new();
1616
+ let s = buffer.format(value);
1617
+ writer.write_all(s.as_bytes())
1618
+ }
1619
+
1620
+ /// Writes an integer value like `123` to the specified writer.
1621
+ #[inline]
1622
+ fn write_u8<W>(&mut self, writer: &mut W, value: u8) -> io::Result<()>
1623
+ where
1624
+ W: ?Sized + io::Write,
1625
+ {
1626
+ let mut buffer = itoa::Buffer::new();
1627
+ let s = buffer.format(value);
1628
+ writer.write_all(s.as_bytes())
1629
+ }
1630
+
1631
+ /// Writes an integer value like `123` to the specified writer.
1632
+ #[inline]
1633
+ fn write_u16<W>(&mut self, writer: &mut W, value: u16) -> io::Result<()>
1634
+ where
1635
+ W: ?Sized + io::Write,
1636
+ {
1637
+ let mut buffer = itoa::Buffer::new();
1638
+ let s = buffer.format(value);
1639
+ writer.write_all(s.as_bytes())
1640
+ }
1641
+
1642
+ /// Writes an integer value like `123` to the specified writer.
1643
+ #[inline]
1644
+ fn write_u32<W>(&mut self, writer: &mut W, value: u32) -> io::Result<()>
1645
+ where
1646
+ W: ?Sized + io::Write,
1647
+ {
1648
+ let mut buffer = itoa::Buffer::new();
1649
+ let s = buffer.format(value);
1650
+ writer.write_all(s.as_bytes())
1651
+ }
1652
+
1653
+ /// Writes an integer value like `123` to the specified writer.
1654
+ #[inline]
1655
+ fn write_u64<W>(&mut self, writer: &mut W, value: u64) -> io::Result<()>
1656
+ where
1657
+ W: ?Sized + io::Write,
1658
+ {
1659
+ let mut buffer = itoa::Buffer::new();
1660
+ let s = buffer.format(value);
1661
+ writer.write_all(s.as_bytes())
1662
+ }
1663
+
1664
+ /// Writes an integer value like `123` to the specified writer.
1665
+ #[inline]
1666
+ fn write_u128<W>(&mut self, writer: &mut W, value: u128) -> io::Result<()>
1667
+ where
1668
+ W: ?Sized + io::Write,
1669
+ {
1670
+ let mut buffer = itoa::Buffer::new();
1671
+ let s = buffer.format(value);
1672
+ writer.write_all(s.as_bytes())
1673
+ }
1674
+
1675
+ /// Writes a floating point value like `-31.26e+12` to the specified writer.
1676
+ ///
1677
+ /// # Special cases
1678
+ ///
1679
+ /// This function **does not** check for NaN or infinity. If the input
1680
+ /// number is not a finite float, the printed representation will be some
1681
+ /// correctly formatted but unspecified numerical value.
1682
+ ///
1683
+ /// Please check [`is_finite`] yourself before calling this function, or
1684
+ /// check [`is_nan`] and [`is_infinite`] and handle those cases yourself
1685
+ /// with a different `Formatter` method.
1686
+ ///
1687
+ /// [`is_finite`]: f32::is_finite
1688
+ /// [`is_nan`]: f32::is_nan
1689
+ /// [`is_infinite`]: f32::is_infinite
1690
+ #[inline]
1691
+ fn write_f32<W>(&mut self, writer: &mut W, value: f32) -> io::Result<()>
1692
+ where
1693
+ W: ?Sized + io::Write,
1694
+ {
1695
+ let mut buffer = ryu::Buffer::new();
1696
+ let s = buffer.format_finite(value);
1697
+ writer.write_all(s.as_bytes())
1698
+ }
1699
+
1700
+ /// Writes a floating point value like `-31.26e+12` to the specified writer.
1701
+ ///
1702
+ /// # Special cases
1703
+ ///
1704
+ /// This function **does not** check for NaN or infinity. If the input
1705
+ /// number is not a finite float, the printed representation will be some
1706
+ /// correctly formatted but unspecified numerical value.
1707
+ ///
1708
+ /// Please check [`is_finite`] yourself before calling this function, or
1709
+ /// check [`is_nan`] and [`is_infinite`] and handle those cases yourself
1710
+ /// with a different `Formatter` method.
1711
+ ///
1712
+ /// [`is_finite`]: f64::is_finite
1713
+ /// [`is_nan`]: f64::is_nan
1714
+ /// [`is_infinite`]: f64::is_infinite
1715
+ #[inline]
1716
+ fn write_f64<W>(&mut self, writer: &mut W, value: f64) -> io::Result<()>
1717
+ where
1718
+ W: ?Sized + io::Write,
1719
+ {
1720
+ let mut buffer = ryu::Buffer::new();
1721
+ let s = buffer.format_finite(value);
1722
+ writer.write_all(s.as_bytes())
1723
+ }
1724
+
1725
+ /// Writes a number that has already been rendered to a string.
1726
+ #[inline]
1727
+ fn write_number_str<W>(&mut self, writer: &mut W, value: &str) -> io::Result<()>
1728
+ where
1729
+ W: ?Sized + io::Write,
1730
+ {
1731
+ writer.write_all(value.as_bytes())
1732
+ }
1733
+
1734
+ /// Called before each series of `write_string_fragment` and
1735
+ /// `write_char_escape`. Writes a `"` to the specified writer.
1736
+ #[inline]
1737
+ fn begin_string<W>(&mut self, writer: &mut W) -> io::Result<()>
1738
+ where
1739
+ W: ?Sized + io::Write,
1740
+ {
1741
+ writer.write_all(b"\"")
1742
+ }
1743
+
1744
+ /// Called after each series of `write_string_fragment` and
1745
+ /// `write_char_escape`. Writes a `"` to the specified writer.
1746
+ #[inline]
1747
+ fn end_string<W>(&mut self, writer: &mut W) -> io::Result<()>
1748
+ where
1749
+ W: ?Sized + io::Write,
1750
+ {
1751
+ writer.write_all(b"\"")
1752
+ }
1753
+
1754
+ /// Writes a string fragment that doesn't need any escaping to the
1755
+ /// specified writer.
1756
+ #[inline]
1757
+ fn write_string_fragment<W>(&mut self, writer: &mut W, fragment: &str) -> io::Result<()>
1758
+ where
1759
+ W: ?Sized + io::Write,
1760
+ {
1761
+ writer.write_all(fragment.as_bytes())
1762
+ }
1763
+
1764
+ /// Writes a character escape code to the specified writer.
1765
+ #[inline]
1766
+ fn write_char_escape<W>(&mut self, writer: &mut W, char_escape: CharEscape) -> io::Result<()>
1767
+ where
1768
+ W: ?Sized + io::Write,
1769
+ {
1770
+ use self::CharEscape::*;
1771
+
1772
+ let escape_char = match char_escape {
1773
+ Quote => b'"',
1774
+ ReverseSolidus => b'\\',
1775
+ Solidus => b'/',
1776
+ Backspace => b'b',
1777
+ FormFeed => b'f',
1778
+ LineFeed => b'n',
1779
+ CarriageReturn => b'r',
1780
+ Tab => b't',
1781
+ AsciiControl(_) => b'u',
1782
+ };
1783
+
1784
+ match char_escape {
1785
+ AsciiControl(byte) => {
1786
+ static HEX_DIGITS: [u8; 16] = *b"0123456789abcdef";
1787
+ let bytes = &[
1788
+ b'\\',
1789
+ escape_char,
1790
+ b'0',
1791
+ b'0',
1792
+ HEX_DIGITS[(byte >> 4) as usize],
1793
+ HEX_DIGITS[(byte & 0xF) as usize],
1794
+ ];
1795
+ writer.write_all(bytes)
1796
+ }
1797
+ _ => writer.write_all(&[b'\\', escape_char]),
1798
+ }
1799
+ }
1800
+
1801
+ /// Writes the representation of a byte array. Formatters can choose whether
1802
+ /// to represent bytes as a JSON array of integers (the default), or some
1803
+ /// JSON string encoding like hex or base64.
1804
+ fn write_byte_array<W>(&mut self, writer: &mut W, value: &[u8]) -> io::Result<()>
1805
+ where
1806
+ W: ?Sized + io::Write,
1807
+ {
1808
+ tri!(self.begin_array(writer));
1809
+ let mut first = true;
1810
+ for byte in value {
1811
+ tri!(self.begin_array_value(writer, first));
1812
+ tri!(self.write_u8(writer, *byte));
1813
+ tri!(self.end_array_value(writer));
1814
+ first = false;
1815
+ }
1816
+ self.end_array(writer)
1817
+ }
1818
+
1819
+ /// Called before every array. Writes a `[` to the specified
1820
+ /// writer.
1821
+ #[inline]
1822
+ fn begin_array<W>(&mut self, writer: &mut W) -> io::Result<()>
1823
+ where
1824
+ W: ?Sized + io::Write,
1825
+ {
1826
+ writer.write_all(b"[")
1827
+ }
1828
+
1829
+ /// Called after every array. Writes a `]` to the specified
1830
+ /// writer.
1831
+ #[inline]
1832
+ fn end_array<W>(&mut self, writer: &mut W) -> io::Result<()>
1833
+ where
1834
+ W: ?Sized + io::Write,
1835
+ {
1836
+ writer.write_all(b"]")
1837
+ }
1838
+
1839
+ /// Called before every array value. Writes a `,` if needed to
1840
+ /// the specified writer.
1841
+ #[inline]
1842
+ fn begin_array_value<W>(&mut self, writer: &mut W, first: bool) -> io::Result<()>
1843
+ where
1844
+ W: ?Sized + io::Write,
1845
+ {
1846
+ if first {
1847
+ Ok(())
1848
+ } else {
1849
+ writer.write_all(b",")
1850
+ }
1851
+ }
1852
+
1853
+ /// Called after every array value.
1854
+ #[inline]
1855
+ fn end_array_value<W>(&mut self, _writer: &mut W) -> io::Result<()>
1856
+ where
1857
+ W: ?Sized + io::Write,
1858
+ {
1859
+ Ok(())
1860
+ }
1861
+
1862
+ /// Called before every object. Writes a `{` to the specified
1863
+ /// writer.
1864
+ #[inline]
1865
+ fn begin_object<W>(&mut self, writer: &mut W) -> io::Result<()>
1866
+ where
1867
+ W: ?Sized + io::Write,
1868
+ {
1869
+ writer.write_all(b"{")
1870
+ }
1871
+
1872
+ /// Called after every object. Writes a `}` to the specified
1873
+ /// writer.
1874
+ #[inline]
1875
+ fn end_object<W>(&mut self, writer: &mut W) -> io::Result<()>
1876
+ where
1877
+ W: ?Sized + io::Write,
1878
+ {
1879
+ writer.write_all(b"}")
1880
+ }
1881
+
1882
+ /// Called before every object key.
1883
+ #[inline]
1884
+ fn begin_object_key<W>(&mut self, writer: &mut W, first: bool) -> io::Result<()>
1885
+ where
1886
+ W: ?Sized + io::Write,
1887
+ {
1888
+ if first {
1889
+ Ok(())
1890
+ } else {
1891
+ writer.write_all(b",")
1892
+ }
1893
+ }
1894
+
1895
+ /// Called after every object key. A `:` should be written to the
1896
+ /// specified writer by either this method or
1897
+ /// `begin_object_value`.
1898
+ #[inline]
1899
+ fn end_object_key<W>(&mut self, _writer: &mut W) -> io::Result<()>
1900
+ where
1901
+ W: ?Sized + io::Write,
1902
+ {
1903
+ Ok(())
1904
+ }
1905
+
1906
+ /// Called before every object value. A `:` should be written to
1907
+ /// the specified writer by either this method or
1908
+ /// `end_object_key`.
1909
+ #[inline]
1910
+ fn begin_object_value<W>(&mut self, writer: &mut W) -> io::Result<()>
1911
+ where
1912
+ W: ?Sized + io::Write,
1913
+ {
1914
+ writer.write_all(b":")
1915
+ }
1916
+
1917
+ /// Called after every object value.
1918
+ #[inline]
1919
+ fn end_object_value<W>(&mut self, _writer: &mut W) -> io::Result<()>
1920
+ where
1921
+ W: ?Sized + io::Write,
1922
+ {
1923
+ Ok(())
1924
+ }
1925
+
1926
+ /// Writes a raw JSON fragment that doesn't need any escaping to the
1927
+ /// specified writer.
1928
+ #[inline]
1929
+ fn write_raw_fragment<W>(&mut self, writer: &mut W, fragment: &str) -> io::Result<()>
1930
+ where
1931
+ W: ?Sized + io::Write,
1932
+ {
1933
+ writer.write_all(fragment.as_bytes())
1934
+ }
1935
+ }
1936
+
1937
+ /// This structure compacts a JSON value with no extra whitespace.
1938
+ #[derive(Clone, Debug, Default)]
1939
+ pub struct CompactFormatter;
1940
+
1941
+ impl Formatter for CompactFormatter {}
1942
+
1943
+ /// This structure pretty prints a JSON value to make it human readable.
1944
+ #[derive(Clone, Debug)]
1945
+ pub struct PrettyFormatter<'a> {
1946
+ current_indent: usize,
1947
+ has_value: bool,
1948
+ indent: &'a [u8],
1949
+ }
1950
+
1951
+ impl<'a> PrettyFormatter<'a> {
1952
+ /// Construct a pretty printer formatter that defaults to using two spaces for indentation.
1953
+ pub fn new() -> Self {
1954
+ PrettyFormatter::with_indent(b" ")
1955
+ }
1956
+
1957
+ /// Construct a pretty printer formatter that uses the `indent` string for indentation.
1958
+ pub fn with_indent(indent: &'a [u8]) -> Self {
1959
+ PrettyFormatter {
1960
+ current_indent: 0,
1961
+ has_value: false,
1962
+ indent,
1963
+ }
1964
+ }
1965
+ }
1966
+
1967
+ impl<'a> Default for PrettyFormatter<'a> {
1968
+ fn default() -> Self {
1969
+ PrettyFormatter::new()
1970
+ }
1971
+ }
1972
+
1973
+ impl<'a> Formatter for PrettyFormatter<'a> {
1974
+ #[inline]
1975
+ fn begin_array<W>(&mut self, writer: &mut W) -> io::Result<()>
1976
+ where
1977
+ W: ?Sized + io::Write,
1978
+ {
1979
+ self.current_indent += 1;
1980
+ self.has_value = false;
1981
+ writer.write_all(b"[")
1982
+ }
1983
+
1984
+ #[inline]
1985
+ fn end_array<W>(&mut self, writer: &mut W) -> io::Result<()>
1986
+ where
1987
+ W: ?Sized + io::Write,
1988
+ {
1989
+ self.current_indent -= 1;
1990
+
1991
+ if self.has_value {
1992
+ tri!(writer.write_all(b"\n"));
1993
+ tri!(indent(writer, self.current_indent, self.indent));
1994
+ }
1995
+
1996
+ writer.write_all(b"]")
1997
+ }
1998
+
1999
+ #[inline]
2000
+ fn begin_array_value<W>(&mut self, writer: &mut W, first: bool) -> io::Result<()>
2001
+ where
2002
+ W: ?Sized + io::Write,
2003
+ {
2004
+ tri!(writer.write_all(if first { b"\n" } else { b",\n" }));
2005
+ indent(writer, self.current_indent, self.indent)
2006
+ }
2007
+
2008
+ #[inline]
2009
+ fn end_array_value<W>(&mut self, _writer: &mut W) -> io::Result<()>
2010
+ where
2011
+ W: ?Sized + io::Write,
2012
+ {
2013
+ self.has_value = true;
2014
+ Ok(())
2015
+ }
2016
+
2017
+ #[inline]
2018
+ fn begin_object<W>(&mut self, writer: &mut W) -> io::Result<()>
2019
+ where
2020
+ W: ?Sized + io::Write,
2021
+ {
2022
+ self.current_indent += 1;
2023
+ self.has_value = false;
2024
+ writer.write_all(b"{")
2025
+ }
2026
+
2027
+ #[inline]
2028
+ fn end_object<W>(&mut self, writer: &mut W) -> io::Result<()>
2029
+ where
2030
+ W: ?Sized + io::Write,
2031
+ {
2032
+ self.current_indent -= 1;
2033
+
2034
+ if self.has_value {
2035
+ tri!(writer.write_all(b"\n"));
2036
+ tri!(indent(writer, self.current_indent, self.indent));
2037
+ }
2038
+
2039
+ writer.write_all(b"}")
2040
+ }
2041
+
2042
+ #[inline]
2043
+ fn begin_object_key<W>(&mut self, writer: &mut W, first: bool) -> io::Result<()>
2044
+ where
2045
+ W: ?Sized + io::Write,
2046
+ {
2047
+ tri!(writer.write_all(if first { b"\n" } else { b",\n" }));
2048
+ indent(writer, self.current_indent, self.indent)
2049
+ }
2050
+
2051
+ #[inline]
2052
+ fn begin_object_value<W>(&mut self, writer: &mut W) -> io::Result<()>
2053
+ where
2054
+ W: ?Sized + io::Write,
2055
+ {
2056
+ writer.write_all(b": ")
2057
+ }
2058
+
2059
+ #[inline]
2060
+ fn end_object_value<W>(&mut self, _writer: &mut W) -> io::Result<()>
2061
+ where
2062
+ W: ?Sized + io::Write,
2063
+ {
2064
+ self.has_value = true;
2065
+ Ok(())
2066
+ }
2067
+ }
2068
+
2069
+ fn format_escaped_str<W, F>(writer: &mut W, formatter: &mut F, value: &str) -> io::Result<()>
2070
+ where
2071
+ W: ?Sized + io::Write,
2072
+ F: ?Sized + Formatter,
2073
+ {
2074
+ tri!(formatter.begin_string(writer));
2075
+ tri!(format_escaped_str_contents(writer, formatter, value));
2076
+ formatter.end_string(writer)
2077
+ }
2078
+
2079
+ fn format_escaped_str_contents<W, F>(
2080
+ writer: &mut W,
2081
+ formatter: &mut F,
2082
+ value: &str,
2083
+ ) -> io::Result<()>
2084
+ where
2085
+ W: ?Sized + io::Write,
2086
+ F: ?Sized + Formatter,
2087
+ {
2088
+ let mut bytes = value.as_bytes();
2089
+
2090
+ let mut i = 0;
2091
+ while i < bytes.len() {
2092
+ let (string_run, rest) = bytes.split_at(i);
2093
+ let (&byte, rest) = rest.split_first().unwrap();
2094
+
2095
+ let escape = ESCAPE[byte as usize];
2096
+
2097
+ i += 1;
2098
+ if escape == 0 {
2099
+ continue;
2100
+ }
2101
+
2102
+ bytes = rest;
2103
+ i = 0;
2104
+
2105
+ // Safety: string_run is a valid utf8 string, since we only split on ascii sequences
2106
+ let string_run = unsafe { str::from_utf8_unchecked(string_run) };
2107
+ if !string_run.is_empty() {
2108
+ tri!(formatter.write_string_fragment(writer, string_run));
2109
+ }
2110
+
2111
+ let char_escape = match escape {
2112
+ self::BB => CharEscape::Backspace,
2113
+ self::TT => CharEscape::Tab,
2114
+ self::NN => CharEscape::LineFeed,
2115
+ self::FF => CharEscape::FormFeed,
2116
+ self::RR => CharEscape::CarriageReturn,
2117
+ self::QU => CharEscape::Quote,
2118
+ self::BS => CharEscape::ReverseSolidus,
2119
+ self::UU => CharEscape::AsciiControl(byte),
2120
+ // Safety: the escape table does not contain any other type of character.
2121
+ _ => unsafe { hint::unreachable_unchecked() },
2122
+ };
2123
+ tri!(formatter.write_char_escape(writer, char_escape));
2124
+ }
2125
+
2126
+ // Safety: bytes is a valid utf8 string, since we only split on ascii sequences
2127
+ let string_run = unsafe { str::from_utf8_unchecked(bytes) };
2128
+ if string_run.is_empty() {
2129
+ return Ok(());
2130
+ }
2131
+
2132
+ formatter.write_string_fragment(writer, string_run)
2133
+ }
2134
+
2135
+ const BB: u8 = b'b'; // \x08
2136
+ const TT: u8 = b't'; // \x09
2137
+ const NN: u8 = b'n'; // \x0A
2138
+ const FF: u8 = b'f'; // \x0C
2139
+ const RR: u8 = b'r'; // \x0D
2140
+ const QU: u8 = b'"'; // \x22
2141
+ const BS: u8 = b'\\'; // \x5C
2142
+ const UU: u8 = b'u'; // \x00...\x1F except the ones above
2143
+ const __: u8 = 0;
2144
+
2145
+ // Lookup table of escape sequences. A value of b'x' at index i means that byte
2146
+ // i is escaped as "\x" in JSON. A value of 0 means that byte i is not escaped.
2147
+ static ESCAPE: [u8; 256] = [
2148
+ // 1 2 3 4 5 6 7 8 9 A B C D E F
2149
+ UU, UU, UU, UU, UU, UU, UU, UU, BB, TT, NN, UU, FF, RR, UU, UU, // 0
2150
+ UU, UU, UU, UU, UU, UU, UU, UU, UU, UU, UU, UU, UU, UU, UU, UU, // 1
2151
+ __, __, QU, __, __, __, __, __, __, __, __, __, __, __, __, __, // 2
2152
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 3
2153
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 4
2154
+ __, __, __, __, __, __, __, __, __, __, __, __, BS, __, __, __, // 5
2155
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 6
2156
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 7
2157
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 8
2158
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 9
2159
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // A
2160
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // B
2161
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // C
2162
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // D
2163
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // E
2164
+ __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // F
2165
+ ];
2166
+
2167
+ /// Serialize the given data structure as JSON into the I/O stream.
2168
+ ///
2169
+ /// Serialization guarantees it only feeds valid UTF-8 sequences to the writer.
2170
+ ///
2171
+ /// # Errors
2172
+ ///
2173
+ /// Serialization can fail if `T`'s implementation of `Serialize` decides to
2174
+ /// fail, or if `T` contains a map with non-string keys.
2175
+ #[inline]
2176
+ #[cfg_attr(docsrs, doc(cfg(feature = "std")))]
2177
+ pub fn to_writer<W, T>(writer: W, value: &T) -> Result<()>
2178
+ where
2179
+ W: io::Write,
2180
+ T: ?Sized + Serialize,
2181
+ {
2182
+ let mut ser = Serializer::new(writer);
2183
+ value.serialize(&mut ser)
2184
+ }
2185
+
2186
+ /// Serialize the given data structure as pretty-printed JSON into the I/O
2187
+ /// stream.
2188
+ ///
2189
+ /// Serialization guarantees it only feeds valid UTF-8 sequences to the writer.
2190
+ ///
2191
+ /// # Errors
2192
+ ///
2193
+ /// Serialization can fail if `T`'s implementation of `Serialize` decides to
2194
+ /// fail, or if `T` contains a map with non-string keys.
2195
+ #[inline]
2196
+ #[cfg_attr(docsrs, doc(cfg(feature = "std")))]
2197
+ pub fn to_writer_pretty<W, T>(writer: W, value: &T) -> Result<()>
2198
+ where
2199
+ W: io::Write,
2200
+ T: ?Sized + Serialize,
2201
+ {
2202
+ let mut ser = Serializer::pretty(writer);
2203
+ value.serialize(&mut ser)
2204
+ }
2205
+
2206
+ /// Serialize the given data structure as a JSON byte vector.
2207
+ ///
2208
+ /// # Errors
2209
+ ///
2210
+ /// Serialization can fail if `T`'s implementation of `Serialize` decides to
2211
+ /// fail, or if `T` contains a map with non-string keys.
2212
+ #[inline]
2213
+ pub fn to_vec<T>(value: &T) -> Result<Vec<u8>>
2214
+ where
2215
+ T: ?Sized + Serialize,
2216
+ {
2217
+ let mut writer = Vec::with_capacity(128);
2218
+ tri!(to_writer(&mut writer, value));
2219
+ Ok(writer)
2220
+ }
2221
+
2222
+ /// Serialize the given data structure as a pretty-printed JSON byte vector.
2223
+ ///
2224
+ /// # Errors
2225
+ ///
2226
+ /// Serialization can fail if `T`'s implementation of `Serialize` decides to
2227
+ /// fail, or if `T` contains a map with non-string keys.
2228
+ #[inline]
2229
+ pub fn to_vec_pretty<T>(value: &T) -> Result<Vec<u8>>
2230
+ where
2231
+ T: ?Sized + Serialize,
2232
+ {
2233
+ let mut writer = Vec::with_capacity(128);
2234
+ tri!(to_writer_pretty(&mut writer, value));
2235
+ Ok(writer)
2236
+ }
2237
+
2238
+ /// Serialize the given data structure as a String of JSON.
2239
+ ///
2240
+ /// # Errors
2241
+ ///
2242
+ /// Serialization can fail if `T`'s implementation of `Serialize` decides to
2243
+ /// fail, or if `T` contains a map with non-string keys.
2244
+ #[inline]
2245
+ pub fn to_string<T>(value: &T) -> Result<String>
2246
+ where
2247
+ T: ?Sized + Serialize,
2248
+ {
2249
+ let vec = tri!(to_vec(value));
2250
+ let string = unsafe {
2251
+ // We do not emit invalid UTF-8.
2252
+ String::from_utf8_unchecked(vec)
2253
+ };
2254
+ Ok(string)
2255
+ }
2256
+
2257
+ /// Serialize the given data structure as a pretty-printed String of JSON.
2258
+ ///
2259
+ /// # Errors
2260
+ ///
2261
+ /// Serialization can fail if `T`'s implementation of `Serialize` decides to
2262
+ /// fail, or if `T` contains a map with non-string keys.
2263
+ #[inline]
2264
+ pub fn to_string_pretty<T>(value: &T) -> Result<String>
2265
+ where
2266
+ T: ?Sized + Serialize,
2267
+ {
2268
+ let vec = tri!(to_vec_pretty(value));
2269
+ let string = unsafe {
2270
+ // We do not emit invalid UTF-8.
2271
+ String::from_utf8_unchecked(vec)
2272
+ };
2273
+ Ok(string)
2274
+ }
2275
+
2276
+ fn indent<W>(wr: &mut W, n: usize, s: &[u8]) -> io::Result<()>
2277
+ where
2278
+ W: ?Sized + io::Write,
2279
+ {
2280
+ for _ in 0..n {
2281
+ tri!(wr.write_all(s));
2282
+ }
2283
+
2284
+ Ok(())
2285
+ }