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
@@ -1,1501 +0,0 @@
1
- // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2
- // file at the top-level directory of this distribution and at
3
- // http://rust-lang.org/COPYRIGHT.
4
- //
5
- // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
- // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
- // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
- // option. This file may not be copied, modified, or distributed
9
- // except according to those terms.
10
-
11
- //! Support for matching file paths against Unix shell style patterns.
12
- //!
13
- //! The `glob` and `glob_with` functions allow querying the filesystem for all
14
- //! files that match a particular pattern (similar to the libc `glob` function).
15
- //! The methods on the `Pattern` type provide functionality for checking if
16
- //! individual paths match a particular pattern (similar to the libc `fnmatch`
17
- //! function).
18
- //!
19
- //! For consistency across platforms, and for Windows support, this module
20
- //! is implemented entirely in Rust rather than deferring to the libc
21
- //! `glob`/`fnmatch` functions.
22
- //!
23
- //! # Examples
24
- //!
25
- //! To print all jpg files in `/media/` and all of its subdirectories.
26
- //!
27
- //! ```rust,no_run
28
- //! use glob::glob;
29
- //!
30
- //! for entry in glob("/media/**/*.jpg").expect("Failed to read glob pattern") {
31
- //! match entry {
32
- //! Ok(path) => println!("{:?}", path.display()),
33
- //! Err(e) => println!("{:?}", e),
34
- //! }
35
- //! }
36
- //! ```
37
- //!
38
- //! To print all files containing the letter "a", case insensitive, in a `local`
39
- //! directory relative to the current working directory. This ignores errors
40
- //! instead of printing them.
41
- //!
42
- //! ```rust,no_run
43
- //! use glob::glob_with;
44
- //! use glob::MatchOptions;
45
- //!
46
- //! let options = MatchOptions {
47
- //! case_sensitive: false,
48
- //! require_literal_separator: false,
49
- //! require_literal_leading_dot: false,
50
- //! };
51
- //! for entry in glob_with("local/*a*", options).unwrap() {
52
- //! if let Ok(path) = entry {
53
- //! println!("{:?}", path.display())
54
- //! }
55
- //! }
56
- //! ```
57
-
58
- #![doc(
59
- html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
60
- html_favicon_url = "https://www.rust-lang.org/favicon.ico",
61
- html_root_url = "https://docs.rs/glob/0.3.1"
62
- )]
63
- #![deny(missing_docs)]
64
-
65
- #[cfg(test)]
66
- #[macro_use]
67
- extern crate doc_comment;
68
-
69
- #[cfg(test)]
70
- doctest!("../README.md");
71
-
72
- use std::cmp;
73
- use std::error::Error;
74
- use std::fmt;
75
- use std::fs;
76
- use std::fs::DirEntry;
77
- use std::io;
78
- use std::ops::Deref;
79
- use std::path::{self, Component, Path, PathBuf};
80
- use std::str::FromStr;
81
-
82
- use CharSpecifier::{CharRange, SingleChar};
83
- use MatchResult::{EntirePatternDoesntMatch, Match, SubPatternDoesntMatch};
84
- use PatternToken::AnyExcept;
85
- use PatternToken::{AnyChar, AnyRecursiveSequence, AnySequence, AnyWithin, Char};
86
-
87
- /// An iterator that yields `Path`s from the filesystem that match a particular
88
- /// pattern.
89
- ///
90
- /// Note that it yields `GlobResult` in order to report any `IoErrors` that may
91
- /// arise during iteration. If a directory matches but is unreadable,
92
- /// thereby preventing its contents from being checked for matches, a
93
- /// `GlobError` is returned to express this.
94
- ///
95
- /// See the `glob` function for more details.
96
- #[derive(Debug)]
97
- pub struct Paths {
98
- dir_patterns: Vec<Pattern>,
99
- require_dir: bool,
100
- options: MatchOptions,
101
- todo: Vec<Result<(PathWrapper, usize), GlobError>>,
102
- scope: Option<PathWrapper>,
103
- }
104
-
105
- /// Return an iterator that produces all the `Path`s that match the given
106
- /// pattern using default match options, which may be absolute or relative to
107
- /// the current working directory.
108
- ///
109
- /// This may return an error if the pattern is invalid.
110
- ///
111
- /// This method uses the default match options and is equivalent to calling
112
- /// `glob_with(pattern, MatchOptions::new())`. Use `glob_with` directly if you
113
- /// want to use non-default match options.
114
- ///
115
- /// When iterating, each result is a `GlobResult` which expresses the
116
- /// possibility that there was an `IoError` when attempting to read the contents
117
- /// of the matched path. In other words, each item returned by the iterator
118
- /// will either be an `Ok(Path)` if the path matched, or an `Err(GlobError)` if
119
- /// the path (partially) matched _but_ its contents could not be read in order
120
- /// to determine if its contents matched.
121
- ///
122
- /// See the `Paths` documentation for more information.
123
- ///
124
- /// # Examples
125
- ///
126
- /// Consider a directory `/media/pictures` containing only the files
127
- /// `kittens.jpg`, `puppies.jpg` and `hamsters.gif`:
128
- ///
129
- /// ```rust,no_run
130
- /// use glob::glob;
131
- ///
132
- /// for entry in glob("/media/pictures/*.jpg").unwrap() {
133
- /// match entry {
134
- /// Ok(path) => println!("{:?}", path.display()),
135
- ///
136
- /// // if the path matched but was unreadable,
137
- /// // thereby preventing its contents from matching
138
- /// Err(e) => println!("{:?}", e),
139
- /// }
140
- /// }
141
- /// ```
142
- ///
143
- /// The above code will print:
144
- ///
145
- /// ```ignore
146
- /// /media/pictures/kittens.jpg
147
- /// /media/pictures/puppies.jpg
148
- /// ```
149
- ///
150
- /// If you want to ignore unreadable paths, you can use something like
151
- /// `filter_map`:
152
- ///
153
- /// ```rust
154
- /// use glob::glob;
155
- /// use std::result::Result;
156
- ///
157
- /// for path in glob("/media/pictures/*.jpg").unwrap().filter_map(Result::ok) {
158
- /// println!("{}", path.display());
159
- /// }
160
- /// ```
161
- /// Paths are yielded in alphabetical order.
162
- pub fn glob(pattern: &str) -> Result<Paths, PatternError> {
163
- glob_with(pattern, MatchOptions::new())
164
- }
165
-
166
- /// Return an iterator that produces all the `Path`s that match the given
167
- /// pattern using the specified match options, which may be absolute or relative
168
- /// to the current working directory.
169
- ///
170
- /// This may return an error if the pattern is invalid.
171
- ///
172
- /// This function accepts Unix shell style patterns as described by
173
- /// `Pattern::new(..)`. The options given are passed through unchanged to
174
- /// `Pattern::matches_with(..)` with the exception that
175
- /// `require_literal_separator` is always set to `true` regardless of the value
176
- /// passed to this function.
177
- ///
178
- /// Paths are yielded in alphabetical order.
179
- pub fn glob_with(pattern: &str, options: MatchOptions) -> Result<Paths, PatternError> {
180
- #[cfg(windows)]
181
- fn check_windows_verbatim(p: &Path) -> bool {
182
- match p.components().next() {
183
- Some(Component::Prefix(ref p)) => {
184
- // Allow VerbatimDisk paths. std canonicalize() generates them, and they work fine
185
- p.kind().is_verbatim()
186
- && if let std::path::Prefix::VerbatimDisk(_) = p.kind() {
187
- false
188
- } else {
189
- true
190
- }
191
- }
192
- _ => false,
193
- }
194
- }
195
- #[cfg(not(windows))]
196
- fn check_windows_verbatim(_: &Path) -> bool {
197
- false
198
- }
199
-
200
- #[cfg(windows)]
201
- fn to_scope(p: &Path) -> PathBuf {
202
- // FIXME handle volume relative paths here
203
- p.to_path_buf()
204
- }
205
- #[cfg(not(windows))]
206
- fn to_scope(p: &Path) -> PathBuf {
207
- p.to_path_buf()
208
- }
209
-
210
- // make sure that the pattern is valid first, else early return with error
211
- if let Err(err) = Pattern::new(pattern) {
212
- return Err(err);
213
- }
214
-
215
- let mut components = Path::new(pattern).components().peekable();
216
- loop {
217
- match components.peek() {
218
- Some(&Component::Prefix(..)) | Some(&Component::RootDir) => {
219
- components.next();
220
- }
221
- _ => break,
222
- }
223
- }
224
- let rest = components.map(|s| s.as_os_str()).collect::<PathBuf>();
225
- let normalized_pattern = Path::new(pattern).iter().collect::<PathBuf>();
226
- let root_len = normalized_pattern.to_str().unwrap().len() - rest.to_str().unwrap().len();
227
- let root = if root_len > 0 {
228
- Some(Path::new(&pattern[..root_len]))
229
- } else {
230
- None
231
- };
232
-
233
- if root_len > 0 && check_windows_verbatim(root.unwrap()) {
234
- // FIXME: How do we want to handle verbatim paths? I'm inclined to
235
- // return nothing, since we can't very well find all UNC shares with a
236
- // 1-letter server name.
237
- return Ok(Paths {
238
- dir_patterns: Vec::new(),
239
- require_dir: false,
240
- options,
241
- todo: Vec::new(),
242
- scope: None,
243
- });
244
- }
245
-
246
- let scope = root.map_or_else(|| PathBuf::from("."), to_scope);
247
- let scope = PathWrapper::from_path(scope);
248
-
249
- let mut dir_patterns = Vec::new();
250
- let components =
251
- pattern[cmp::min(root_len, pattern.len())..].split_terminator(path::is_separator);
252
-
253
- for component in components {
254
- dir_patterns.push(Pattern::new(component)?);
255
- }
256
-
257
- if root_len == pattern.len() {
258
- dir_patterns.push(Pattern {
259
- original: "".to_string(),
260
- tokens: Vec::new(),
261
- is_recursive: false,
262
- });
263
- }
264
-
265
- let last_is_separator = pattern.chars().next_back().map(path::is_separator);
266
- let require_dir = last_is_separator == Some(true);
267
- let todo = Vec::new();
268
-
269
- Ok(Paths {
270
- dir_patterns,
271
- require_dir,
272
- options,
273
- todo,
274
- scope: Some(scope),
275
- })
276
- }
277
-
278
- /// A glob iteration error.
279
- ///
280
- /// This is typically returned when a particular path cannot be read
281
- /// to determine if its contents match the glob pattern. This is possible
282
- /// if the program lacks the appropriate permissions, for example.
283
- #[derive(Debug)]
284
- pub struct GlobError {
285
- path: PathBuf,
286
- error: io::Error,
287
- }
288
-
289
- impl GlobError {
290
- /// The Path that the error corresponds to.
291
- pub fn path(&self) -> &Path {
292
- &self.path
293
- }
294
-
295
- /// The error in question.
296
- pub fn error(&self) -> &io::Error {
297
- &self.error
298
- }
299
-
300
- /// Consumes self, returning the _raw_ underlying `io::Error`
301
- pub fn into_error(self) -> io::Error {
302
- self.error
303
- }
304
- }
305
-
306
- impl Error for GlobError {
307
- #[allow(deprecated)]
308
- fn description(&self) -> &str {
309
- self.error.description()
310
- }
311
-
312
- #[allow(unknown_lints, bare_trait_objects)]
313
- fn cause(&self) -> Option<&Error> {
314
- Some(&self.error)
315
- }
316
- }
317
-
318
- impl fmt::Display for GlobError {
319
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
320
- write!(
321
- f,
322
- "attempting to read `{}` resulted in an error: {}",
323
- self.path.display(),
324
- self.error
325
- )
326
- }
327
- }
328
-
329
- #[derive(Debug)]
330
- struct PathWrapper {
331
- path: PathBuf,
332
- is_directory: bool,
333
- }
334
-
335
- impl PathWrapper {
336
- fn from_dir_entry(path: PathBuf, e: DirEntry) -> Self {
337
- let is_directory = e
338
- .file_type()
339
- .ok()
340
- .and_then(|file_type| {
341
- // We need to use fs::metadata to resolve the actual path
342
- // if it's a symlink.
343
- if file_type.is_symlink() {
344
- None
345
- } else {
346
- Some(file_type.is_dir())
347
- }
348
- })
349
- .or_else(|| fs::metadata(&path).map(|m| m.is_dir()).ok())
350
- .unwrap_or(false);
351
- Self { path, is_directory }
352
- }
353
- fn from_path(path: PathBuf) -> Self {
354
- let is_directory = fs::metadata(&path).map(|m| m.is_dir()).unwrap_or(false);
355
- Self { path, is_directory }
356
- }
357
-
358
- fn into_path(self) -> PathBuf {
359
- self.path
360
- }
361
- }
362
-
363
- impl Deref for PathWrapper {
364
- type Target = Path;
365
-
366
- fn deref(&self) -> &Self::Target {
367
- self.path.deref()
368
- }
369
- }
370
-
371
- impl AsRef<Path> for PathWrapper {
372
- fn as_ref(&self) -> &Path {
373
- self.path.as_ref()
374
- }
375
- }
376
-
377
- /// An alias for a glob iteration result.
378
- ///
379
- /// This represents either a matched path or a glob iteration error,
380
- /// such as failing to read a particular directory's contents.
381
- pub type GlobResult = Result<PathBuf, GlobError>;
382
-
383
- impl Iterator for Paths {
384
- type Item = GlobResult;
385
-
386
- fn next(&mut self) -> Option<GlobResult> {
387
- // the todo buffer hasn't been initialized yet, so it's done at this
388
- // point rather than in glob() so that the errors are unified that is,
389
- // failing to fill the buffer is an iteration error construction of the
390
- // iterator (i.e. glob()) only fails if it fails to compile the Pattern
391
- if let Some(scope) = self.scope.take() {
392
- if !self.dir_patterns.is_empty() {
393
- // Shouldn't happen, but we're using -1 as a special index.
394
- assert!(self.dir_patterns.len() < !0 as usize);
395
-
396
- fill_todo(&mut self.todo, &self.dir_patterns, 0, &scope, self.options);
397
- }
398
- }
399
-
400
- loop {
401
- if self.dir_patterns.is_empty() || self.todo.is_empty() {
402
- return None;
403
- }
404
-
405
- let (path, mut idx) = match self.todo.pop().unwrap() {
406
- Ok(pair) => pair,
407
- Err(e) => return Some(Err(e)),
408
- };
409
-
410
- // idx -1: was already checked by fill_todo, maybe path was '.' or
411
- // '..' that we can't match here because of normalization.
412
- if idx == !0 as usize {
413
- if self.require_dir && !path.is_directory {
414
- continue;
415
- }
416
- return Some(Ok(path.into_path()));
417
- }
418
-
419
- if self.dir_patterns[idx].is_recursive {
420
- let mut next = idx;
421
-
422
- // collapse consecutive recursive patterns
423
- while (next + 1) < self.dir_patterns.len()
424
- && self.dir_patterns[next + 1].is_recursive
425
- {
426
- next += 1;
427
- }
428
-
429
- if path.is_directory {
430
- // the path is a directory, so it's a match
431
-
432
- // push this directory's contents
433
- fill_todo(
434
- &mut self.todo,
435
- &self.dir_patterns,
436
- next,
437
- &path,
438
- self.options,
439
- );
440
-
441
- if next == self.dir_patterns.len() - 1 {
442
- // pattern ends in recursive pattern, so return this
443
- // directory as a result
444
- return Some(Ok(path.into_path()));
445
- } else {
446
- // advanced to the next pattern for this path
447
- idx = next + 1;
448
- }
449
- } else if next == self.dir_patterns.len() - 1 {
450
- // not a directory and it's the last pattern, meaning no
451
- // match
452
- continue;
453
- } else {
454
- // advanced to the next pattern for this path
455
- idx = next + 1;
456
- }
457
- }
458
-
459
- // not recursive, so match normally
460
- if self.dir_patterns[idx].matches_with(
461
- {
462
- match path.file_name().and_then(|s| s.to_str()) {
463
- // FIXME (#9639): How do we handle non-utf8 filenames?
464
- // Ignore them for now; ideally we'd still match them
465
- // against a *
466
- None => continue,
467
- Some(x) => x,
468
- }
469
- },
470
- self.options,
471
- ) {
472
- if idx == self.dir_patterns.len() - 1 {
473
- // it is not possible for a pattern to match a directory
474
- // *AND* its children so we don't need to check the
475
- // children
476
-
477
- if !self.require_dir || path.is_directory {
478
- return Some(Ok(path.into_path()));
479
- }
480
- } else {
481
- fill_todo(
482
- &mut self.todo,
483
- &self.dir_patterns,
484
- idx + 1,
485
- &path,
486
- self.options,
487
- );
488
- }
489
- }
490
- }
491
- }
492
- }
493
-
494
- /// A pattern parsing error.
495
- #[derive(Debug)]
496
- #[allow(missing_copy_implementations)]
497
- pub struct PatternError {
498
- /// The approximate character index of where the error occurred.
499
- pub pos: usize,
500
-
501
- /// A message describing the error.
502
- pub msg: &'static str,
503
- }
504
-
505
- impl Error for PatternError {
506
- fn description(&self) -> &str {
507
- self.msg
508
- }
509
- }
510
-
511
- impl fmt::Display for PatternError {
512
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
513
- write!(
514
- f,
515
- "Pattern syntax error near position {}: {}",
516
- self.pos, self.msg
517
- )
518
- }
519
- }
520
-
521
- /// A compiled Unix shell style pattern.
522
- ///
523
- /// - `?` matches any single character.
524
- ///
525
- /// - `*` matches any (possibly empty) sequence of characters.
526
- ///
527
- /// - `**` matches the current directory and arbitrary
528
- /// subdirectories. To match files in arbitrary subdiretories, use
529
- /// `**/*`.
530
- ///
531
- /// This sequence **must** form a single path component, so both
532
- /// `**a` and `b**` are invalid and will result in an error. A
533
- /// sequence of more than two consecutive `*` characters is also
534
- /// invalid.
535
- ///
536
- /// - `[...]` matches any character inside the brackets. Character sequences
537
- /// can also specify ranges of characters, as ordered by Unicode, so e.g.
538
- /// `[0-9]` specifies any character between 0 and 9 inclusive. An unclosed
539
- /// bracket is invalid.
540
- ///
541
- /// - `[!...]` is the negation of `[...]`, i.e. it matches any characters
542
- /// **not** in the brackets.
543
- ///
544
- /// - The metacharacters `?`, `*`, `[`, `]` can be matched by using brackets
545
- /// (e.g. `[?]`). When a `]` occurs immediately following `[` or `[!` then it
546
- /// is interpreted as being part of, rather then ending, the character set, so
547
- /// `]` and NOT `]` can be matched by `[]]` and `[!]]` respectively. The `-`
548
- /// character can be specified inside a character sequence pattern by placing
549
- /// it at the start or the end, e.g. `[abc-]`.
550
- #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Debug)]
551
- pub struct Pattern {
552
- original: String,
553
- tokens: Vec<PatternToken>,
554
- is_recursive: bool,
555
- }
556
-
557
- /// Show the original glob pattern.
558
- impl fmt::Display for Pattern {
559
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
560
- self.original.fmt(f)
561
- }
562
- }
563
-
564
- impl FromStr for Pattern {
565
- type Err = PatternError;
566
-
567
- fn from_str(s: &str) -> Result<Self, PatternError> {
568
- Self::new(s)
569
- }
570
- }
571
-
572
- #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
573
- enum PatternToken {
574
- Char(char),
575
- AnyChar,
576
- AnySequence,
577
- AnyRecursiveSequence,
578
- AnyWithin(Vec<CharSpecifier>),
579
- AnyExcept(Vec<CharSpecifier>),
580
- }
581
-
582
- #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
583
- enum CharSpecifier {
584
- SingleChar(char),
585
- CharRange(char, char),
586
- }
587
-
588
- #[derive(Copy, Clone, PartialEq)]
589
- enum MatchResult {
590
- Match,
591
- SubPatternDoesntMatch,
592
- EntirePatternDoesntMatch,
593
- }
594
-
595
- const ERROR_WILDCARDS: &str = "wildcards are either regular `*` or recursive `**`";
596
- const ERROR_RECURSIVE_WILDCARDS: &str = "recursive wildcards must form a single path \
597
- component";
598
- const ERROR_INVALID_RANGE: &str = "invalid range pattern";
599
-
600
- impl Pattern {
601
- /// This function compiles Unix shell style patterns.
602
- ///
603
- /// An invalid glob pattern will yield a `PatternError`.
604
- pub fn new(pattern: &str) -> Result<Self, PatternError> {
605
- let chars = pattern.chars().collect::<Vec<_>>();
606
- let mut tokens = Vec::new();
607
- let mut is_recursive = false;
608
- let mut i = 0;
609
-
610
- while i < chars.len() {
611
- match chars[i] {
612
- '?' => {
613
- tokens.push(AnyChar);
614
- i += 1;
615
- }
616
- '*' => {
617
- let old = i;
618
-
619
- while i < chars.len() && chars[i] == '*' {
620
- i += 1;
621
- }
622
-
623
- let count = i - old;
624
-
625
- if count > 2 {
626
- return Err(PatternError {
627
- pos: old + 2,
628
- msg: ERROR_WILDCARDS,
629
- });
630
- } else if count == 2 {
631
- // ** can only be an entire path component
632
- // i.e. a/**/b is valid, but a**/b or a/**b is not
633
- // invalid matches are treated literally
634
- let is_valid = if i == 2 || path::is_separator(chars[i - count - 1]) {
635
- // it ends in a '/'
636
- if i < chars.len() && path::is_separator(chars[i]) {
637
- i += 1;
638
- true
639
- // or the pattern ends here
640
- // this enables the existing globbing mechanism
641
- } else if i == chars.len() {
642
- true
643
- // `**` ends in non-separator
644
- } else {
645
- return Err(PatternError {
646
- pos: i,
647
- msg: ERROR_RECURSIVE_WILDCARDS,
648
- });
649
- }
650
- // `**` begins with non-separator
651
- } else {
652
- return Err(PatternError {
653
- pos: old - 1,
654
- msg: ERROR_RECURSIVE_WILDCARDS,
655
- });
656
- };
657
-
658
- if is_valid {
659
- // collapse consecutive AnyRecursiveSequence to a
660
- // single one
661
-
662
- let tokens_len = tokens.len();
663
-
664
- if !(tokens_len > 1 && tokens[tokens_len - 1] == AnyRecursiveSequence) {
665
- is_recursive = true;
666
- tokens.push(AnyRecursiveSequence);
667
- }
668
- }
669
- } else {
670
- tokens.push(AnySequence);
671
- }
672
- }
673
- '[' => {
674
- if i + 4 <= chars.len() && chars[i + 1] == '!' {
675
- match chars[i + 3..].iter().position(|x| *x == ']') {
676
- None => (),
677
- Some(j) => {
678
- let chars = &chars[i + 2..i + 3 + j];
679
- let cs = parse_char_specifiers(chars);
680
- tokens.push(AnyExcept(cs));
681
- i += j + 4;
682
- continue;
683
- }
684
- }
685
- } else if i + 3 <= chars.len() && chars[i + 1] != '!' {
686
- match chars[i + 2..].iter().position(|x| *x == ']') {
687
- None => (),
688
- Some(j) => {
689
- let cs = parse_char_specifiers(&chars[i + 1..i + 2 + j]);
690
- tokens.push(AnyWithin(cs));
691
- i += j + 3;
692
- continue;
693
- }
694
- }
695
- }
696
-
697
- // if we get here then this is not a valid range pattern
698
- return Err(PatternError {
699
- pos: i,
700
- msg: ERROR_INVALID_RANGE,
701
- });
702
- }
703
- c => {
704
- tokens.push(Char(c));
705
- i += 1;
706
- }
707
- }
708
- }
709
-
710
- Ok(Self {
711
- tokens,
712
- original: pattern.to_string(),
713
- is_recursive,
714
- })
715
- }
716
-
717
- /// Escape metacharacters within the given string by surrounding them in
718
- /// brackets. The resulting string will, when compiled into a `Pattern`,
719
- /// match the input string and nothing else.
720
- pub fn escape(s: &str) -> String {
721
- let mut escaped = String::new();
722
- for c in s.chars() {
723
- match c {
724
- // note that ! does not need escaping because it is only special
725
- // inside brackets
726
- '?' | '*' | '[' | ']' => {
727
- escaped.push('[');
728
- escaped.push(c);
729
- escaped.push(']');
730
- }
731
- c => {
732
- escaped.push(c);
733
- }
734
- }
735
- }
736
- escaped
737
- }
738
-
739
- /// Return if the given `str` matches this `Pattern` using the default
740
- /// match options (i.e. `MatchOptions::new()`).
741
- ///
742
- /// # Examples
743
- ///
744
- /// ```rust
745
- /// use glob::Pattern;
746
- ///
747
- /// assert!(Pattern::new("c?t").unwrap().matches("cat"));
748
- /// assert!(Pattern::new("k[!e]tteh").unwrap().matches("kitteh"));
749
- /// assert!(Pattern::new("d*g").unwrap().matches("doog"));
750
- /// ```
751
- pub fn matches(&self, str: &str) -> bool {
752
- self.matches_with(str, MatchOptions::new())
753
- }
754
-
755
- /// Return if the given `Path`, when converted to a `str`, matches this
756
- /// `Pattern` using the default match options (i.e. `MatchOptions::new()`).
757
- pub fn matches_path(&self, path: &Path) -> bool {
758
- // FIXME (#9639): This needs to handle non-utf8 paths
759
- path.to_str().map_or(false, |s| self.matches(s))
760
- }
761
-
762
- /// Return if the given `str` matches this `Pattern` using the specified
763
- /// match options.
764
- pub fn matches_with(&self, str: &str, options: MatchOptions) -> bool {
765
- self.matches_from(true, str.chars(), 0, options) == Match
766
- }
767
-
768
- /// Return if the given `Path`, when converted to a `str`, matches this
769
- /// `Pattern` using the specified match options.
770
- pub fn matches_path_with(&self, path: &Path, options: MatchOptions) -> bool {
771
- // FIXME (#9639): This needs to handle non-utf8 paths
772
- path.to_str()
773
- .map_or(false, |s| self.matches_with(s, options))
774
- }
775
-
776
- /// Access the original glob pattern.
777
- pub fn as_str(&self) -> &str {
778
- &self.original
779
- }
780
-
781
- fn matches_from(
782
- &self,
783
- mut follows_separator: bool,
784
- mut file: std::str::Chars,
785
- i: usize,
786
- options: MatchOptions,
787
- ) -> MatchResult {
788
- for (ti, token) in self.tokens[i..].iter().enumerate() {
789
- match *token {
790
- AnySequence | AnyRecursiveSequence => {
791
- // ** must be at the start.
792
- debug_assert!(match *token {
793
- AnyRecursiveSequence => follows_separator,
794
- _ => true,
795
- });
796
-
797
- // Empty match
798
- match self.matches_from(follows_separator, file.clone(), i + ti + 1, options) {
799
- SubPatternDoesntMatch => (), // keep trying
800
- m => return m,
801
- };
802
-
803
- while let Some(c) = file.next() {
804
- if follows_separator && options.require_literal_leading_dot && c == '.' {
805
- return SubPatternDoesntMatch;
806
- }
807
- follows_separator = path::is_separator(c);
808
- match *token {
809
- AnyRecursiveSequence if !follows_separator => continue,
810
- AnySequence
811
- if options.require_literal_separator && follows_separator =>
812
- {
813
- return SubPatternDoesntMatch
814
- }
815
- _ => (),
816
- }
817
- match self.matches_from(
818
- follows_separator,
819
- file.clone(),
820
- i + ti + 1,
821
- options,
822
- ) {
823
- SubPatternDoesntMatch => (), // keep trying
824
- m => return m,
825
- }
826
- }
827
- }
828
- _ => {
829
- let c = match file.next() {
830
- Some(c) => c,
831
- None => return EntirePatternDoesntMatch,
832
- };
833
-
834
- let is_sep = path::is_separator(c);
835
-
836
- if !match *token {
837
- AnyChar | AnyWithin(..) | AnyExcept(..)
838
- if (options.require_literal_separator && is_sep)
839
- || (follows_separator
840
- && options.require_literal_leading_dot
841
- && c == '.') =>
842
- {
843
- false
844
- }
845
- AnyChar => true,
846
- AnyWithin(ref specifiers) => in_char_specifiers(&specifiers, c, options),
847
- AnyExcept(ref specifiers) => !in_char_specifiers(&specifiers, c, options),
848
- Char(c2) => chars_eq(c, c2, options.case_sensitive),
849
- AnySequence | AnyRecursiveSequence => unreachable!(),
850
- } {
851
- return SubPatternDoesntMatch;
852
- }
853
- follows_separator = is_sep;
854
- }
855
- }
856
- }
857
-
858
- // Iter is fused.
859
- if file.next().is_none() {
860
- Match
861
- } else {
862
- SubPatternDoesntMatch
863
- }
864
- }
865
- }
866
-
867
- // Fills `todo` with paths under `path` to be matched by `patterns[idx]`,
868
- // special-casing patterns to match `.` and `..`, and avoiding `readdir()`
869
- // calls when there are no metacharacters in the pattern.
870
- fn fill_todo(
871
- todo: &mut Vec<Result<(PathWrapper, usize), GlobError>>,
872
- patterns: &[Pattern],
873
- idx: usize,
874
- path: &PathWrapper,
875
- options: MatchOptions,
876
- ) {
877
- // convert a pattern that's just many Char(_) to a string
878
- fn pattern_as_str(pattern: &Pattern) -> Option<String> {
879
- let mut s = String::new();
880
- for token in &pattern.tokens {
881
- match *token {
882
- Char(c) => s.push(c),
883
- _ => return None,
884
- }
885
- }
886
-
887
- Some(s)
888
- }
889
-
890
- let add = |todo: &mut Vec<_>, next_path: PathWrapper| {
891
- if idx + 1 == patterns.len() {
892
- // We know it's good, so don't make the iterator match this path
893
- // against the pattern again. In particular, it can't match
894
- // . or .. globs since these never show up as path components.
895
- todo.push(Ok((next_path, !0 as usize)));
896
- } else {
897
- fill_todo(todo, patterns, idx + 1, &next_path, options);
898
- }
899
- };
900
-
901
- let pattern = &patterns[idx];
902
- let is_dir = path.is_directory;
903
- let curdir = path.as_ref() == Path::new(".");
904
- match pattern_as_str(pattern) {
905
- Some(s) => {
906
- // This pattern component doesn't have any metacharacters, so we
907
- // don't need to read the current directory to know where to
908
- // continue. So instead of passing control back to the iterator,
909
- // we can just check for that one entry and potentially recurse
910
- // right away.
911
- let special = "." == s || ".." == s;
912
- let next_path = if curdir {
913
- PathBuf::from(s)
914
- } else {
915
- path.join(&s)
916
- };
917
- let next_path = PathWrapper::from_path(next_path);
918
- if (special && is_dir)
919
- || (!special
920
- && (fs::metadata(&next_path).is_ok()
921
- || fs::symlink_metadata(&next_path).is_ok()))
922
- {
923
- add(todo, next_path);
924
- }
925
- }
926
- None if is_dir => {
927
- let dirs = fs::read_dir(path).and_then(|d| {
928
- d.map(|e| {
929
- e.map(|e| {
930
- let path = if curdir {
931
- PathBuf::from(e.path().file_name().unwrap())
932
- } else {
933
- e.path()
934
- };
935
- PathWrapper::from_dir_entry(path, e)
936
- })
937
- })
938
- .collect::<Result<Vec<_>, _>>()
939
- });
940
- match dirs {
941
- Ok(mut children) => {
942
- if options.require_literal_leading_dot {
943
- children
944
- .retain(|x| !x.file_name().unwrap().to_str().unwrap().starts_with("."));
945
- }
946
- children.sort_by(|p1, p2| p2.file_name().cmp(&p1.file_name()));
947
- todo.extend(children.into_iter().map(|x| Ok((x, idx))));
948
-
949
- // Matching the special directory entries . and .. that
950
- // refer to the current and parent directory respectively
951
- // requires that the pattern has a leading dot, even if the
952
- // `MatchOptions` field `require_literal_leading_dot` is not
953
- // set.
954
- if !pattern.tokens.is_empty() && pattern.tokens[0] == Char('.') {
955
- for &special in &[".", ".."] {
956
- if pattern.matches_with(special, options) {
957
- add(todo, PathWrapper::from_path(path.join(special)));
958
- }
959
- }
960
- }
961
- }
962
- Err(e) => {
963
- todo.push(Err(GlobError {
964
- path: path.to_path_buf(),
965
- error: e,
966
- }));
967
- }
968
- }
969
- }
970
- None => {
971
- // not a directory, nothing more to find
972
- }
973
- }
974
- }
975
-
976
- fn parse_char_specifiers(s: &[char]) -> Vec<CharSpecifier> {
977
- let mut cs = Vec::new();
978
- let mut i = 0;
979
- while i < s.len() {
980
- if i + 3 <= s.len() && s[i + 1] == '-' {
981
- cs.push(CharRange(s[i], s[i + 2]));
982
- i += 3;
983
- } else {
984
- cs.push(SingleChar(s[i]));
985
- i += 1;
986
- }
987
- }
988
- cs
989
- }
990
-
991
- fn in_char_specifiers(specifiers: &[CharSpecifier], c: char, options: MatchOptions) -> bool {
992
- for &specifier in specifiers.iter() {
993
- match specifier {
994
- SingleChar(sc) => {
995
- if chars_eq(c, sc, options.case_sensitive) {
996
- return true;
997
- }
998
- }
999
- CharRange(start, end) => {
1000
- // FIXME: work with non-ascii chars properly (issue #1347)
1001
- if !options.case_sensitive && c.is_ascii() && start.is_ascii() && end.is_ascii() {
1002
- let start = start.to_ascii_lowercase();
1003
- let end = end.to_ascii_lowercase();
1004
-
1005
- let start_up = start.to_uppercase().next().unwrap();
1006
- let end_up = end.to_uppercase().next().unwrap();
1007
-
1008
- // only allow case insensitive matching when
1009
- // both start and end are within a-z or A-Z
1010
- if start != start_up && end != end_up {
1011
- let c = c.to_ascii_lowercase();
1012
- if c >= start && c <= end {
1013
- return true;
1014
- }
1015
- }
1016
- }
1017
-
1018
- if c >= start && c <= end {
1019
- return true;
1020
- }
1021
- }
1022
- }
1023
- }
1024
-
1025
- false
1026
- }
1027
-
1028
- /// A helper function to determine if two chars are (possibly case-insensitively) equal.
1029
- fn chars_eq(a: char, b: char, case_sensitive: bool) -> bool {
1030
- if cfg!(windows) && path::is_separator(a) && path::is_separator(b) {
1031
- true
1032
- } else if !case_sensitive && a.is_ascii() && b.is_ascii() {
1033
- // FIXME: work with non-ascii chars properly (issue #9084)
1034
- a.to_ascii_lowercase() == b.to_ascii_lowercase()
1035
- } else {
1036
- a == b
1037
- }
1038
- }
1039
-
1040
- /// Configuration options to modify the behaviour of `Pattern::matches_with(..)`.
1041
- #[allow(missing_copy_implementations)]
1042
- #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1043
- pub struct MatchOptions {
1044
- /// Whether or not patterns should be matched in a case-sensitive manner.
1045
- /// This currently only considers upper/lower case relationships between
1046
- /// ASCII characters, but in future this might be extended to work with
1047
- /// Unicode.
1048
- pub case_sensitive: bool,
1049
-
1050
- /// Whether or not path-component separator characters (e.g. `/` on
1051
- /// Posix) must be matched by a literal `/`, rather than by `*` or `?` or
1052
- /// `[...]`.
1053
- pub require_literal_separator: bool,
1054
-
1055
- /// Whether or not paths that contain components that start with a `.`
1056
- /// will require that `.` appears literally in the pattern; `*`, `?`, `**`,
1057
- /// or `[...]` will not match. This is useful because such files are
1058
- /// conventionally considered hidden on Unix systems and it might be
1059
- /// desirable to skip them when listing files.
1060
- pub require_literal_leading_dot: bool,
1061
- }
1062
-
1063
- impl MatchOptions {
1064
- /// Constructs a new `MatchOptions` with default field values. This is used
1065
- /// when calling functions that do not take an explicit `MatchOptions`
1066
- /// parameter.
1067
- ///
1068
- /// This function always returns this value:
1069
- ///
1070
- /// ```rust,ignore
1071
- /// MatchOptions {
1072
- /// case_sensitive: true,
1073
- /// require_literal_separator: false,
1074
- /// require_literal_leading_dot: false
1075
- /// }
1076
- /// ```
1077
- ///
1078
- /// # Note
1079
- /// The behavior of this method doesn't match `default()`'s. This returns
1080
- /// `case_sensitive` as `true` while `default()` does it as `false`.
1081
- // FIXME: Consider unity the behavior with `default()` in a next major release.
1082
- pub fn new() -> Self {
1083
- Self {
1084
- case_sensitive: true,
1085
- require_literal_separator: false,
1086
- require_literal_leading_dot: false,
1087
- }
1088
- }
1089
- }
1090
-
1091
- #[cfg(test)]
1092
- mod test {
1093
- use super::{glob, MatchOptions, Pattern};
1094
- use std::path::Path;
1095
-
1096
- #[test]
1097
- fn test_pattern_from_str() {
1098
- assert!("a*b".parse::<Pattern>().unwrap().matches("a_b"));
1099
- assert!("a/**b".parse::<Pattern>().unwrap_err().pos == 4);
1100
- }
1101
-
1102
- #[test]
1103
- fn test_wildcard_errors() {
1104
- assert!(Pattern::new("a/**b").unwrap_err().pos == 4);
1105
- assert!(Pattern::new("a/bc**").unwrap_err().pos == 3);
1106
- assert!(Pattern::new("a/*****").unwrap_err().pos == 4);
1107
- assert!(Pattern::new("a/b**c**d").unwrap_err().pos == 2);
1108
- assert!(Pattern::new("a**b").unwrap_err().pos == 0);
1109
- }
1110
-
1111
- #[test]
1112
- fn test_unclosed_bracket_errors() {
1113
- assert!(Pattern::new("abc[def").unwrap_err().pos == 3);
1114
- assert!(Pattern::new("abc[!def").unwrap_err().pos == 3);
1115
- assert!(Pattern::new("abc[").unwrap_err().pos == 3);
1116
- assert!(Pattern::new("abc[!").unwrap_err().pos == 3);
1117
- assert!(Pattern::new("abc[d").unwrap_err().pos == 3);
1118
- assert!(Pattern::new("abc[!d").unwrap_err().pos == 3);
1119
- assert!(Pattern::new("abc[]").unwrap_err().pos == 3);
1120
- assert!(Pattern::new("abc[!]").unwrap_err().pos == 3);
1121
- }
1122
-
1123
- #[test]
1124
- fn test_glob_errors() {
1125
- assert!(glob("a/**b").err().unwrap().pos == 4);
1126
- assert!(glob("abc[def").err().unwrap().pos == 3);
1127
- }
1128
-
1129
- // this test assumes that there is a /root directory and that
1130
- // the user running this test is not root or otherwise doesn't
1131
- // have permission to read its contents
1132
- #[cfg(all(unix, not(target_os = "macos")))]
1133
- #[test]
1134
- fn test_iteration_errors() {
1135
- use std::io;
1136
- let mut iter = glob("/root/*").unwrap();
1137
-
1138
- // GlobErrors shouldn't halt iteration
1139
- let next = iter.next();
1140
- assert!(next.is_some());
1141
-
1142
- let err = next.unwrap();
1143
- assert!(err.is_err());
1144
-
1145
- let err = err.err().unwrap();
1146
- assert!(err.path() == Path::new("/root"));
1147
- assert!(err.error().kind() == io::ErrorKind::PermissionDenied);
1148
- }
1149
-
1150
- #[test]
1151
- fn test_absolute_pattern() {
1152
- assert!(glob("/").unwrap().next().is_some());
1153
- assert!(glob("//").unwrap().next().is_some());
1154
-
1155
- // assume that the filesystem is not empty!
1156
- assert!(glob("/*").unwrap().next().is_some());
1157
-
1158
- #[cfg(not(windows))]
1159
- fn win() {}
1160
-
1161
- #[cfg(windows)]
1162
- fn win() {
1163
- use std::env::current_dir;
1164
- use std::path::Component;
1165
-
1166
- // check windows absolute paths with host/device components
1167
- let root_with_device = current_dir()
1168
- .ok()
1169
- .and_then(|p| match p.components().next().unwrap() {
1170
- Component::Prefix(prefix_component) => {
1171
- let path = Path::new(prefix_component.as_os_str());
1172
- path.join("*");
1173
- Some(path.to_path_buf())
1174
- }
1175
- _ => panic!("no prefix in this path"),
1176
- })
1177
- .unwrap();
1178
- // FIXME (#9639): This needs to handle non-utf8 paths
1179
- assert!(glob(root_with_device.as_os_str().to_str().unwrap())
1180
- .unwrap()
1181
- .next()
1182
- .is_some());
1183
- }
1184
- win()
1185
- }
1186
-
1187
- #[test]
1188
- fn test_wildcards() {
1189
- assert!(Pattern::new("a*b").unwrap().matches("a_b"));
1190
- assert!(Pattern::new("a*b*c").unwrap().matches("abc"));
1191
- assert!(!Pattern::new("a*b*c").unwrap().matches("abcd"));
1192
- assert!(Pattern::new("a*b*c").unwrap().matches("a_b_c"));
1193
- assert!(Pattern::new("a*b*c").unwrap().matches("a___b___c"));
1194
- assert!(Pattern::new("abc*abc*abc")
1195
- .unwrap()
1196
- .matches("abcabcabcabcabcabcabc"));
1197
- assert!(!Pattern::new("abc*abc*abc")
1198
- .unwrap()
1199
- .matches("abcabcabcabcabcabcabca"));
1200
- assert!(Pattern::new("a*a*a*a*a*a*a*a*a")
1201
- .unwrap()
1202
- .matches("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"));
1203
- assert!(Pattern::new("a*b[xyz]c*d").unwrap().matches("abxcdbxcddd"));
1204
- }
1205
-
1206
- #[test]
1207
- fn test_recursive_wildcards() {
1208
- let pat = Pattern::new("some/**/needle.txt").unwrap();
1209
- assert!(pat.matches("some/needle.txt"));
1210
- assert!(pat.matches("some/one/needle.txt"));
1211
- assert!(pat.matches("some/one/two/needle.txt"));
1212
- assert!(pat.matches("some/other/needle.txt"));
1213
- assert!(!pat.matches("some/other/notthis.txt"));
1214
-
1215
- // a single ** should be valid, for globs
1216
- // Should accept anything
1217
- let pat = Pattern::new("**").unwrap();
1218
- assert!(pat.is_recursive);
1219
- assert!(pat.matches("abcde"));
1220
- assert!(pat.matches(""));
1221
- assert!(pat.matches(".asdf"));
1222
- assert!(pat.matches("/x/.asdf"));
1223
-
1224
- // collapse consecutive wildcards
1225
- let pat = Pattern::new("some/**/**/needle.txt").unwrap();
1226
- assert!(pat.matches("some/needle.txt"));
1227
- assert!(pat.matches("some/one/needle.txt"));
1228
- assert!(pat.matches("some/one/two/needle.txt"));
1229
- assert!(pat.matches("some/other/needle.txt"));
1230
- assert!(!pat.matches("some/other/notthis.txt"));
1231
-
1232
- // ** can begin the pattern
1233
- let pat = Pattern::new("**/test").unwrap();
1234
- assert!(pat.matches("one/two/test"));
1235
- assert!(pat.matches("one/test"));
1236
- assert!(pat.matches("test"));
1237
-
1238
- // /** can begin the pattern
1239
- let pat = Pattern::new("/**/test").unwrap();
1240
- assert!(pat.matches("/one/two/test"));
1241
- assert!(pat.matches("/one/test"));
1242
- assert!(pat.matches("/test"));
1243
- assert!(!pat.matches("/one/notthis"));
1244
- assert!(!pat.matches("/notthis"));
1245
-
1246
- // Only start sub-patterns on start of path segment.
1247
- let pat = Pattern::new("**/.*").unwrap();
1248
- assert!(pat.matches(".abc"));
1249
- assert!(pat.matches("abc/.abc"));
1250
- assert!(!pat.matches("ab.c"));
1251
- assert!(!pat.matches("abc/ab.c"));
1252
- }
1253
-
1254
- #[test]
1255
- fn test_lots_of_files() {
1256
- // this is a good test because it touches lots of differently named files
1257
- glob("/*/*/*/*").unwrap().skip(10000).next();
1258
- }
1259
-
1260
- #[test]
1261
- fn test_range_pattern() {
1262
- let pat = Pattern::new("a[0-9]b").unwrap();
1263
- for i in 0..10 {
1264
- assert!(pat.matches(&format!("a{}b", i)));
1265
- }
1266
- assert!(!pat.matches("a_b"));
1267
-
1268
- let pat = Pattern::new("a[!0-9]b").unwrap();
1269
- for i in 0..10 {
1270
- assert!(!pat.matches(&format!("a{}b", i)));
1271
- }
1272
- assert!(pat.matches("a_b"));
1273
-
1274
- let pats = ["[a-z123]", "[1a-z23]", "[123a-z]"];
1275
- for &p in pats.iter() {
1276
- let pat = Pattern::new(p).unwrap();
1277
- for c in "abcdefghijklmnopqrstuvwxyz".chars() {
1278
- assert!(pat.matches(&c.to_string()));
1279
- }
1280
- for c in "ABCDEFGHIJKLMNOPQRSTUVWXYZ".chars() {
1281
- let options = MatchOptions {
1282
- case_sensitive: false,
1283
- ..MatchOptions::new()
1284
- };
1285
- assert!(pat.matches_with(&c.to_string(), options));
1286
- }
1287
- assert!(pat.matches("1"));
1288
- assert!(pat.matches("2"));
1289
- assert!(pat.matches("3"));
1290
- }
1291
-
1292
- let pats = ["[abc-]", "[-abc]", "[a-c-]"];
1293
- for &p in pats.iter() {
1294
- let pat = Pattern::new(p).unwrap();
1295
- assert!(pat.matches("a"));
1296
- assert!(pat.matches("b"));
1297
- assert!(pat.matches("c"));
1298
- assert!(pat.matches("-"));
1299
- assert!(!pat.matches("d"));
1300
- }
1301
-
1302
- let pat = Pattern::new("[2-1]").unwrap();
1303
- assert!(!pat.matches("1"));
1304
- assert!(!pat.matches("2"));
1305
-
1306
- assert!(Pattern::new("[-]").unwrap().matches("-"));
1307
- assert!(!Pattern::new("[!-]").unwrap().matches("-"));
1308
- }
1309
-
1310
- #[test]
1311
- fn test_pattern_matches() {
1312
- let txt_pat = Pattern::new("*hello.txt").unwrap();
1313
- assert!(txt_pat.matches("hello.txt"));
1314
- assert!(txt_pat.matches("gareth_says_hello.txt"));
1315
- assert!(txt_pat.matches("some/path/to/hello.txt"));
1316
- assert!(txt_pat.matches("some\\path\\to\\hello.txt"));
1317
- assert!(txt_pat.matches("/an/absolute/path/to/hello.txt"));
1318
- assert!(!txt_pat.matches("hello.txt-and-then-some"));
1319
- assert!(!txt_pat.matches("goodbye.txt"));
1320
-
1321
- let dir_pat = Pattern::new("*some/path/to/hello.txt").unwrap();
1322
- assert!(dir_pat.matches("some/path/to/hello.txt"));
1323
- assert!(dir_pat.matches("a/bigger/some/path/to/hello.txt"));
1324
- assert!(!dir_pat.matches("some/path/to/hello.txt-and-then-some"));
1325
- assert!(!dir_pat.matches("some/other/path/to/hello.txt"));
1326
- }
1327
-
1328
- #[test]
1329
- fn test_pattern_escape() {
1330
- let s = "_[_]_?_*_!_";
1331
- assert_eq!(Pattern::escape(s), "_[[]_[]]_[?]_[*]_!_".to_string());
1332
- assert!(Pattern::new(&Pattern::escape(s)).unwrap().matches(s));
1333
- }
1334
-
1335
- #[test]
1336
- fn test_pattern_matches_case_insensitive() {
1337
- let pat = Pattern::new("aBcDeFg").unwrap();
1338
- let options = MatchOptions {
1339
- case_sensitive: false,
1340
- require_literal_separator: false,
1341
- require_literal_leading_dot: false,
1342
- };
1343
-
1344
- assert!(pat.matches_with("aBcDeFg", options));
1345
- assert!(pat.matches_with("abcdefg", options));
1346
- assert!(pat.matches_with("ABCDEFG", options));
1347
- assert!(pat.matches_with("AbCdEfG", options));
1348
- }
1349
-
1350
- #[test]
1351
- fn test_pattern_matches_case_insensitive_range() {
1352
- let pat_within = Pattern::new("[a]").unwrap();
1353
- let pat_except = Pattern::new("[!a]").unwrap();
1354
-
1355
- let options_case_insensitive = MatchOptions {
1356
- case_sensitive: false,
1357
- require_literal_separator: false,
1358
- require_literal_leading_dot: false,
1359
- };
1360
- let options_case_sensitive = MatchOptions {
1361
- case_sensitive: true,
1362
- require_literal_separator: false,
1363
- require_literal_leading_dot: false,
1364
- };
1365
-
1366
- assert!(pat_within.matches_with("a", options_case_insensitive));
1367
- assert!(pat_within.matches_with("A", options_case_insensitive));
1368
- assert!(!pat_within.matches_with("A", options_case_sensitive));
1369
-
1370
- assert!(!pat_except.matches_with("a", options_case_insensitive));
1371
- assert!(!pat_except.matches_with("A", options_case_insensitive));
1372
- assert!(pat_except.matches_with("A", options_case_sensitive));
1373
- }
1374
-
1375
- #[test]
1376
- fn test_pattern_matches_require_literal_separator() {
1377
- let options_require_literal = MatchOptions {
1378
- case_sensitive: true,
1379
- require_literal_separator: true,
1380
- require_literal_leading_dot: false,
1381
- };
1382
- let options_not_require_literal = MatchOptions {
1383
- case_sensitive: true,
1384
- require_literal_separator: false,
1385
- require_literal_leading_dot: false,
1386
- };
1387
-
1388
- assert!(Pattern::new("abc/def")
1389
- .unwrap()
1390
- .matches_with("abc/def", options_require_literal));
1391
- assert!(!Pattern::new("abc?def")
1392
- .unwrap()
1393
- .matches_with("abc/def", options_require_literal));
1394
- assert!(!Pattern::new("abc*def")
1395
- .unwrap()
1396
- .matches_with("abc/def", options_require_literal));
1397
- assert!(!Pattern::new("abc[/]def")
1398
- .unwrap()
1399
- .matches_with("abc/def", options_require_literal));
1400
-
1401
- assert!(Pattern::new("abc/def")
1402
- .unwrap()
1403
- .matches_with("abc/def", options_not_require_literal));
1404
- assert!(Pattern::new("abc?def")
1405
- .unwrap()
1406
- .matches_with("abc/def", options_not_require_literal));
1407
- assert!(Pattern::new("abc*def")
1408
- .unwrap()
1409
- .matches_with("abc/def", options_not_require_literal));
1410
- assert!(Pattern::new("abc[/]def")
1411
- .unwrap()
1412
- .matches_with("abc/def", options_not_require_literal));
1413
- }
1414
-
1415
- #[test]
1416
- fn test_pattern_matches_require_literal_leading_dot() {
1417
- let options_require_literal_leading_dot = MatchOptions {
1418
- case_sensitive: true,
1419
- require_literal_separator: false,
1420
- require_literal_leading_dot: true,
1421
- };
1422
- let options_not_require_literal_leading_dot = MatchOptions {
1423
- case_sensitive: true,
1424
- require_literal_separator: false,
1425
- require_literal_leading_dot: false,
1426
- };
1427
-
1428
- let f = |options| {
1429
- Pattern::new("*.txt")
1430
- .unwrap()
1431
- .matches_with(".hello.txt", options)
1432
- };
1433
- assert!(f(options_not_require_literal_leading_dot));
1434
- assert!(!f(options_require_literal_leading_dot));
1435
-
1436
- let f = |options| {
1437
- Pattern::new(".*.*")
1438
- .unwrap()
1439
- .matches_with(".hello.txt", options)
1440
- };
1441
- assert!(f(options_not_require_literal_leading_dot));
1442
- assert!(f(options_require_literal_leading_dot));
1443
-
1444
- let f = |options| {
1445
- Pattern::new("aaa/bbb/*")
1446
- .unwrap()
1447
- .matches_with("aaa/bbb/.ccc", options)
1448
- };
1449
- assert!(f(options_not_require_literal_leading_dot));
1450
- assert!(!f(options_require_literal_leading_dot));
1451
-
1452
- let f = |options| {
1453
- Pattern::new("aaa/bbb/*")
1454
- .unwrap()
1455
- .matches_with("aaa/bbb/c.c.c.", options)
1456
- };
1457
- assert!(f(options_not_require_literal_leading_dot));
1458
- assert!(f(options_require_literal_leading_dot));
1459
-
1460
- let f = |options| {
1461
- Pattern::new("aaa/bbb/.*")
1462
- .unwrap()
1463
- .matches_with("aaa/bbb/.ccc", options)
1464
- };
1465
- assert!(f(options_not_require_literal_leading_dot));
1466
- assert!(f(options_require_literal_leading_dot));
1467
-
1468
- let f = |options| {
1469
- Pattern::new("aaa/?bbb")
1470
- .unwrap()
1471
- .matches_with("aaa/.bbb", options)
1472
- };
1473
- assert!(f(options_not_require_literal_leading_dot));
1474
- assert!(!f(options_require_literal_leading_dot));
1475
-
1476
- let f = |options| {
1477
- Pattern::new("aaa/[.]bbb")
1478
- .unwrap()
1479
- .matches_with("aaa/.bbb", options)
1480
- };
1481
- assert!(f(options_not_require_literal_leading_dot));
1482
- assert!(!f(options_require_literal_leading_dot));
1483
-
1484
- let f = |options| Pattern::new("**/*").unwrap().matches_with(".bbb", options);
1485
- assert!(f(options_not_require_literal_leading_dot));
1486
- assert!(!f(options_require_literal_leading_dot));
1487
- }
1488
-
1489
- #[test]
1490
- fn test_matches_path() {
1491
- // on windows, (Path::new("a/b").as_str().unwrap() == "a\\b"), so this
1492
- // tests that / and \ are considered equivalent on windows
1493
- assert!(Pattern::new("a/b").unwrap().matches_path(&Path::new("a/b")));
1494
- }
1495
-
1496
- #[test]
1497
- fn test_path_join() {
1498
- let pattern = Path::new("one").join(&Path::new("**/*.rs"));
1499
- assert!(Pattern::new(pattern.to_str().unwrap()).is_ok());
1500
- }
1501
- }