code_ownership 2.2.0 → 2.2.1

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 (445) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +30 -27
  3. data/bin/codeownership +1 -0
  4. data/ext/cargo-vendor/bindgen-0.72.1/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/bindgen-0.72.1/.cargo_vcs_info.json +6 -0
  6. data/ext/cargo-vendor/bindgen-0.72.1/Cargo.lock +485 -0
  7. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/Cargo.toml +72 -38
  8. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/Cargo.toml.orig +26 -28
  9. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/README.md +2 -2
  10. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/build.rs +2 -2
  11. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/callbacks.rs +114 -10
  12. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/clang.rs +184 -83
  13. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/bitfield_unit.rs +20 -10
  14. data/ext/cargo-vendor/bindgen-0.72.1/codegen/bitfield_unit_raw_ref_macros.rs +191 -0
  15. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/bitfield_unit_tests.rs +4 -4
  16. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/dyngen.rs +77 -20
  17. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/error.rs +2 -3
  18. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/helpers.rs +106 -66
  19. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/impl_debug.rs +32 -34
  20. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/impl_partialeq.rs +5 -5
  21. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/mod.rs +1197 -679
  22. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/postprocessing/merge_extern_blocks.rs +3 -3
  23. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/postprocessing/sort_semantically.rs +3 -3
  24. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/serialize.rs +33 -34
  25. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/struct_layout.rs +33 -26
  26. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/deps.rs +1 -1
  27. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/diagnostics.rs +22 -65
  28. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/extra_assertions.rs +1 -1
  29. data/ext/cargo-vendor/bindgen-0.72.1/features.rs +570 -0
  30. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/derive.rs +69 -75
  31. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/has_destructor.rs +5 -6
  32. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/has_float.rs +13 -17
  33. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/has_type_param_in_array.rs +22 -32
  34. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/has_vtable.rs +11 -16
  35. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/mod.rs +15 -20
  36. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/sizedness.rs +13 -21
  37. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/template_params.rs +20 -26
  38. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/annotations.rs +18 -15
  39. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/comment.rs +2 -2
  40. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/comp.rs +54 -29
  41. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/context.rs +205 -136
  42. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/derive.rs +5 -10
  43. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/dot.rs +3 -4
  44. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/enum_ty.rs +5 -7
  45. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/function.rs +27 -28
  46. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/int.rs +7 -6
  47. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/item.rs +92 -132
  48. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/item_kind.rs +7 -7
  49. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/layout.rs +11 -23
  50. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/module.rs +2 -2
  51. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/objc.rs +22 -33
  52. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/template.rs +26 -33
  53. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/traversal.rs +4 -5
  54. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/ty.rs +63 -88
  55. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/var.rs +73 -38
  56. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/lib.rs +186 -144
  57. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/log_stubs.rs +6 -0
  58. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/options/as_args.rs +1 -1
  59. data/ext/cargo-vendor/bindgen-0.72.1/options/cli.rs +1151 -0
  60. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/options/mod.rs +234 -27
  61. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/regex_set.rs +23 -28
  62. data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/time.rs +4 -4
  63. data/ext/cargo-vendor/rb-sys-0.9.130/.cargo-checksum.json +1 -0
  64. data/ext/cargo-vendor/rb-sys-0.9.130/.cargo_vcs_info.json +6 -0
  65. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/Cargo.lock +23 -31
  66. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/Cargo.toml +5 -4
  67. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/Cargo.toml.orig +5 -4
  68. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/build/main.rs +7 -1
  69. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/build/stable_api_config.rs +30 -6
  70. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/build/version.rs +14 -6
  71. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/bindings.rs +1 -0
  72. data/ext/cargo-vendor/rb-sys-0.9.130/src/macros.rs +701 -0
  73. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/memory.rs +17 -6
  74. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/stable_api/compiled.c +169 -10
  75. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/stable_api/compiled.rs +209 -14
  76. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_2_7.rs +770 -0
  77. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_0.rs +773 -0
  78. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_1.rs +766 -0
  79. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_2.rs +764 -0
  80. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_3.rs +777 -0
  81. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_4.rs +788 -0
  82. data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_4_0.rs +784 -0
  83. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/stable_api.rs +213 -9
  84. data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/utils.rs +12 -7
  85. data/ext/cargo-vendor/rb-sys-build-0.9.130/.cargo-checksum.json +1 -0
  86. data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/.cargo_vcs_info.json +1 -1
  87. data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/Cargo.lock +19 -27
  88. data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/Cargo.toml +8 -3
  89. data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/Cargo.toml.orig +4 -3
  90. data/ext/cargo-vendor/rb-sys-build-0.9.130/src/bindings/gc_stress.rs +303 -0
  91. data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings/stable_api.rs +102 -11
  92. data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings.rs +19 -13
  93. data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/cc.rs +1 -1
  94. data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config.rs +199 -2
  95. data/ext/cargo-vendor/rb-sys-build-0.9.130/tests/fixtures/rubyopt_stdout.rb +1 -0
  96. data/ext/cargo-vendor/rb-sys-build-0.9.130/tests/rubyopt.rs +17 -0
  97. data/ext/cargo-vendor/rb-sys-env-0.2.3/.cargo-checksum.json +1 -0
  98. data/ext/cargo-vendor/rb-sys-env-0.2.3/.cargo_vcs_info.json +6 -0
  99. data/ext/cargo-vendor/rb-sys-env-0.2.3/Cargo.lock +7 -0
  100. data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/Cargo.toml +2 -2
  101. data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/Cargo.toml.orig +2 -2
  102. data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/readme.md +0 -2
  103. data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/ruby_version.rs +3 -1
  104. data/ext/cargo-vendor/rustc-hash-2.1.3/.cargo-checksum.json +1 -0
  105. data/ext/cargo-vendor/rustc-hash-2.1.3/.cargo_vcs_info.json +6 -0
  106. data/ext/cargo-vendor/rustc-hash-2.1.3/.github/workflows/rust.yml +73 -0
  107. data/ext/cargo-vendor/rustc-hash-2.1.3/CHANGELOG.md +41 -0
  108. data/ext/cargo-vendor/rustc-hash-2.1.3/CODE_OF_CONDUCT.md +3 -0
  109. data/ext/cargo-vendor/rustc-hash-2.1.3/Cargo.lock +90 -0
  110. data/ext/cargo-vendor/rustc-hash-2.1.3/Cargo.toml +50 -0
  111. data/ext/cargo-vendor/rustc-hash-2.1.3/Cargo.toml.orig +20 -0
  112. data/ext/cargo-vendor/rustc-hash-2.1.3/LICENSE-APACHE +176 -0
  113. data/ext/cargo-vendor/rustc-hash-2.1.3/LICENSE-MIT +23 -0
  114. data/ext/cargo-vendor/rustc-hash-2.1.3/README.md +42 -0
  115. data/ext/cargo-vendor/rustc-hash-2.1.3/src/lib.rs +472 -0
  116. data/ext/cargo-vendor/rustc-hash-2.1.3/src/random_state.rs +101 -0
  117. data/ext/cargo-vendor/rustc-hash-2.1.3/src/seeded_state.rs +76 -0
  118. data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/.cargo-checksum.json +1 -1
  119. data/ext/cargo-vendor/serde-1.0.229/.cargo_vcs_info.json +6 -0
  120. data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/Cargo.lock +13 -13
  121. data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/Cargo.toml +2 -2
  122. data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/Cargo.toml.orig +2 -2
  123. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde-1.0.229}/README.md +3 -3
  124. data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/build.rs +2 -2
  125. data/ext/cargo-vendor/{serde_core-1.0.228/src → serde-1.0.229/src/core}/de/impls.rs +4 -4
  126. data/ext/cargo-vendor/{serde_core-1.0.228/src → serde-1.0.229/src/core}/lib.rs +2 -2
  127. data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/lib.rs +3 -3
  128. data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/.cargo-checksum.json +1 -1
  129. data/ext/cargo-vendor/serde_core-1.0.229/.cargo_vcs_info.json +6 -0
  130. data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/Cargo.lock +11 -11
  131. data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/Cargo.toml +2 -2
  132. data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/Cargo.toml.orig +2 -2
  133. data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/build.rs +5 -5
  134. data/ext/cargo-vendor/{serde-1.0.228/src/core → serde_core-1.0.229/src}/de/impls.rs +4 -4
  135. data/ext/cargo-vendor/{serde-1.0.228/src/core → serde_core-1.0.229/src}/lib.rs +2 -2
  136. data/ext/cargo-vendor/serde_derive-1.0.229/.cargo-checksum.json +1 -0
  137. data/ext/cargo-vendor/serde_derive-1.0.229/.cargo_vcs_info.json +6 -0
  138. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/Cargo.lock +29 -18
  139. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/Cargo.toml +3 -3
  140. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/Cargo.toml.orig +2 -2
  141. data/ext/cargo-vendor/{serde-1.0.228 → serde_derive-1.0.229}/README.md +3 -3
  142. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/bound.rs +80 -59
  143. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_adjacently.rs +46 -45
  144. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_externally.rs +3 -2
  145. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de.rs +10 -7
  146. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/ast.rs +15 -8
  147. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/attr.rs +18 -31
  148. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/ctxt.rs +3 -4
  149. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/receiver.rs +2 -2
  150. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/lib.rs +1 -1
  151. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/pretend.rs +7 -7
  152. data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/ser.rs +94 -94
  153. data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/.cargo-checksum.json +1 -1
  154. data/ext/cargo-vendor/serde_magnus-0.11.0/.cargo_vcs_info.json +6 -0
  155. data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/Cargo.lock +71 -73
  156. data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/Cargo.toml +2 -2
  157. data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/Cargo.toml.orig +2 -2
  158. data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/README.md +1 -1
  159. data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/deserializer.rs +2 -2
  160. data/ext/cargo-vendor/syn-3.0.9/.cargo-checksum.json +1 -0
  161. data/ext/cargo-vendor/syn-3.0.9/.cargo_vcs_info.json +6 -0
  162. data/ext/cargo-vendor/syn-3.0.9/Cargo.lock +1948 -0
  163. data/ext/cargo-vendor/syn-3.0.9/Cargo.toml +268 -0
  164. data/ext/cargo-vendor/syn-3.0.9/Cargo.toml.orig +95 -0
  165. data/ext/cargo-vendor/{lazycell-1.3.0 → syn-3.0.9}/LICENSE-APACHE +0 -25
  166. data/ext/cargo-vendor/syn-3.0.9/README.md +297 -0
  167. data/ext/cargo-vendor/syn-3.0.9/benches/file.rs +59 -0
  168. data/ext/cargo-vendor/syn-3.0.9/benches/rust.rs +189 -0
  169. data/ext/cargo-vendor/syn-3.0.9/src/attr.rs +841 -0
  170. data/ext/cargo-vendor/syn-3.0.9/src/bigint.rs +68 -0
  171. data/ext/cargo-vendor/syn-3.0.9/src/buffer.rs +462 -0
  172. data/ext/cargo-vendor/syn-3.0.9/src/classify.rs +311 -0
  173. data/ext/cargo-vendor/syn-3.0.9/src/custom_keyword.rs +260 -0
  174. data/ext/cargo-vendor/syn-3.0.9/src/custom_punctuation.rs +305 -0
  175. data/ext/cargo-vendor/syn-3.0.9/src/data.rs +489 -0
  176. data/ext/cargo-vendor/syn-3.0.9/src/derive.rs +260 -0
  177. data/ext/cargo-vendor/syn-3.0.9/src/discouraged.rs +233 -0
  178. data/ext/cargo-vendor/syn-3.0.9/src/drops.rs +58 -0
  179. data/ext/cargo-vendor/syn-3.0.9/src/error.rs +552 -0
  180. data/ext/cargo-vendor/syn-3.0.9/src/export.rs +73 -0
  181. data/ext/cargo-vendor/syn-3.0.9/src/expr.rs +4249 -0
  182. data/ext/cargo-vendor/syn-3.0.9/src/ext.rs +180 -0
  183. data/ext/cargo-vendor/syn-3.0.9/src/file.rs +136 -0
  184. data/ext/cargo-vendor/syn-3.0.9/src/fixup.rs +773 -0
  185. data/ext/cargo-vendor/syn-3.0.9/src/gen/clone.rs +2394 -0
  186. data/ext/cargo-vendor/syn-3.0.9/src/gen/debug.rs +3399 -0
  187. data/ext/cargo-vendor/syn-3.0.9/src/gen/eq.rs +2459 -0
  188. data/ext/cargo-vendor/syn-3.0.9/src/gen/fold.rs +3934 -0
  189. data/ext/cargo-vendor/syn-3.0.9/src/gen/hash.rs +3040 -0
  190. data/ext/cargo-vendor/syn-3.0.9/src/gen/token.css +744 -0
  191. data/ext/cargo-vendor/syn-3.0.9/src/gen/visit.rs +4037 -0
  192. data/ext/cargo-vendor/syn-3.0.9/src/gen/visit_mut.rs +3824 -0
  193. data/ext/cargo-vendor/syn-3.0.9/src/generics.rs +1490 -0
  194. data/ext/cargo-vendor/syn-3.0.9/src/group.rs +294 -0
  195. data/ext/cargo-vendor/syn-3.0.9/src/ident.rs +109 -0
  196. data/ext/cargo-vendor/syn-3.0.9/src/item.rs +3923 -0
  197. data/ext/cargo-vendor/syn-3.0.9/src/lib.rs +1132 -0
  198. data/ext/cargo-vendor/syn-3.0.9/src/lifetime.rs +193 -0
  199. data/ext/cargo-vendor/syn-3.0.9/src/lit.rs +1881 -0
  200. data/ext/cargo-vendor/syn-3.0.9/src/lookahead.rs +350 -0
  201. data/ext/cargo-vendor/syn-3.0.9/src/mac.rs +225 -0
  202. data/ext/cargo-vendor/syn-3.0.9/src/macros.rs +151 -0
  203. data/ext/cargo-vendor/syn-3.0.9/src/meta.rs +427 -0
  204. data/ext/cargo-vendor/syn-3.0.9/src/op.rs +219 -0
  205. data/ext/cargo-vendor/syn-3.0.9/src/parse.rs +1420 -0
  206. data/ext/cargo-vendor/syn-3.0.9/src/parse_macro_input.rs +128 -0
  207. data/ext/cargo-vendor/syn-3.0.9/src/parse_quote.rs +261 -0
  208. data/ext/cargo-vendor/syn-3.0.9/src/pat.rs +994 -0
  209. data/ext/cargo-vendor/syn-3.0.9/src/path.rs +972 -0
  210. data/ext/cargo-vendor/syn-3.0.9/src/precedence.rs +210 -0
  211. data/ext/cargo-vendor/syn-3.0.9/src/print.rs +16 -0
  212. data/ext/cargo-vendor/syn-3.0.9/src/punctuated.rs +1200 -0
  213. data/ext/cargo-vendor/syn-3.0.9/src/restriction.rs +160 -0
  214. data/ext/cargo-vendor/syn-3.0.9/src/scan_expr.rs +270 -0
  215. data/ext/cargo-vendor/syn-3.0.9/src/sealed.rs +4 -0
  216. data/ext/cargo-vendor/syn-3.0.9/src/span.rs +63 -0
  217. data/ext/cargo-vendor/syn-3.0.9/src/spanned.rs +118 -0
  218. data/ext/cargo-vendor/syn-3.0.9/src/stmt.rs +536 -0
  219. data/ext/cargo-vendor/syn-3.0.9/src/thread.rs +60 -0
  220. data/ext/cargo-vendor/syn-3.0.9/src/token.rs +1103 -0
  221. data/ext/cargo-vendor/syn-3.0.9/src/tt.rs +97 -0
  222. data/ext/cargo-vendor/syn-3.0.9/src/ty.rs +1347 -0
  223. data/ext/cargo-vendor/syn-3.0.9/src/verbatim.rs +32 -0
  224. data/ext/cargo-vendor/syn-3.0.9/src/whitespace.rs +65 -0
  225. data/ext/cargo-vendor/syn-3.0.9/tests/common/eq.rs +939 -0
  226. data/ext/cargo-vendor/syn-3.0.9/tests/common/mod.rs +6 -0
  227. data/ext/cargo-vendor/syn-3.0.9/tests/common/parse.rs +51 -0
  228. data/ext/cargo-vendor/syn-3.0.9/tests/common/visit.rs +119 -0
  229. data/ext/cargo-vendor/syn-3.0.9/tests/debug/gen.rs +5394 -0
  230. data/ext/cargo-vendor/syn-3.0.9/tests/debug/mod.rs +147 -0
  231. data/ext/cargo-vendor/syn-3.0.9/tests/macros/mod.rs +7 -0
  232. data/ext/cargo-vendor/syn-3.0.9/tests/regression/issue1108.rs +5 -0
  233. data/ext/cargo-vendor/syn-3.0.9/tests/regression/issue1235.rs +32 -0
  234. data/ext/cargo-vendor/syn-3.0.9/tests/regression.rs +5 -0
  235. data/ext/cargo-vendor/syn-3.0.9/tests/repo/mod.rs +789 -0
  236. data/ext/cargo-vendor/syn-3.0.9/tests/repo/progress.rs +37 -0
  237. data/ext/cargo-vendor/syn-3.0.9/tests/snapshot/mod.rs +68 -0
  238. data/ext/cargo-vendor/syn-3.0.9/tests/test_attribute.rs +231 -0
  239. data/ext/cargo-vendor/syn-3.0.9/tests/test_derive_input.rs +801 -0
  240. data/ext/cargo-vendor/syn-3.0.9/tests/test_expr.rs +1721 -0
  241. data/ext/cargo-vendor/syn-3.0.9/tests/test_generics.rs +363 -0
  242. data/ext/cargo-vendor/syn-3.0.9/tests/test_grouping.rs +59 -0
  243. data/ext/cargo-vendor/syn-3.0.9/tests/test_ident.rs +87 -0
  244. data/ext/cargo-vendor/syn-3.0.9/tests/test_item.rs +374 -0
  245. data/ext/cargo-vendor/syn-3.0.9/tests/test_lit.rs +335 -0
  246. data/ext/cargo-vendor/syn-3.0.9/tests/test_meta.rs +180 -0
  247. data/ext/cargo-vendor/syn-3.0.9/tests/test_parse_buffer.rs +104 -0
  248. data/ext/cargo-vendor/syn-3.0.9/tests/test_parse_quote.rs +175 -0
  249. data/ext/cargo-vendor/syn-3.0.9/tests/test_parse_stream.rs +187 -0
  250. data/ext/cargo-vendor/syn-3.0.9/tests/test_pat.rs +158 -0
  251. data/ext/cargo-vendor/syn-3.0.9/tests/test_path.rs +117 -0
  252. data/ext/cargo-vendor/syn-3.0.9/tests/test_precedence.rs +560 -0
  253. data/ext/cargo-vendor/syn-3.0.9/tests/test_punctuated.rs +92 -0
  254. data/ext/cargo-vendor/syn-3.0.9/tests/test_receiver.rs +275 -0
  255. data/ext/cargo-vendor/syn-3.0.9/tests/test_round_trip.rs +226 -0
  256. data/ext/cargo-vendor/syn-3.0.9/tests/test_shebang.rs +77 -0
  257. data/ext/cargo-vendor/syn-3.0.9/tests/test_size.rs +54 -0
  258. data/ext/cargo-vendor/syn-3.0.9/tests/test_stmt.rs +378 -0
  259. data/ext/cargo-vendor/syn-3.0.9/tests/test_token_trees.rs +38 -0
  260. data/ext/cargo-vendor/syn-3.0.9/tests/test_ty.rs +479 -0
  261. data/ext/cargo-vendor/syn-3.0.9/tests/test_unparenthesize.rs +71 -0
  262. data/ext/cargo-vendor/syn-3.0.9/tests/test_visibility.rs +193 -0
  263. data/ext/cargo-vendor/syn-3.0.9/tests/zzz_stable.rs +33 -0
  264. data/ext/code_ownership/Cargo.toml +1 -1
  265. data/ext/code_ownership/src/lib.rs +2 -2
  266. data/lib/code_ownership/version.rb +1 -1
  267. data/lib/code_ownership.rb +1 -1
  268. metadata +400 -293
  269. data/ext/cargo-vendor/bindgen-0.69.5/.cargo-checksum.json +0 -1
  270. data/ext/cargo-vendor/bindgen-0.69.5/.cargo_vcs_info.json +0 -6
  271. data/ext/cargo-vendor/bindgen-0.69.5/features.rs +0 -296
  272. data/ext/cargo-vendor/lazycell-1.3.0/.cargo-checksum.json +0 -1
  273. data/ext/cargo-vendor/lazycell-1.3.0/.cargo_vcs_info.json +0 -5
  274. data/ext/cargo-vendor/lazycell-1.3.0/CHANGELOG.md +0 -197
  275. data/ext/cargo-vendor/lazycell-1.3.0/Cargo.toml +0 -34
  276. data/ext/cargo-vendor/lazycell-1.3.0/Cargo.toml.orig +0 -27
  277. data/ext/cargo-vendor/lazycell-1.3.0/LICENSE-MIT +0 -26
  278. data/ext/cargo-vendor/lazycell-1.3.0/README.md +0 -73
  279. data/ext/cargo-vendor/lazycell-1.3.0/src/lib.rs +0 -680
  280. data/ext/cargo-vendor/lazycell-1.3.0/src/serde_impl.rs +0 -86
  281. data/ext/cargo-vendor/rb-sys-0.9.117/.cargo-checksum.json +0 -1
  282. data/ext/cargo-vendor/rb-sys-0.9.117/.cargo_vcs_info.json +0 -6
  283. data/ext/cargo-vendor/rb-sys-0.9.117/src/macros.rs +0 -371
  284. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_2_6.rs +0 -324
  285. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_2_7.rs +0 -324
  286. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_0.rs +0 -332
  287. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_1.rs +0 -325
  288. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_2.rs +0 -323
  289. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_3.rs +0 -339
  290. data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_4.rs +0 -339
  291. data/ext/cargo-vendor/rb-sys-build-0.9.117/.cargo-checksum.json +0 -1
  292. data/ext/cargo-vendor/rb-sys-env-0.2.2/.cargo-checksum.json +0 -1
  293. data/ext/cargo-vendor/rb-sys-env-0.2.2/.cargo_vcs_info.json +0 -6
  294. data/ext/cargo-vendor/rustc-hash-1.1.0/.cargo-checksum.json +0 -1
  295. data/ext/cargo-vendor/rustc-hash-1.1.0/.cargo_vcs_info.json +0 -5
  296. data/ext/cargo-vendor/rustc-hash-1.1.0/CODE_OF_CONDUCT.md +0 -40
  297. data/ext/cargo-vendor/rustc-hash-1.1.0/Cargo.toml +0 -25
  298. data/ext/cargo-vendor/rustc-hash-1.1.0/Cargo.toml.orig +0 -13
  299. data/ext/cargo-vendor/rustc-hash-1.1.0/LICENSE-APACHE +0 -201
  300. data/ext/cargo-vendor/rustc-hash-1.1.0/README.md +0 -38
  301. data/ext/cargo-vendor/rustc-hash-1.1.0/src/lib.rs +0 -148
  302. data/ext/cargo-vendor/serde-1.0.228/.cargo_vcs_info.json +0 -6
  303. data/ext/cargo-vendor/serde_core-1.0.228/.cargo_vcs_info.json +0 -6
  304. data/ext/cargo-vendor/serde_derive-1.0.228/.cargo-checksum.json +0 -1
  305. data/ext/cargo-vendor/serde_derive-1.0.228/.cargo_vcs_info.json +0 -6
  306. data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo_vcs_info.json +0 -6
  307. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/LICENSE +0 -0
  308. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/postprocessing/mod.rs +0 -0
  309. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/mod.rs +0 -0
  310. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/options/helpers.rs +0 -0
  311. /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/parse.rs +0 -0
  312. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/LICENSE-APACHE +0 -0
  313. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/LICENSE-MIT +0 -0
  314. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/bin/release.sh +0 -0
  315. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/build/features.rs +0 -0
  316. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/readme.md +0 -0
  317. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/hidden.rs +0 -0
  318. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/lib.rs +0 -0
  319. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/ruby_abi_version.rs +0 -0
  320. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/special_consts.rs +0 -0
  321. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/symbol.rs +0 -0
  322. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/tracking_allocator.rs +0 -0
  323. /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/value_type.rs +0 -0
  324. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/LICENSE-APACHE +0 -0
  325. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/LICENSE-MIT +0 -0
  326. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings/sanitizer.rs +0 -0
  327. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings/wrapper.h +0 -0
  328. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/lib.rs +0 -0
  329. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config/flags.rs +0 -0
  330. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config/library.rs +0 -0
  331. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config/search_path.rs +0 -0
  332. /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/utils.rs +0 -0
  333. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/LICENSE-APACHE +0 -0
  334. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/LICENSE-MIT +0 -0
  335. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/build.rs +0 -0
  336. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/defines.rs +0 -0
  337. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/lib.rs +0 -0
  338. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/rb_env.rs +0 -0
  339. /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/utils.rs +0 -0
  340. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/LICENSE-APACHE +0 -0
  341. /data/ext/cargo-vendor/{rustc-hash-1.1.0 → serde-1.0.229}/LICENSE-MIT +0 -0
  342. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/crates-io.md +0 -0
  343. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/crate_root.rs +0 -0
  344. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/de/ignored_any.rs +0 -0
  345. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/de/mod.rs +0 -0
  346. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/de/value.rs +0 -0
  347. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/format.rs +0 -0
  348. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/macros.rs +0 -0
  349. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/content.rs +0 -0
  350. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/doc.rs +0 -0
  351. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/mod.rs +0 -0
  352. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/seed.rs +0 -0
  353. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/size_hint.rs +0 -0
  354. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/string.rs +0 -0
  355. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/fmt.rs +0 -0
  356. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/impls.rs +0 -0
  357. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/impossible.rs +0 -0
  358. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/mod.rs +0 -0
  359. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/std_error.rs +0 -0
  360. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/integer128.rs +0 -0
  361. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/private/de.rs +0 -0
  362. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/private/mod.rs +0 -0
  363. /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/private/ser.rs +0 -0
  364. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/LICENSE-APACHE +0 -0
  365. /data/ext/cargo-vendor/{serde-1.0.228 → serde_core-1.0.229}/LICENSE-MIT +0 -0
  366. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/README.md +0 -0
  367. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/crate_root.rs +0 -0
  368. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/de/ignored_any.rs +0 -0
  369. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/de/mod.rs +0 -0
  370. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/de/value.rs +0 -0
  371. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/format.rs +0 -0
  372. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/macros.rs +0 -0
  373. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/content.rs +0 -0
  374. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/doc.rs +0 -0
  375. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/mod.rs +0 -0
  376. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/seed.rs +0 -0
  377. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/size_hint.rs +0 -0
  378. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/string.rs +0 -0
  379. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/fmt.rs +0 -0
  380. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/impls.rs +0 -0
  381. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/impossible.rs +0 -0
  382. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/mod.rs +0 -0
  383. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/std_error.rs +0 -0
  384. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/LICENSE-APACHE +0 -0
  385. /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_derive-1.0.229}/LICENSE-MIT +0 -0
  386. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/crates-io.md +0 -0
  387. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_.rs +0 -0
  388. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_internally.rs +0 -0
  389. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_untagged.rs +0 -0
  390. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/identifier.rs +0 -0
  391. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/struct_.rs +0 -0
  392. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/tuple.rs +0 -0
  393. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/unit.rs +0 -0
  394. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/deprecated.rs +0 -0
  395. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/dummy.rs +0 -0
  396. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/fragment.rs +0 -0
  397. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/case.rs +0 -0
  398. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/check.rs +0 -0
  399. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/mod.rs +0 -0
  400. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/name.rs +0 -0
  401. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/respan.rs +0 -0
  402. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/symbol.rs +0 -0
  403. /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/this.rs +0 -0
  404. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/LICENSE +0 -0
  405. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/array_deserializer.rs +0 -0
  406. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/array_enumerator.rs +0 -0
  407. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/enum_deserializer.rs +0 -0
  408. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/hash_deserializer.rs +0 -0
  409. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/mod.rs +0 -0
  410. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/variant_deserializer.rs +0 -0
  411. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/error.rs +0 -0
  412. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/lib.rs +0 -0
  413. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/enums.rs +0 -0
  414. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/map_serializer.rs +0 -0
  415. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/mod.rs +0 -0
  416. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/seq_serializer.rs +0 -0
  417. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/serializer.rs +0 -0
  418. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/struct_serializer.rs +0 -0
  419. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/struct_variant_serializer.rs +0 -0
  420. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/tuple_variant_serializer.rs +0 -0
  421. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_arrays.rs +0 -0
  422. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_booleans.rs +0 -0
  423. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_enums.rs +0 -0
  424. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_floats.rs +0 -0
  425. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_integers.rs +0 -0
  426. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_maps.rs +0 -0
  427. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_options.rs +0 -0
  428. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_results.rs +0 -0
  429. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_strings.rs +0 -0
  430. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_structs.rs +0 -0
  431. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_tuples.rs +0 -0
  432. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_vecs.rs +0 -0
  433. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_arrays.rs +0 -0
  434. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_booleans.rs +0 -0
  435. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_enums.rs +0 -0
  436. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_floats.rs +0 -0
  437. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_integers.rs +0 -0
  438. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_maps.rs +0 -0
  439. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_options.rs +0 -0
  440. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_results.rs +0 -0
  441. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_strings.rs +0 -0
  442. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_structs.rs +0 -0
  443. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_tuples.rs +0 -0
  444. /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_vecs.rs +0 -0
  445. /data/ext/cargo-vendor/{serde_derive-1.0.228 → syn-3.0.9}/LICENSE-MIT +0 -0
@@ -0,0 +1,3040 @@
1
+ // This file is @generated by syn-internal-codegen.
2
+ // It is not intended for manual editing.
3
+
4
+ #[cfg(any(feature = "derive", feature = "full"))]
5
+ use crate::tt::TokenStreamHelper;
6
+ #[cfg(feature = "extra-traits")]
7
+ use alloc::string::ToString;
8
+ use core::hash::{Hash, Hasher};
9
+ #[cfg(any(feature = "derive", feature = "full"))]
10
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
11
+ impl Hash for crate::Abi {
12
+ fn hash<H>(&self, state: &mut H)
13
+ where
14
+ H: Hasher,
15
+ {
16
+ self.name.hash(state);
17
+ }
18
+ }
19
+ #[cfg(any(feature = "derive", feature = "full"))]
20
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
21
+ impl Hash for crate::AngleBracketedGenericArguments {
22
+ fn hash<H>(&self, state: &mut H)
23
+ where
24
+ H: Hasher,
25
+ {
26
+ self.colon2_token.hash(state);
27
+ self.args.hash(state);
28
+ }
29
+ }
30
+ #[cfg(feature = "full")]
31
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
32
+ impl Hash for crate::Arm {
33
+ fn hash<H>(&self, state: &mut H)
34
+ where
35
+ H: Hasher,
36
+ {
37
+ self.attrs.hash(state);
38
+ self.pat.hash(state);
39
+ self.body.hash(state);
40
+ self.comma.hash(state);
41
+ }
42
+ }
43
+ #[cfg(any(feature = "derive", feature = "full"))]
44
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
45
+ impl Hash for crate::AssocConst {
46
+ fn hash<H>(&self, state: &mut H)
47
+ where
48
+ H: Hasher,
49
+ {
50
+ self.ident.hash(state);
51
+ self.generics.hash(state);
52
+ self.value.hash(state);
53
+ }
54
+ }
55
+ #[cfg(any(feature = "derive", feature = "full"))]
56
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
57
+ impl Hash for crate::AssocType {
58
+ fn hash<H>(&self, state: &mut H)
59
+ where
60
+ H: Hasher,
61
+ {
62
+ self.ident.hash(state);
63
+ self.generics.hash(state);
64
+ self.ty.hash(state);
65
+ }
66
+ }
67
+ #[cfg(any(feature = "derive", feature = "full"))]
68
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
69
+ impl Hash for crate::AttrStyle {
70
+ fn hash<H>(&self, state: &mut H)
71
+ where
72
+ H: Hasher,
73
+ {
74
+ match self {
75
+ crate::AttrStyle::Outer => {
76
+ state.write_u8(0u8);
77
+ }
78
+ crate::AttrStyle::Inner(_) => {
79
+ state.write_u8(1u8);
80
+ }
81
+ }
82
+ }
83
+ }
84
+ #[cfg(any(feature = "derive", feature = "full"))]
85
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
86
+ impl Hash for crate::Attribute {
87
+ fn hash<H>(&self, state: &mut H)
88
+ where
89
+ H: Hasher,
90
+ {
91
+ self.style.hash(state);
92
+ self.meta.hash(state);
93
+ }
94
+ }
95
+ #[cfg(any(feature = "derive", feature = "full"))]
96
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
97
+ impl Hash for crate::BinOp {
98
+ fn hash<H>(&self, state: &mut H)
99
+ where
100
+ H: Hasher,
101
+ {
102
+ match self {
103
+ crate::BinOp::Add(_) => {
104
+ state.write_u8(0u8);
105
+ }
106
+ crate::BinOp::Sub(_) => {
107
+ state.write_u8(1u8);
108
+ }
109
+ crate::BinOp::Mul(_) => {
110
+ state.write_u8(2u8);
111
+ }
112
+ crate::BinOp::Div(_) => {
113
+ state.write_u8(3u8);
114
+ }
115
+ crate::BinOp::Rem(_) => {
116
+ state.write_u8(4u8);
117
+ }
118
+ crate::BinOp::And(_) => {
119
+ state.write_u8(5u8);
120
+ }
121
+ crate::BinOp::Or(_) => {
122
+ state.write_u8(6u8);
123
+ }
124
+ crate::BinOp::BitXor(_) => {
125
+ state.write_u8(7u8);
126
+ }
127
+ crate::BinOp::BitAnd(_) => {
128
+ state.write_u8(8u8);
129
+ }
130
+ crate::BinOp::BitOr(_) => {
131
+ state.write_u8(9u8);
132
+ }
133
+ crate::BinOp::Shl(_) => {
134
+ state.write_u8(10u8);
135
+ }
136
+ crate::BinOp::Shr(_) => {
137
+ state.write_u8(11u8);
138
+ }
139
+ crate::BinOp::Eq(_) => {
140
+ state.write_u8(12u8);
141
+ }
142
+ crate::BinOp::Lt(_) => {
143
+ state.write_u8(13u8);
144
+ }
145
+ crate::BinOp::Le(_) => {
146
+ state.write_u8(14u8);
147
+ }
148
+ crate::BinOp::Ne(_) => {
149
+ state.write_u8(15u8);
150
+ }
151
+ crate::BinOp::Ge(_) => {
152
+ state.write_u8(16u8);
153
+ }
154
+ crate::BinOp::Gt(_) => {
155
+ state.write_u8(17u8);
156
+ }
157
+ crate::BinOp::AddAssign(_) => {
158
+ state.write_u8(18u8);
159
+ }
160
+ crate::BinOp::SubAssign(_) => {
161
+ state.write_u8(19u8);
162
+ }
163
+ crate::BinOp::MulAssign(_) => {
164
+ state.write_u8(20u8);
165
+ }
166
+ crate::BinOp::DivAssign(_) => {
167
+ state.write_u8(21u8);
168
+ }
169
+ crate::BinOp::RemAssign(_) => {
170
+ state.write_u8(22u8);
171
+ }
172
+ crate::BinOp::BitXorAssign(_) => {
173
+ state.write_u8(23u8);
174
+ }
175
+ crate::BinOp::BitAndAssign(_) => {
176
+ state.write_u8(24u8);
177
+ }
178
+ crate::BinOp::BitOrAssign(_) => {
179
+ state.write_u8(25u8);
180
+ }
181
+ crate::BinOp::ShlAssign(_) => {
182
+ state.write_u8(26u8);
183
+ }
184
+ crate::BinOp::ShrAssign(_) => {
185
+ state.write_u8(27u8);
186
+ }
187
+ }
188
+ }
189
+ }
190
+ #[cfg(feature = "full")]
191
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
192
+ impl Hash for crate::Block {
193
+ fn hash<H>(&self, state: &mut H)
194
+ where
195
+ H: Hasher,
196
+ {
197
+ self.stmts.hash(state);
198
+ }
199
+ }
200
+ #[cfg(feature = "full")]
201
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
202
+ impl Hash for crate::BlockModifiers {
203
+ fn hash<H>(&self, _state: &mut H)
204
+ where
205
+ H: Hasher,
206
+ {}
207
+ }
208
+ #[cfg(any(feature = "derive", feature = "full"))]
209
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
210
+ impl Hash for crate::BoundLifetimes {
211
+ fn hash<H>(&self, state: &mut H)
212
+ where
213
+ H: Hasher,
214
+ {
215
+ self.lifetimes.hash(state);
216
+ }
217
+ }
218
+ #[cfg(feature = "full")]
219
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
220
+ impl Hash for crate::CapturedParam {
221
+ fn hash<H>(&self, state: &mut H)
222
+ where
223
+ H: Hasher,
224
+ {
225
+ match self {
226
+ crate::CapturedParam::Lifetime(v0) => {
227
+ state.write_u8(0u8);
228
+ v0.hash(state);
229
+ }
230
+ crate::CapturedParam::Ident(v0) => {
231
+ state.write_u8(1u8);
232
+ v0.hash(state);
233
+ }
234
+ }
235
+ }
236
+ }
237
+ #[cfg(feature = "full")]
238
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
239
+ impl Hash for crate::ClosureModifiers {
240
+ fn hash<H>(&self, _state: &mut H)
241
+ where
242
+ H: Hasher,
243
+ {}
244
+ }
245
+ #[cfg(feature = "full")]
246
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
247
+ impl Hash for crate::ConstModifiers {
248
+ fn hash<H>(&self, state: &mut H)
249
+ where
250
+ H: Hasher,
251
+ {
252
+ self.defaultness.hash(state);
253
+ }
254
+ }
255
+ #[cfg(any(feature = "derive", feature = "full"))]
256
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
257
+ impl Hash for crate::ConstParam {
258
+ fn hash<H>(&self, state: &mut H)
259
+ where
260
+ H: Hasher,
261
+ {
262
+ self.attrs.hash(state);
263
+ self.ident.hash(state);
264
+ self.ty.hash(state);
265
+ self.default.hash(state);
266
+ }
267
+ }
268
+ #[cfg(any(feature = "derive", feature = "full"))]
269
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
270
+ impl Hash for crate::Constraint {
271
+ fn hash<H>(&self, state: &mut H)
272
+ where
273
+ H: Hasher,
274
+ {
275
+ self.ident.hash(state);
276
+ self.generics.hash(state);
277
+ self.bounds.hash(state);
278
+ }
279
+ }
280
+ #[cfg(feature = "derive")]
281
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
282
+ impl Hash for crate::Data {
283
+ fn hash<H>(&self, state: &mut H)
284
+ where
285
+ H: Hasher,
286
+ {
287
+ match self {
288
+ crate::Data::Struct(v0) => {
289
+ state.write_u8(0u8);
290
+ v0.hash(state);
291
+ }
292
+ crate::Data::Enum(v0) => {
293
+ state.write_u8(1u8);
294
+ v0.hash(state);
295
+ }
296
+ crate::Data::Union(v0) => {
297
+ state.write_u8(2u8);
298
+ v0.hash(state);
299
+ }
300
+ }
301
+ }
302
+ }
303
+ #[cfg(feature = "derive")]
304
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
305
+ impl Hash for crate::DataEnum {
306
+ fn hash<H>(&self, state: &mut H)
307
+ where
308
+ H: Hasher,
309
+ {
310
+ self.variants.hash(state);
311
+ }
312
+ }
313
+ #[cfg(feature = "derive")]
314
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
315
+ impl Hash for crate::DataStruct {
316
+ fn hash<H>(&self, state: &mut H)
317
+ where
318
+ H: Hasher,
319
+ {
320
+ self.fields.hash(state);
321
+ self.semi_token.hash(state);
322
+ }
323
+ }
324
+ #[cfg(feature = "derive")]
325
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
326
+ impl Hash for crate::DataUnion {
327
+ fn hash<H>(&self, state: &mut H)
328
+ where
329
+ H: Hasher,
330
+ {
331
+ self.fields.hash(state);
332
+ }
333
+ }
334
+ #[cfg(feature = "derive")]
335
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
336
+ impl Hash for crate::DeriveInput {
337
+ fn hash<H>(&self, state: &mut H)
338
+ where
339
+ H: Hasher,
340
+ {
341
+ self.attrs.hash(state);
342
+ self.vis.hash(state);
343
+ self.ident.hash(state);
344
+ self.generics.hash(state);
345
+ self.data.hash(state);
346
+ }
347
+ }
348
+ #[cfg(any(feature = "derive", feature = "full"))]
349
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
350
+ impl Hash for crate::Expr {
351
+ fn hash<H>(&self, state: &mut H)
352
+ where
353
+ H: Hasher,
354
+ {
355
+ match self {
356
+ #[cfg(feature = "full")]
357
+ crate::Expr::Array(v0) => {
358
+ state.write_u8(0u8);
359
+ v0.hash(state);
360
+ }
361
+ #[cfg(feature = "full")]
362
+ crate::Expr::Assign(v0) => {
363
+ state.write_u8(1u8);
364
+ v0.hash(state);
365
+ }
366
+ #[cfg(feature = "full")]
367
+ crate::Expr::Async(v0) => {
368
+ state.write_u8(2u8);
369
+ v0.hash(state);
370
+ }
371
+ #[cfg(feature = "full")]
372
+ crate::Expr::Await(v0) => {
373
+ state.write_u8(3u8);
374
+ v0.hash(state);
375
+ }
376
+ crate::Expr::Binary(v0) => {
377
+ state.write_u8(4u8);
378
+ v0.hash(state);
379
+ }
380
+ #[cfg(feature = "full")]
381
+ crate::Expr::Block(v0) => {
382
+ state.write_u8(5u8);
383
+ v0.hash(state);
384
+ }
385
+ #[cfg(feature = "full")]
386
+ crate::Expr::Break(v0) => {
387
+ state.write_u8(6u8);
388
+ v0.hash(state);
389
+ }
390
+ crate::Expr::Call(v0) => {
391
+ state.write_u8(7u8);
392
+ v0.hash(state);
393
+ }
394
+ crate::Expr::Cast(v0) => {
395
+ state.write_u8(8u8);
396
+ v0.hash(state);
397
+ }
398
+ #[cfg(feature = "full")]
399
+ crate::Expr::Closure(v0) => {
400
+ state.write_u8(9u8);
401
+ v0.hash(state);
402
+ }
403
+ #[cfg(feature = "full")]
404
+ crate::Expr::Const(v0) => {
405
+ state.write_u8(10u8);
406
+ v0.hash(state);
407
+ }
408
+ #[cfg(feature = "full")]
409
+ crate::Expr::Continue(v0) => {
410
+ state.write_u8(11u8);
411
+ v0.hash(state);
412
+ }
413
+ crate::Expr::Field(v0) => {
414
+ state.write_u8(12u8);
415
+ v0.hash(state);
416
+ }
417
+ #[cfg(feature = "full")]
418
+ crate::Expr::ForLoop(v0) => {
419
+ state.write_u8(13u8);
420
+ v0.hash(state);
421
+ }
422
+ crate::Expr::Group(v0) => {
423
+ state.write_u8(14u8);
424
+ v0.hash(state);
425
+ }
426
+ #[cfg(feature = "full")]
427
+ crate::Expr::If(v0) => {
428
+ state.write_u8(15u8);
429
+ v0.hash(state);
430
+ }
431
+ crate::Expr::Index(v0) => {
432
+ state.write_u8(16u8);
433
+ v0.hash(state);
434
+ }
435
+ #[cfg(feature = "full")]
436
+ crate::Expr::Infer(v0) => {
437
+ state.write_u8(17u8);
438
+ v0.hash(state);
439
+ }
440
+ #[cfg(feature = "full")]
441
+ crate::Expr::Let(v0) => {
442
+ state.write_u8(18u8);
443
+ v0.hash(state);
444
+ }
445
+ crate::Expr::Lit(v0) => {
446
+ state.write_u8(19u8);
447
+ v0.hash(state);
448
+ }
449
+ #[cfg(feature = "full")]
450
+ crate::Expr::Loop(v0) => {
451
+ state.write_u8(20u8);
452
+ v0.hash(state);
453
+ }
454
+ crate::Expr::Macro(v0) => {
455
+ state.write_u8(21u8);
456
+ v0.hash(state);
457
+ }
458
+ #[cfg(feature = "full")]
459
+ crate::Expr::Match(v0) => {
460
+ state.write_u8(22u8);
461
+ v0.hash(state);
462
+ }
463
+ crate::Expr::MethodCall(v0) => {
464
+ state.write_u8(23u8);
465
+ v0.hash(state);
466
+ }
467
+ crate::Expr::Paren(v0) => {
468
+ state.write_u8(24u8);
469
+ v0.hash(state);
470
+ }
471
+ crate::Expr::Path(v0) => {
472
+ state.write_u8(25u8);
473
+ v0.hash(state);
474
+ }
475
+ #[cfg(feature = "full")]
476
+ crate::Expr::Range(v0) => {
477
+ state.write_u8(26u8);
478
+ v0.hash(state);
479
+ }
480
+ #[cfg(feature = "full")]
481
+ crate::Expr::RawAddr(v0) => {
482
+ state.write_u8(27u8);
483
+ v0.hash(state);
484
+ }
485
+ crate::Expr::Reference(v0) => {
486
+ state.write_u8(28u8);
487
+ v0.hash(state);
488
+ }
489
+ #[cfg(feature = "full")]
490
+ crate::Expr::Repeat(v0) => {
491
+ state.write_u8(29u8);
492
+ v0.hash(state);
493
+ }
494
+ #[cfg(feature = "full")]
495
+ crate::Expr::Return(v0) => {
496
+ state.write_u8(30u8);
497
+ v0.hash(state);
498
+ }
499
+ crate::Expr::Struct(v0) => {
500
+ state.write_u8(31u8);
501
+ v0.hash(state);
502
+ }
503
+ #[cfg(feature = "full")]
504
+ crate::Expr::Try(v0) => {
505
+ state.write_u8(32u8);
506
+ v0.hash(state);
507
+ }
508
+ #[cfg(feature = "full")]
509
+ crate::Expr::TryBlock(v0) => {
510
+ state.write_u8(33u8);
511
+ v0.hash(state);
512
+ }
513
+ crate::Expr::Tuple(v0) => {
514
+ state.write_u8(34u8);
515
+ v0.hash(state);
516
+ }
517
+ crate::Expr::Unary(v0) => {
518
+ state.write_u8(35u8);
519
+ v0.hash(state);
520
+ }
521
+ #[cfg(feature = "full")]
522
+ crate::Expr::Unsafe(v0) => {
523
+ state.write_u8(36u8);
524
+ v0.hash(state);
525
+ }
526
+ crate::Expr::Verbatim(v0) => {
527
+ state.write_u8(37u8);
528
+ TokenStreamHelper(v0).hash(state);
529
+ }
530
+ #[cfg(feature = "full")]
531
+ crate::Expr::While(v0) => {
532
+ state.write_u8(38u8);
533
+ v0.hash(state);
534
+ }
535
+ #[cfg(feature = "full")]
536
+ crate::Expr::Yield(v0) => {
537
+ state.write_u8(39u8);
538
+ v0.hash(state);
539
+ }
540
+ #[cfg(not(feature = "full"))]
541
+ _ => unreachable!(),
542
+ }
543
+ }
544
+ }
545
+ #[cfg(feature = "full")]
546
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
547
+ impl Hash for crate::ExprArray {
548
+ fn hash<H>(&self, state: &mut H)
549
+ where
550
+ H: Hasher,
551
+ {
552
+ self.attrs.hash(state);
553
+ self.elems.hash(state);
554
+ }
555
+ }
556
+ #[cfg(feature = "full")]
557
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
558
+ impl Hash for crate::ExprAssign {
559
+ fn hash<H>(&self, state: &mut H)
560
+ where
561
+ H: Hasher,
562
+ {
563
+ self.attrs.hash(state);
564
+ self.left.hash(state);
565
+ self.right.hash(state);
566
+ }
567
+ }
568
+ #[cfg(feature = "full")]
569
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
570
+ impl Hash for crate::ExprAsync {
571
+ fn hash<H>(&self, state: &mut H)
572
+ where
573
+ H: Hasher,
574
+ {
575
+ self.attrs.hash(state);
576
+ self.capture.hash(state);
577
+ self.modifiers.hash(state);
578
+ self.block.hash(state);
579
+ }
580
+ }
581
+ #[cfg(feature = "full")]
582
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
583
+ impl Hash for crate::ExprAwait {
584
+ fn hash<H>(&self, state: &mut H)
585
+ where
586
+ H: Hasher,
587
+ {
588
+ self.attrs.hash(state);
589
+ self.base.hash(state);
590
+ }
591
+ }
592
+ #[cfg(any(feature = "derive", feature = "full"))]
593
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
594
+ impl Hash for crate::ExprBinary {
595
+ fn hash<H>(&self, state: &mut H)
596
+ where
597
+ H: Hasher,
598
+ {
599
+ self.attrs.hash(state);
600
+ self.left.hash(state);
601
+ self.op.hash(state);
602
+ self.right.hash(state);
603
+ }
604
+ }
605
+ #[cfg(feature = "full")]
606
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
607
+ impl Hash for crate::ExprBlock {
608
+ fn hash<H>(&self, state: &mut H)
609
+ where
610
+ H: Hasher,
611
+ {
612
+ self.attrs.hash(state);
613
+ self.label.hash(state);
614
+ self.block.hash(state);
615
+ }
616
+ }
617
+ #[cfg(feature = "full")]
618
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
619
+ impl Hash for crate::ExprBreak {
620
+ fn hash<H>(&self, state: &mut H)
621
+ where
622
+ H: Hasher,
623
+ {
624
+ self.attrs.hash(state);
625
+ self.label.hash(state);
626
+ self.expr.hash(state);
627
+ }
628
+ }
629
+ #[cfg(any(feature = "derive", feature = "full"))]
630
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
631
+ impl Hash for crate::ExprCall {
632
+ fn hash<H>(&self, state: &mut H)
633
+ where
634
+ H: Hasher,
635
+ {
636
+ self.attrs.hash(state);
637
+ self.func.hash(state);
638
+ self.args.hash(state);
639
+ }
640
+ }
641
+ #[cfg(any(feature = "derive", feature = "full"))]
642
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
643
+ impl Hash for crate::ExprCast {
644
+ fn hash<H>(&self, state: &mut H)
645
+ where
646
+ H: Hasher,
647
+ {
648
+ self.attrs.hash(state);
649
+ self.expr.hash(state);
650
+ self.ty.hash(state);
651
+ }
652
+ }
653
+ #[cfg(feature = "full")]
654
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
655
+ impl Hash for crate::ExprClosure {
656
+ fn hash<H>(&self, state: &mut H)
657
+ where
658
+ H: Hasher,
659
+ {
660
+ self.attrs.hash(state);
661
+ self.lifetimes.hash(state);
662
+ self.modifiers.hash(state);
663
+ self.constness.hash(state);
664
+ self.asyncness.hash(state);
665
+ self.capture.hash(state);
666
+ self.inputs.hash(state);
667
+ self.output.hash(state);
668
+ self.body.hash(state);
669
+ }
670
+ }
671
+ #[cfg(feature = "full")]
672
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
673
+ impl Hash for crate::ExprConst {
674
+ fn hash<H>(&self, state: &mut H)
675
+ where
676
+ H: Hasher,
677
+ {
678
+ self.attrs.hash(state);
679
+ self.modifiers.hash(state);
680
+ self.block.hash(state);
681
+ }
682
+ }
683
+ #[cfg(feature = "full")]
684
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
685
+ impl Hash for crate::ExprContinue {
686
+ fn hash<H>(&self, state: &mut H)
687
+ where
688
+ H: Hasher,
689
+ {
690
+ self.attrs.hash(state);
691
+ self.label.hash(state);
692
+ }
693
+ }
694
+ #[cfg(any(feature = "derive", feature = "full"))]
695
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
696
+ impl Hash for crate::ExprField {
697
+ fn hash<H>(&self, state: &mut H)
698
+ where
699
+ H: Hasher,
700
+ {
701
+ self.attrs.hash(state);
702
+ self.base.hash(state);
703
+ self.member.hash(state);
704
+ }
705
+ }
706
+ #[cfg(feature = "full")]
707
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
708
+ impl Hash for crate::ExprForLoop {
709
+ fn hash<H>(&self, state: &mut H)
710
+ where
711
+ H: Hasher,
712
+ {
713
+ self.attrs.hash(state);
714
+ self.label.hash(state);
715
+ self.pat.hash(state);
716
+ self.expr.hash(state);
717
+ self.body.hash(state);
718
+ }
719
+ }
720
+ #[cfg(any(feature = "derive", feature = "full"))]
721
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
722
+ impl Hash for crate::ExprGroup {
723
+ fn hash<H>(&self, state: &mut H)
724
+ where
725
+ H: Hasher,
726
+ {
727
+ self.attrs.hash(state);
728
+ self.expr.hash(state);
729
+ }
730
+ }
731
+ #[cfg(feature = "full")]
732
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
733
+ impl Hash for crate::ExprIf {
734
+ fn hash<H>(&self, state: &mut H)
735
+ where
736
+ H: Hasher,
737
+ {
738
+ self.attrs.hash(state);
739
+ self.cond.hash(state);
740
+ self.then_branch.hash(state);
741
+ self.else_branch.hash(state);
742
+ }
743
+ }
744
+ #[cfg(any(feature = "derive", feature = "full"))]
745
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
746
+ impl Hash for crate::ExprIndex {
747
+ fn hash<H>(&self, state: &mut H)
748
+ where
749
+ H: Hasher,
750
+ {
751
+ self.attrs.hash(state);
752
+ self.expr.hash(state);
753
+ self.index.hash(state);
754
+ }
755
+ }
756
+ #[cfg(feature = "full")]
757
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
758
+ impl Hash for crate::ExprInfer {
759
+ fn hash<H>(&self, state: &mut H)
760
+ where
761
+ H: Hasher,
762
+ {
763
+ self.attrs.hash(state);
764
+ }
765
+ }
766
+ #[cfg(feature = "full")]
767
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
768
+ impl Hash for crate::ExprLet {
769
+ fn hash<H>(&self, state: &mut H)
770
+ where
771
+ H: Hasher,
772
+ {
773
+ self.attrs.hash(state);
774
+ self.pat.hash(state);
775
+ self.expr.hash(state);
776
+ }
777
+ }
778
+ #[cfg(any(feature = "derive", feature = "full"))]
779
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
780
+ impl Hash for crate::ExprLit {
781
+ fn hash<H>(&self, state: &mut H)
782
+ where
783
+ H: Hasher,
784
+ {
785
+ self.attrs.hash(state);
786
+ self.lit.hash(state);
787
+ }
788
+ }
789
+ #[cfg(feature = "full")]
790
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
791
+ impl Hash for crate::ExprLoop {
792
+ fn hash<H>(&self, state: &mut H)
793
+ where
794
+ H: Hasher,
795
+ {
796
+ self.attrs.hash(state);
797
+ self.label.hash(state);
798
+ self.body.hash(state);
799
+ }
800
+ }
801
+ #[cfg(any(feature = "derive", feature = "full"))]
802
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
803
+ impl Hash for crate::ExprMacro {
804
+ fn hash<H>(&self, state: &mut H)
805
+ where
806
+ H: Hasher,
807
+ {
808
+ self.attrs.hash(state);
809
+ self.mac.hash(state);
810
+ }
811
+ }
812
+ #[cfg(feature = "full")]
813
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
814
+ impl Hash for crate::ExprMatch {
815
+ fn hash<H>(&self, state: &mut H)
816
+ where
817
+ H: Hasher,
818
+ {
819
+ self.attrs.hash(state);
820
+ self.expr.hash(state);
821
+ self.arms.hash(state);
822
+ }
823
+ }
824
+ #[cfg(any(feature = "derive", feature = "full"))]
825
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
826
+ impl Hash for crate::ExprMethodCall {
827
+ fn hash<H>(&self, state: &mut H)
828
+ where
829
+ H: Hasher,
830
+ {
831
+ self.attrs.hash(state);
832
+ self.receiver.hash(state);
833
+ self.method.hash(state);
834
+ self.turbofish.hash(state);
835
+ self.args.hash(state);
836
+ }
837
+ }
838
+ #[cfg(any(feature = "derive", feature = "full"))]
839
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
840
+ impl Hash for crate::ExprParen {
841
+ fn hash<H>(&self, state: &mut H)
842
+ where
843
+ H: Hasher,
844
+ {
845
+ self.attrs.hash(state);
846
+ self.expr.hash(state);
847
+ }
848
+ }
849
+ #[cfg(any(feature = "derive", feature = "full"))]
850
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
851
+ impl Hash for crate::ExprPath {
852
+ fn hash<H>(&self, state: &mut H)
853
+ where
854
+ H: Hasher,
855
+ {
856
+ self.attrs.hash(state);
857
+ self.qself.hash(state);
858
+ self.path.hash(state);
859
+ }
860
+ }
861
+ #[cfg(feature = "full")]
862
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
863
+ impl Hash for crate::ExprRange {
864
+ fn hash<H>(&self, state: &mut H)
865
+ where
866
+ H: Hasher,
867
+ {
868
+ self.attrs.hash(state);
869
+ self.start.hash(state);
870
+ self.limits.hash(state);
871
+ self.end.hash(state);
872
+ }
873
+ }
874
+ #[cfg(feature = "full")]
875
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
876
+ impl Hash for crate::ExprRawAddr {
877
+ fn hash<H>(&self, state: &mut H)
878
+ where
879
+ H: Hasher,
880
+ {
881
+ self.attrs.hash(state);
882
+ self.mutability.hash(state);
883
+ self.expr.hash(state);
884
+ }
885
+ }
886
+ #[cfg(any(feature = "derive", feature = "full"))]
887
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
888
+ impl Hash for crate::ExprReference {
889
+ fn hash<H>(&self, state: &mut H)
890
+ where
891
+ H: Hasher,
892
+ {
893
+ self.attrs.hash(state);
894
+ self.mutability.hash(state);
895
+ self.expr.hash(state);
896
+ }
897
+ }
898
+ #[cfg(feature = "full")]
899
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
900
+ impl Hash for crate::ExprRepeat {
901
+ fn hash<H>(&self, state: &mut H)
902
+ where
903
+ H: Hasher,
904
+ {
905
+ self.attrs.hash(state);
906
+ self.expr.hash(state);
907
+ self.len.hash(state);
908
+ }
909
+ }
910
+ #[cfg(feature = "full")]
911
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
912
+ impl Hash for crate::ExprReturn {
913
+ fn hash<H>(&self, state: &mut H)
914
+ where
915
+ H: Hasher,
916
+ {
917
+ self.attrs.hash(state);
918
+ self.expr.hash(state);
919
+ }
920
+ }
921
+ #[cfg(any(feature = "derive", feature = "full"))]
922
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
923
+ impl Hash for crate::ExprStruct {
924
+ fn hash<H>(&self, state: &mut H)
925
+ where
926
+ H: Hasher,
927
+ {
928
+ self.attrs.hash(state);
929
+ self.qself.hash(state);
930
+ self.path.hash(state);
931
+ self.fields.hash(state);
932
+ self.dot2_token.hash(state);
933
+ self.rest.hash(state);
934
+ }
935
+ }
936
+ #[cfg(feature = "full")]
937
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
938
+ impl Hash for crate::ExprTry {
939
+ fn hash<H>(&self, state: &mut H)
940
+ where
941
+ H: Hasher,
942
+ {
943
+ self.attrs.hash(state);
944
+ self.expr.hash(state);
945
+ }
946
+ }
947
+ #[cfg(feature = "full")]
948
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
949
+ impl Hash for crate::ExprTryBlock {
950
+ fn hash<H>(&self, state: &mut H)
951
+ where
952
+ H: Hasher,
953
+ {
954
+ self.attrs.hash(state);
955
+ self.modifiers.hash(state);
956
+ self.block.hash(state);
957
+ }
958
+ }
959
+ #[cfg(any(feature = "derive", feature = "full"))]
960
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
961
+ impl Hash for crate::ExprTuple {
962
+ fn hash<H>(&self, state: &mut H)
963
+ where
964
+ H: Hasher,
965
+ {
966
+ self.attrs.hash(state);
967
+ self.elems.hash(state);
968
+ }
969
+ }
970
+ #[cfg(any(feature = "derive", feature = "full"))]
971
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
972
+ impl Hash for crate::ExprUnary {
973
+ fn hash<H>(&self, state: &mut H)
974
+ where
975
+ H: Hasher,
976
+ {
977
+ self.attrs.hash(state);
978
+ self.op.hash(state);
979
+ self.expr.hash(state);
980
+ }
981
+ }
982
+ #[cfg(feature = "full")]
983
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
984
+ impl Hash for crate::ExprUnsafe {
985
+ fn hash<H>(&self, state: &mut H)
986
+ where
987
+ H: Hasher,
988
+ {
989
+ self.attrs.hash(state);
990
+ self.block.hash(state);
991
+ }
992
+ }
993
+ #[cfg(feature = "full")]
994
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
995
+ impl Hash for crate::ExprWhile {
996
+ fn hash<H>(&self, state: &mut H)
997
+ where
998
+ H: Hasher,
999
+ {
1000
+ self.attrs.hash(state);
1001
+ self.label.hash(state);
1002
+ self.cond.hash(state);
1003
+ self.body.hash(state);
1004
+ }
1005
+ }
1006
+ #[cfg(feature = "full")]
1007
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1008
+ impl Hash for crate::ExprYield {
1009
+ fn hash<H>(&self, state: &mut H)
1010
+ where
1011
+ H: Hasher,
1012
+ {
1013
+ self.attrs.hash(state);
1014
+ self.expr.hash(state);
1015
+ }
1016
+ }
1017
+ #[cfg(any(feature = "derive", feature = "full"))]
1018
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1019
+ impl Hash for crate::Field {
1020
+ fn hash<H>(&self, state: &mut H)
1021
+ where
1022
+ H: Hasher,
1023
+ {
1024
+ self.attrs.hash(state);
1025
+ self.vis.hash(state);
1026
+ self.modifiers.hash(state);
1027
+ self.ident.hash(state);
1028
+ self.colon_token.hash(state);
1029
+ self.ty.hash(state);
1030
+ self.default.hash(state);
1031
+ }
1032
+ }
1033
+ #[cfg(any(feature = "derive", feature = "full"))]
1034
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1035
+ impl Hash for crate::FieldModifiers {
1036
+ fn hash<H>(&self, _state: &mut H)
1037
+ where
1038
+ H: Hasher,
1039
+ {}
1040
+ }
1041
+ #[cfg(feature = "full")]
1042
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1043
+ impl Hash for crate::FieldPat {
1044
+ fn hash<H>(&self, state: &mut H)
1045
+ where
1046
+ H: Hasher,
1047
+ {
1048
+ self.attrs.hash(state);
1049
+ self.member.hash(state);
1050
+ self.colon_token.hash(state);
1051
+ self.pat.hash(state);
1052
+ }
1053
+ }
1054
+ #[cfg(any(feature = "derive", feature = "full"))]
1055
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1056
+ impl Hash for crate::FieldValue {
1057
+ fn hash<H>(&self, state: &mut H)
1058
+ where
1059
+ H: Hasher,
1060
+ {
1061
+ self.attrs.hash(state);
1062
+ self.member.hash(state);
1063
+ self.colon_token.hash(state);
1064
+ self.expr.hash(state);
1065
+ }
1066
+ }
1067
+ #[cfg(any(feature = "derive", feature = "full"))]
1068
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1069
+ impl Hash for crate::Fields {
1070
+ fn hash<H>(&self, state: &mut H)
1071
+ where
1072
+ H: Hasher,
1073
+ {
1074
+ match self {
1075
+ crate::Fields::Named(v0) => {
1076
+ state.write_u8(0u8);
1077
+ v0.hash(state);
1078
+ }
1079
+ crate::Fields::Unnamed(v0) => {
1080
+ state.write_u8(1u8);
1081
+ v0.hash(state);
1082
+ }
1083
+ crate::Fields::Unit => {
1084
+ state.write_u8(2u8);
1085
+ }
1086
+ }
1087
+ }
1088
+ }
1089
+ #[cfg(any(feature = "derive", feature = "full"))]
1090
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1091
+ impl Hash for crate::FieldsNamed {
1092
+ fn hash<H>(&self, state: &mut H)
1093
+ where
1094
+ H: Hasher,
1095
+ {
1096
+ self.named.hash(state);
1097
+ }
1098
+ }
1099
+ #[cfg(any(feature = "derive", feature = "full"))]
1100
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1101
+ impl Hash for crate::FieldsUnnamed {
1102
+ fn hash<H>(&self, state: &mut H)
1103
+ where
1104
+ H: Hasher,
1105
+ {
1106
+ self.unnamed.hash(state);
1107
+ }
1108
+ }
1109
+ #[cfg(feature = "full")]
1110
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1111
+ impl Hash for crate::File {
1112
+ fn hash<H>(&self, state: &mut H)
1113
+ where
1114
+ H: Hasher,
1115
+ {
1116
+ self.shebang.hash(state);
1117
+ self.frontmatter.hash(state);
1118
+ self.attrs.hash(state);
1119
+ self.items.hash(state);
1120
+ }
1121
+ }
1122
+ #[cfg(feature = "full")]
1123
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1124
+ impl Hash for crate::FnArg {
1125
+ fn hash<H>(&self, state: &mut H)
1126
+ where
1127
+ H: Hasher,
1128
+ {
1129
+ match self {
1130
+ crate::FnArg::Receiver(v0) => {
1131
+ state.write_u8(0u8);
1132
+ v0.hash(state);
1133
+ }
1134
+ crate::FnArg::Typed(v0) => {
1135
+ state.write_u8(1u8);
1136
+ v0.hash(state);
1137
+ }
1138
+ }
1139
+ }
1140
+ }
1141
+ #[cfg(feature = "full")]
1142
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1143
+ impl Hash for crate::FnModifiers {
1144
+ fn hash<H>(&self, state: &mut H)
1145
+ where
1146
+ H: Hasher,
1147
+ {
1148
+ self.defaultness.hash(state);
1149
+ }
1150
+ }
1151
+ #[cfg(any(feature = "derive", feature = "full"))]
1152
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1153
+ impl Hash for crate::FnPtrVariadic {
1154
+ fn hash<H>(&self, state: &mut H)
1155
+ where
1156
+ H: Hasher,
1157
+ {
1158
+ self.attrs.hash(state);
1159
+ self.name.hash(state);
1160
+ self.comma.hash(state);
1161
+ }
1162
+ }
1163
+ #[cfg(feature = "full")]
1164
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1165
+ impl Hash for crate::ForeignItem {
1166
+ fn hash<H>(&self, state: &mut H)
1167
+ where
1168
+ H: Hasher,
1169
+ {
1170
+ match self {
1171
+ crate::ForeignItem::Fn(v0) => {
1172
+ state.write_u8(0u8);
1173
+ v0.hash(state);
1174
+ }
1175
+ crate::ForeignItem::Static(v0) => {
1176
+ state.write_u8(1u8);
1177
+ v0.hash(state);
1178
+ }
1179
+ crate::ForeignItem::Type(v0) => {
1180
+ state.write_u8(2u8);
1181
+ v0.hash(state);
1182
+ }
1183
+ crate::ForeignItem::Macro(v0) => {
1184
+ state.write_u8(3u8);
1185
+ v0.hash(state);
1186
+ }
1187
+ crate::ForeignItem::Verbatim(v0) => {
1188
+ state.write_u8(4u8);
1189
+ TokenStreamHelper(v0).hash(state);
1190
+ }
1191
+ }
1192
+ }
1193
+ }
1194
+ #[cfg(feature = "full")]
1195
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1196
+ impl Hash for crate::ForeignItemFn {
1197
+ fn hash<H>(&self, state: &mut H)
1198
+ where
1199
+ H: Hasher,
1200
+ {
1201
+ self.attrs.hash(state);
1202
+ self.vis.hash(state);
1203
+ self.modifiers.hash(state);
1204
+ self.sig.hash(state);
1205
+ }
1206
+ }
1207
+ #[cfg(feature = "full")]
1208
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1209
+ impl Hash for crate::ForeignItemMacro {
1210
+ fn hash<H>(&self, state: &mut H)
1211
+ where
1212
+ H: Hasher,
1213
+ {
1214
+ self.attrs.hash(state);
1215
+ self.mac.hash(state);
1216
+ self.semi_token.hash(state);
1217
+ }
1218
+ }
1219
+ #[cfg(feature = "full")]
1220
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1221
+ impl Hash for crate::ForeignItemStatic {
1222
+ fn hash<H>(&self, state: &mut H)
1223
+ where
1224
+ H: Hasher,
1225
+ {
1226
+ self.attrs.hash(state);
1227
+ self.vis.hash(state);
1228
+ self.safety.hash(state);
1229
+ self.mutability.hash(state);
1230
+ self.ident.hash(state);
1231
+ self.ty.hash(state);
1232
+ }
1233
+ }
1234
+ #[cfg(feature = "full")]
1235
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1236
+ impl Hash for crate::ForeignItemType {
1237
+ fn hash<H>(&self, state: &mut H)
1238
+ where
1239
+ H: Hasher,
1240
+ {
1241
+ self.attrs.hash(state);
1242
+ self.vis.hash(state);
1243
+ self.modifiers.hash(state);
1244
+ self.ident.hash(state);
1245
+ self.generics.hash(state);
1246
+ }
1247
+ }
1248
+ #[cfg(feature = "full")]
1249
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1250
+ impl Hash for crate::Frontmatter {
1251
+ fn hash<H>(&self, _state: &mut H)
1252
+ where
1253
+ H: Hasher,
1254
+ {}
1255
+ }
1256
+ #[cfg(any(feature = "derive", feature = "full"))]
1257
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1258
+ impl Hash for crate::GenericArgument {
1259
+ fn hash<H>(&self, state: &mut H)
1260
+ where
1261
+ H: Hasher,
1262
+ {
1263
+ match self {
1264
+ crate::GenericArgument::Lifetime(v0) => {
1265
+ state.write_u8(0u8);
1266
+ v0.hash(state);
1267
+ }
1268
+ crate::GenericArgument::Type(v0) => {
1269
+ state.write_u8(1u8);
1270
+ v0.hash(state);
1271
+ }
1272
+ crate::GenericArgument::Const(v0) => {
1273
+ state.write_u8(2u8);
1274
+ v0.hash(state);
1275
+ }
1276
+ crate::GenericArgument::AssocType(v0) => {
1277
+ state.write_u8(3u8);
1278
+ v0.hash(state);
1279
+ }
1280
+ crate::GenericArgument::AssocConst(v0) => {
1281
+ state.write_u8(4u8);
1282
+ v0.hash(state);
1283
+ }
1284
+ crate::GenericArgument::Constraint(v0) => {
1285
+ state.write_u8(5u8);
1286
+ v0.hash(state);
1287
+ }
1288
+ }
1289
+ }
1290
+ }
1291
+ #[cfg(any(feature = "derive", feature = "full"))]
1292
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1293
+ impl Hash for crate::GenericParam {
1294
+ fn hash<H>(&self, state: &mut H)
1295
+ where
1296
+ H: Hasher,
1297
+ {
1298
+ match self {
1299
+ crate::GenericParam::Lifetime(v0) => {
1300
+ state.write_u8(0u8);
1301
+ v0.hash(state);
1302
+ }
1303
+ crate::GenericParam::Type(v0) => {
1304
+ state.write_u8(1u8);
1305
+ v0.hash(state);
1306
+ }
1307
+ crate::GenericParam::Const(v0) => {
1308
+ state.write_u8(2u8);
1309
+ v0.hash(state);
1310
+ }
1311
+ }
1312
+ }
1313
+ }
1314
+ #[cfg(any(feature = "derive", feature = "full"))]
1315
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1316
+ impl Hash for crate::Generics {
1317
+ fn hash<H>(&self, state: &mut H)
1318
+ where
1319
+ H: Hasher,
1320
+ {
1321
+ self.lt_token.hash(state);
1322
+ self.params.hash(state);
1323
+ self.gt_token.hash(state);
1324
+ self.where_clause.hash(state);
1325
+ }
1326
+ }
1327
+ #[cfg(feature = "full")]
1328
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1329
+ impl Hash for crate::ImplItem {
1330
+ fn hash<H>(&self, state: &mut H)
1331
+ where
1332
+ H: Hasher,
1333
+ {
1334
+ match self {
1335
+ crate::ImplItem::Const(v0) => {
1336
+ state.write_u8(0u8);
1337
+ v0.hash(state);
1338
+ }
1339
+ crate::ImplItem::Fn(v0) => {
1340
+ state.write_u8(1u8);
1341
+ v0.hash(state);
1342
+ }
1343
+ crate::ImplItem::Type(v0) => {
1344
+ state.write_u8(2u8);
1345
+ v0.hash(state);
1346
+ }
1347
+ crate::ImplItem::Macro(v0) => {
1348
+ state.write_u8(3u8);
1349
+ v0.hash(state);
1350
+ }
1351
+ crate::ImplItem::Verbatim(v0) => {
1352
+ state.write_u8(4u8);
1353
+ TokenStreamHelper(v0).hash(state);
1354
+ }
1355
+ }
1356
+ }
1357
+ }
1358
+ #[cfg(feature = "full")]
1359
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1360
+ impl Hash for crate::ImplItemConst {
1361
+ fn hash<H>(&self, state: &mut H)
1362
+ where
1363
+ H: Hasher,
1364
+ {
1365
+ self.attrs.hash(state);
1366
+ self.vis.hash(state);
1367
+ self.modifiers.hash(state);
1368
+ self.ident.hash(state);
1369
+ self.generics.hash(state);
1370
+ self.ty.hash(state);
1371
+ self.expr.hash(state);
1372
+ }
1373
+ }
1374
+ #[cfg(feature = "full")]
1375
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1376
+ impl Hash for crate::ImplItemFn {
1377
+ fn hash<H>(&self, state: &mut H)
1378
+ where
1379
+ H: Hasher,
1380
+ {
1381
+ self.attrs.hash(state);
1382
+ self.vis.hash(state);
1383
+ self.modifiers.hash(state);
1384
+ self.sig.hash(state);
1385
+ self.block.hash(state);
1386
+ }
1387
+ }
1388
+ #[cfg(feature = "full")]
1389
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1390
+ impl Hash for crate::ImplItemMacro {
1391
+ fn hash<H>(&self, state: &mut H)
1392
+ where
1393
+ H: Hasher,
1394
+ {
1395
+ self.attrs.hash(state);
1396
+ self.mac.hash(state);
1397
+ self.semi_token.hash(state);
1398
+ }
1399
+ }
1400
+ #[cfg(feature = "full")]
1401
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1402
+ impl Hash for crate::ImplItemType {
1403
+ fn hash<H>(&self, state: &mut H)
1404
+ where
1405
+ H: Hasher,
1406
+ {
1407
+ self.attrs.hash(state);
1408
+ self.vis.hash(state);
1409
+ self.modifiers.hash(state);
1410
+ self.ident.hash(state);
1411
+ self.generics.hash(state);
1412
+ self.ty.hash(state);
1413
+ }
1414
+ }
1415
+ #[cfg(feature = "full")]
1416
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1417
+ impl Hash for crate::ImplModifiers {
1418
+ fn hash<H>(&self, state: &mut H)
1419
+ where
1420
+ H: Hasher,
1421
+ {
1422
+ self.defaultness.hash(state);
1423
+ self.polarity.hash(state);
1424
+ }
1425
+ }
1426
+ #[cfg(feature = "full")]
1427
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1428
+ impl Hash for crate::Item {
1429
+ fn hash<H>(&self, state: &mut H)
1430
+ where
1431
+ H: Hasher,
1432
+ {
1433
+ match self {
1434
+ crate::Item::Const(v0) => {
1435
+ state.write_u8(0u8);
1436
+ v0.hash(state);
1437
+ }
1438
+ crate::Item::Enum(v0) => {
1439
+ state.write_u8(1u8);
1440
+ v0.hash(state);
1441
+ }
1442
+ crate::Item::ExternCrate(v0) => {
1443
+ state.write_u8(2u8);
1444
+ v0.hash(state);
1445
+ }
1446
+ crate::Item::Fn(v0) => {
1447
+ state.write_u8(3u8);
1448
+ v0.hash(state);
1449
+ }
1450
+ crate::Item::ForeignMod(v0) => {
1451
+ state.write_u8(4u8);
1452
+ v0.hash(state);
1453
+ }
1454
+ crate::Item::Impl(v0) => {
1455
+ state.write_u8(5u8);
1456
+ v0.hash(state);
1457
+ }
1458
+ crate::Item::Macro(v0) => {
1459
+ state.write_u8(6u8);
1460
+ v0.hash(state);
1461
+ }
1462
+ crate::Item::Mod(v0) => {
1463
+ state.write_u8(7u8);
1464
+ v0.hash(state);
1465
+ }
1466
+ crate::Item::Static(v0) => {
1467
+ state.write_u8(8u8);
1468
+ v0.hash(state);
1469
+ }
1470
+ crate::Item::Struct(v0) => {
1471
+ state.write_u8(9u8);
1472
+ v0.hash(state);
1473
+ }
1474
+ crate::Item::Trait(v0) => {
1475
+ state.write_u8(10u8);
1476
+ v0.hash(state);
1477
+ }
1478
+ crate::Item::TraitAlias(v0) => {
1479
+ state.write_u8(11u8);
1480
+ v0.hash(state);
1481
+ }
1482
+ crate::Item::Type(v0) => {
1483
+ state.write_u8(12u8);
1484
+ v0.hash(state);
1485
+ }
1486
+ crate::Item::Union(v0) => {
1487
+ state.write_u8(13u8);
1488
+ v0.hash(state);
1489
+ }
1490
+ crate::Item::Use(v0) => {
1491
+ state.write_u8(14u8);
1492
+ v0.hash(state);
1493
+ }
1494
+ crate::Item::Verbatim(v0) => {
1495
+ state.write_u8(15u8);
1496
+ TokenStreamHelper(v0).hash(state);
1497
+ }
1498
+ }
1499
+ }
1500
+ }
1501
+ #[cfg(feature = "full")]
1502
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1503
+ impl Hash for crate::ItemConst {
1504
+ fn hash<H>(&self, state: &mut H)
1505
+ where
1506
+ H: Hasher,
1507
+ {
1508
+ self.attrs.hash(state);
1509
+ self.vis.hash(state);
1510
+ self.modifiers.hash(state);
1511
+ self.ident.hash(state);
1512
+ self.generics.hash(state);
1513
+ self.ty.hash(state);
1514
+ self.expr.hash(state);
1515
+ }
1516
+ }
1517
+ #[cfg(feature = "full")]
1518
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1519
+ impl Hash for crate::ItemEnum {
1520
+ fn hash<H>(&self, state: &mut H)
1521
+ where
1522
+ H: Hasher,
1523
+ {
1524
+ self.attrs.hash(state);
1525
+ self.vis.hash(state);
1526
+ self.ident.hash(state);
1527
+ self.generics.hash(state);
1528
+ self.variants.hash(state);
1529
+ }
1530
+ }
1531
+ #[cfg(feature = "full")]
1532
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1533
+ impl Hash for crate::ItemExternCrate {
1534
+ fn hash<H>(&self, state: &mut H)
1535
+ where
1536
+ H: Hasher,
1537
+ {
1538
+ self.attrs.hash(state);
1539
+ self.vis.hash(state);
1540
+ self.ident.hash(state);
1541
+ self.rename.hash(state);
1542
+ }
1543
+ }
1544
+ #[cfg(feature = "full")]
1545
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1546
+ impl Hash for crate::ItemFn {
1547
+ fn hash<H>(&self, state: &mut H)
1548
+ where
1549
+ H: Hasher,
1550
+ {
1551
+ self.attrs.hash(state);
1552
+ self.vis.hash(state);
1553
+ self.modifiers.hash(state);
1554
+ self.sig.hash(state);
1555
+ self.block.hash(state);
1556
+ }
1557
+ }
1558
+ #[cfg(feature = "full")]
1559
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1560
+ impl Hash for crate::ItemForeignMod {
1561
+ fn hash<H>(&self, state: &mut H)
1562
+ where
1563
+ H: Hasher,
1564
+ {
1565
+ self.attrs.hash(state);
1566
+ self.unsafety.hash(state);
1567
+ self.abi.hash(state);
1568
+ self.items.hash(state);
1569
+ }
1570
+ }
1571
+ #[cfg(feature = "full")]
1572
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1573
+ impl Hash for crate::ItemImpl {
1574
+ fn hash<H>(&self, state: &mut H)
1575
+ where
1576
+ H: Hasher,
1577
+ {
1578
+ self.attrs.hash(state);
1579
+ self.modifiers.hash(state);
1580
+ self.unsafety.hash(state);
1581
+ self.generics.hash(state);
1582
+ self.trait_.hash(state);
1583
+ self.self_ty.hash(state);
1584
+ self.items.hash(state);
1585
+ }
1586
+ }
1587
+ #[cfg(feature = "full")]
1588
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1589
+ impl Hash for crate::ItemMacro {
1590
+ fn hash<H>(&self, state: &mut H)
1591
+ where
1592
+ H: Hasher,
1593
+ {
1594
+ self.attrs.hash(state);
1595
+ self.ident.hash(state);
1596
+ self.mac.hash(state);
1597
+ self.semi_token.hash(state);
1598
+ }
1599
+ }
1600
+ #[cfg(feature = "full")]
1601
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1602
+ impl Hash for crate::ItemMod {
1603
+ fn hash<H>(&self, state: &mut H)
1604
+ where
1605
+ H: Hasher,
1606
+ {
1607
+ self.attrs.hash(state);
1608
+ self.vis.hash(state);
1609
+ self.unsafety.hash(state);
1610
+ self.ident.hash(state);
1611
+ self.content.hash(state);
1612
+ self.semi.hash(state);
1613
+ }
1614
+ }
1615
+ #[cfg(feature = "full")]
1616
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1617
+ impl Hash for crate::ItemStatic {
1618
+ fn hash<H>(&self, state: &mut H)
1619
+ where
1620
+ H: Hasher,
1621
+ {
1622
+ self.attrs.hash(state);
1623
+ self.vis.hash(state);
1624
+ self.mutability.hash(state);
1625
+ self.ident.hash(state);
1626
+ self.ty.hash(state);
1627
+ self.expr.hash(state);
1628
+ }
1629
+ }
1630
+ #[cfg(feature = "full")]
1631
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1632
+ impl Hash for crate::ItemStruct {
1633
+ fn hash<H>(&self, state: &mut H)
1634
+ where
1635
+ H: Hasher,
1636
+ {
1637
+ self.attrs.hash(state);
1638
+ self.vis.hash(state);
1639
+ self.ident.hash(state);
1640
+ self.generics.hash(state);
1641
+ self.fields.hash(state);
1642
+ self.semi_token.hash(state);
1643
+ }
1644
+ }
1645
+ #[cfg(feature = "full")]
1646
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1647
+ impl Hash for crate::ItemTrait {
1648
+ fn hash<H>(&self, state: &mut H)
1649
+ where
1650
+ H: Hasher,
1651
+ {
1652
+ self.attrs.hash(state);
1653
+ self.vis.hash(state);
1654
+ self.modifiers.hash(state);
1655
+ self.unsafety.hash(state);
1656
+ self.ident.hash(state);
1657
+ self.generics.hash(state);
1658
+ self.colon_token.hash(state);
1659
+ self.supertraits.hash(state);
1660
+ self.items.hash(state);
1661
+ }
1662
+ }
1663
+ #[cfg(feature = "full")]
1664
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1665
+ impl Hash for crate::ItemTraitAlias {
1666
+ fn hash<H>(&self, state: &mut H)
1667
+ where
1668
+ H: Hasher,
1669
+ {
1670
+ self.attrs.hash(state);
1671
+ self.vis.hash(state);
1672
+ self.ident.hash(state);
1673
+ self.generics.hash(state);
1674
+ self.bounds.hash(state);
1675
+ }
1676
+ }
1677
+ #[cfg(feature = "full")]
1678
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1679
+ impl Hash for crate::ItemType {
1680
+ fn hash<H>(&self, state: &mut H)
1681
+ where
1682
+ H: Hasher,
1683
+ {
1684
+ self.attrs.hash(state);
1685
+ self.vis.hash(state);
1686
+ self.modifiers.hash(state);
1687
+ self.ident.hash(state);
1688
+ self.generics.hash(state);
1689
+ self.ty.hash(state);
1690
+ self.where_clause_placement.hash(state);
1691
+ }
1692
+ }
1693
+ #[cfg(feature = "full")]
1694
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1695
+ impl Hash for crate::ItemUnion {
1696
+ fn hash<H>(&self, state: &mut H)
1697
+ where
1698
+ H: Hasher,
1699
+ {
1700
+ self.attrs.hash(state);
1701
+ self.vis.hash(state);
1702
+ self.ident.hash(state);
1703
+ self.generics.hash(state);
1704
+ self.fields.hash(state);
1705
+ }
1706
+ }
1707
+ #[cfg(feature = "full")]
1708
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1709
+ impl Hash for crate::ItemUse {
1710
+ fn hash<H>(&self, state: &mut H)
1711
+ where
1712
+ H: Hasher,
1713
+ {
1714
+ self.attrs.hash(state);
1715
+ self.vis.hash(state);
1716
+ self.leading_colon.hash(state);
1717
+ self.tree.hash(state);
1718
+ }
1719
+ }
1720
+ #[cfg(feature = "full")]
1721
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1722
+ impl Hash for crate::Label {
1723
+ fn hash<H>(&self, state: &mut H)
1724
+ where
1725
+ H: Hasher,
1726
+ {
1727
+ self.name.hash(state);
1728
+ }
1729
+ }
1730
+ #[cfg(any(feature = "derive", feature = "full"))]
1731
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1732
+ impl Hash for crate::LifetimeParam {
1733
+ fn hash<H>(&self, state: &mut H)
1734
+ where
1735
+ H: Hasher,
1736
+ {
1737
+ self.attrs.hash(state);
1738
+ self.lifetime.hash(state);
1739
+ self.colon_token.hash(state);
1740
+ self.bounds.hash(state);
1741
+ }
1742
+ }
1743
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1744
+ impl Hash for crate::Lit {
1745
+ fn hash<H>(&self, state: &mut H)
1746
+ where
1747
+ H: Hasher,
1748
+ {
1749
+ match self {
1750
+ crate::Lit::Str(v0) => {
1751
+ state.write_u8(0u8);
1752
+ v0.hash(state);
1753
+ }
1754
+ crate::Lit::ByteStr(v0) => {
1755
+ state.write_u8(1u8);
1756
+ v0.hash(state);
1757
+ }
1758
+ crate::Lit::CStr(v0) => {
1759
+ state.write_u8(2u8);
1760
+ v0.hash(state);
1761
+ }
1762
+ crate::Lit::Byte(v0) => {
1763
+ state.write_u8(3u8);
1764
+ v0.hash(state);
1765
+ }
1766
+ crate::Lit::Char(v0) => {
1767
+ state.write_u8(4u8);
1768
+ v0.hash(state);
1769
+ }
1770
+ crate::Lit::Int(v0) => {
1771
+ state.write_u8(5u8);
1772
+ v0.hash(state);
1773
+ }
1774
+ crate::Lit::Float(v0) => {
1775
+ state.write_u8(6u8);
1776
+ v0.hash(state);
1777
+ }
1778
+ crate::Lit::Bool(v0) => {
1779
+ state.write_u8(7u8);
1780
+ v0.hash(state);
1781
+ }
1782
+ crate::Lit::Verbatim(v0) => {
1783
+ state.write_u8(8u8);
1784
+ v0.to_string().hash(state);
1785
+ }
1786
+ }
1787
+ }
1788
+ }
1789
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1790
+ impl Hash for crate::LitBool {
1791
+ fn hash<H>(&self, state: &mut H)
1792
+ where
1793
+ H: Hasher,
1794
+ {
1795
+ self.value.hash(state);
1796
+ }
1797
+ }
1798
+ #[cfg(feature = "full")]
1799
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1800
+ impl Hash for crate::Local {
1801
+ fn hash<H>(&self, state: &mut H)
1802
+ where
1803
+ H: Hasher,
1804
+ {
1805
+ self.attrs.hash(state);
1806
+ self.modifiers.hash(state);
1807
+ self.pat.hash(state);
1808
+ self.init.hash(state);
1809
+ }
1810
+ }
1811
+ #[cfg(feature = "full")]
1812
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1813
+ impl Hash for crate::LocalInit {
1814
+ fn hash<H>(&self, state: &mut H)
1815
+ where
1816
+ H: Hasher,
1817
+ {
1818
+ self.expr.hash(state);
1819
+ self.diverge.hash(state);
1820
+ }
1821
+ }
1822
+ #[cfg(feature = "full")]
1823
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1824
+ impl Hash for crate::LocalModifiers {
1825
+ fn hash<H>(&self, _state: &mut H)
1826
+ where
1827
+ H: Hasher,
1828
+ {}
1829
+ }
1830
+ #[cfg(any(feature = "derive", feature = "full"))]
1831
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1832
+ impl Hash for crate::Macro {
1833
+ fn hash<H>(&self, state: &mut H)
1834
+ where
1835
+ H: Hasher,
1836
+ {
1837
+ self.path.hash(state);
1838
+ self.delimiter.hash(state);
1839
+ TokenStreamHelper(&self.tokens).hash(state);
1840
+ }
1841
+ }
1842
+ #[cfg(any(feature = "derive", feature = "full"))]
1843
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1844
+ impl Hash for crate::MacroDelimiter {
1845
+ fn hash<H>(&self, state: &mut H)
1846
+ where
1847
+ H: Hasher,
1848
+ {
1849
+ match self {
1850
+ crate::MacroDelimiter::Paren(_) => {
1851
+ state.write_u8(0u8);
1852
+ }
1853
+ crate::MacroDelimiter::Brace(_) => {
1854
+ state.write_u8(1u8);
1855
+ }
1856
+ crate::MacroDelimiter::Bracket(_) => {
1857
+ state.write_u8(2u8);
1858
+ }
1859
+ }
1860
+ }
1861
+ }
1862
+ #[cfg(any(feature = "derive", feature = "full"))]
1863
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1864
+ impl Hash for crate::Meta {
1865
+ fn hash<H>(&self, state: &mut H)
1866
+ where
1867
+ H: Hasher,
1868
+ {
1869
+ match self {
1870
+ crate::Meta::Path(v0) => {
1871
+ state.write_u8(0u8);
1872
+ v0.hash(state);
1873
+ }
1874
+ crate::Meta::List(v0) => {
1875
+ state.write_u8(1u8);
1876
+ v0.hash(state);
1877
+ }
1878
+ crate::Meta::NameValue(v0) => {
1879
+ state.write_u8(2u8);
1880
+ v0.hash(state);
1881
+ }
1882
+ }
1883
+ }
1884
+ }
1885
+ #[cfg(any(feature = "derive", feature = "full"))]
1886
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1887
+ impl Hash for crate::MetaList {
1888
+ fn hash<H>(&self, state: &mut H)
1889
+ where
1890
+ H: Hasher,
1891
+ {
1892
+ self.path.hash(state);
1893
+ self.delimiter.hash(state);
1894
+ TokenStreamHelper(&self.tokens).hash(state);
1895
+ }
1896
+ }
1897
+ #[cfg(any(feature = "derive", feature = "full"))]
1898
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1899
+ impl Hash for crate::MetaNameValue {
1900
+ fn hash<H>(&self, state: &mut H)
1901
+ where
1902
+ H: Hasher,
1903
+ {
1904
+ self.path.hash(state);
1905
+ self.value.hash(state);
1906
+ }
1907
+ }
1908
+ #[cfg(any(feature = "derive", feature = "full"))]
1909
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1910
+ impl Hash for crate::NamedArg {
1911
+ fn hash<H>(&self, state: &mut H)
1912
+ where
1913
+ H: Hasher,
1914
+ {
1915
+ self.attrs.hash(state);
1916
+ self.name.hash(state);
1917
+ self.ty.hash(state);
1918
+ }
1919
+ }
1920
+ #[cfg(any(feature = "derive", feature = "full"))]
1921
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1922
+ impl Hash for crate::ParenthesizedGenericArguments {
1923
+ fn hash<H>(&self, state: &mut H)
1924
+ where
1925
+ H: Hasher,
1926
+ {
1927
+ self.inputs.hash(state);
1928
+ self.output.hash(state);
1929
+ }
1930
+ }
1931
+ #[cfg(feature = "full")]
1932
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
1933
+ impl Hash for crate::Pat {
1934
+ fn hash<H>(&self, state: &mut H)
1935
+ where
1936
+ H: Hasher,
1937
+ {
1938
+ match self {
1939
+ crate::Pat::Const(v0) => {
1940
+ state.write_u8(0u8);
1941
+ v0.hash(state);
1942
+ }
1943
+ crate::Pat::Guard(v0) => {
1944
+ state.write_u8(1u8);
1945
+ v0.hash(state);
1946
+ }
1947
+ crate::Pat::Ident(v0) => {
1948
+ state.write_u8(2u8);
1949
+ v0.hash(state);
1950
+ }
1951
+ crate::Pat::Lit(v0) => {
1952
+ state.write_u8(3u8);
1953
+ v0.hash(state);
1954
+ }
1955
+ crate::Pat::Macro(v0) => {
1956
+ state.write_u8(4u8);
1957
+ v0.hash(state);
1958
+ }
1959
+ crate::Pat::Or(v0) => {
1960
+ state.write_u8(5u8);
1961
+ v0.hash(state);
1962
+ }
1963
+ crate::Pat::Paren(v0) => {
1964
+ state.write_u8(6u8);
1965
+ v0.hash(state);
1966
+ }
1967
+ crate::Pat::Path(v0) => {
1968
+ state.write_u8(7u8);
1969
+ v0.hash(state);
1970
+ }
1971
+ crate::Pat::Range(v0) => {
1972
+ state.write_u8(8u8);
1973
+ v0.hash(state);
1974
+ }
1975
+ crate::Pat::Reference(v0) => {
1976
+ state.write_u8(9u8);
1977
+ v0.hash(state);
1978
+ }
1979
+ crate::Pat::Rest(v0) => {
1980
+ state.write_u8(10u8);
1981
+ v0.hash(state);
1982
+ }
1983
+ crate::Pat::Slice(v0) => {
1984
+ state.write_u8(11u8);
1985
+ v0.hash(state);
1986
+ }
1987
+ crate::Pat::Struct(v0) => {
1988
+ state.write_u8(12u8);
1989
+ v0.hash(state);
1990
+ }
1991
+ crate::Pat::Tuple(v0) => {
1992
+ state.write_u8(13u8);
1993
+ v0.hash(state);
1994
+ }
1995
+ crate::Pat::TupleStruct(v0) => {
1996
+ state.write_u8(14u8);
1997
+ v0.hash(state);
1998
+ }
1999
+ crate::Pat::Type(v0) => {
2000
+ state.write_u8(15u8);
2001
+ v0.hash(state);
2002
+ }
2003
+ crate::Pat::Verbatim(v0) => {
2004
+ state.write_u8(16u8);
2005
+ TokenStreamHelper(v0).hash(state);
2006
+ }
2007
+ crate::Pat::Wild(v0) => {
2008
+ state.write_u8(17u8);
2009
+ v0.hash(state);
2010
+ }
2011
+ }
2012
+ }
2013
+ }
2014
+ #[cfg(feature = "full")]
2015
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2016
+ impl Hash for crate::PatGuard {
2017
+ fn hash<H>(&self, state: &mut H)
2018
+ where
2019
+ H: Hasher,
2020
+ {
2021
+ self.attrs.hash(state);
2022
+ self.pat.hash(state);
2023
+ self.guard.hash(state);
2024
+ }
2025
+ }
2026
+ #[cfg(feature = "full")]
2027
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2028
+ impl Hash for crate::PatIdent {
2029
+ fn hash<H>(&self, state: &mut H)
2030
+ where
2031
+ H: Hasher,
2032
+ {
2033
+ self.attrs.hash(state);
2034
+ self.by_ref.hash(state);
2035
+ self.mutability.hash(state);
2036
+ self.ident.hash(state);
2037
+ self.subpat.hash(state);
2038
+ }
2039
+ }
2040
+ #[cfg(feature = "full")]
2041
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2042
+ impl Hash for crate::PatOr {
2043
+ fn hash<H>(&self, state: &mut H)
2044
+ where
2045
+ H: Hasher,
2046
+ {
2047
+ self.attrs.hash(state);
2048
+ self.leading_vert.hash(state);
2049
+ self.cases.hash(state);
2050
+ }
2051
+ }
2052
+ #[cfg(feature = "full")]
2053
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2054
+ impl Hash for crate::PatParen {
2055
+ fn hash<H>(&self, state: &mut H)
2056
+ where
2057
+ H: Hasher,
2058
+ {
2059
+ self.attrs.hash(state);
2060
+ self.pat.hash(state);
2061
+ }
2062
+ }
2063
+ #[cfg(feature = "full")]
2064
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2065
+ impl Hash for crate::PatReference {
2066
+ fn hash<H>(&self, state: &mut H)
2067
+ where
2068
+ H: Hasher,
2069
+ {
2070
+ self.attrs.hash(state);
2071
+ self.mutability.hash(state);
2072
+ self.pat.hash(state);
2073
+ }
2074
+ }
2075
+ #[cfg(feature = "full")]
2076
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2077
+ impl Hash for crate::PatRest {
2078
+ fn hash<H>(&self, state: &mut H)
2079
+ where
2080
+ H: Hasher,
2081
+ {
2082
+ self.attrs.hash(state);
2083
+ }
2084
+ }
2085
+ #[cfg(feature = "full")]
2086
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2087
+ impl Hash for crate::PatSlice {
2088
+ fn hash<H>(&self, state: &mut H)
2089
+ where
2090
+ H: Hasher,
2091
+ {
2092
+ self.attrs.hash(state);
2093
+ self.elems.hash(state);
2094
+ }
2095
+ }
2096
+ #[cfg(feature = "full")]
2097
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2098
+ impl Hash for crate::PatStruct {
2099
+ fn hash<H>(&self, state: &mut H)
2100
+ where
2101
+ H: Hasher,
2102
+ {
2103
+ self.attrs.hash(state);
2104
+ self.qself.hash(state);
2105
+ self.path.hash(state);
2106
+ self.fields.hash(state);
2107
+ self.rest.hash(state);
2108
+ }
2109
+ }
2110
+ #[cfg(feature = "full")]
2111
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2112
+ impl Hash for crate::PatTuple {
2113
+ fn hash<H>(&self, state: &mut H)
2114
+ where
2115
+ H: Hasher,
2116
+ {
2117
+ self.attrs.hash(state);
2118
+ self.elems.hash(state);
2119
+ }
2120
+ }
2121
+ #[cfg(feature = "full")]
2122
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2123
+ impl Hash for crate::PatTupleStruct {
2124
+ fn hash<H>(&self, state: &mut H)
2125
+ where
2126
+ H: Hasher,
2127
+ {
2128
+ self.attrs.hash(state);
2129
+ self.qself.hash(state);
2130
+ self.path.hash(state);
2131
+ self.elems.hash(state);
2132
+ }
2133
+ }
2134
+ #[cfg(feature = "full")]
2135
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2136
+ impl Hash for crate::PatType {
2137
+ fn hash<H>(&self, state: &mut H)
2138
+ where
2139
+ H: Hasher,
2140
+ {
2141
+ self.attrs.hash(state);
2142
+ self.pat.hash(state);
2143
+ self.ty.hash(state);
2144
+ }
2145
+ }
2146
+ #[cfg(feature = "full")]
2147
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2148
+ impl Hash for crate::PatWild {
2149
+ fn hash<H>(&self, state: &mut H)
2150
+ where
2151
+ H: Hasher,
2152
+ {
2153
+ self.attrs.hash(state);
2154
+ }
2155
+ }
2156
+ #[cfg(any(feature = "derive", feature = "full"))]
2157
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2158
+ impl Hash for crate::Path {
2159
+ fn hash<H>(&self, state: &mut H)
2160
+ where
2161
+ H: Hasher,
2162
+ {
2163
+ self.leading_colon.hash(state);
2164
+ self.segments.hash(state);
2165
+ }
2166
+ }
2167
+ #[cfg(any(feature = "derive", feature = "full"))]
2168
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2169
+ impl Hash for crate::PathArguments {
2170
+ fn hash<H>(&self, state: &mut H)
2171
+ where
2172
+ H: Hasher,
2173
+ {
2174
+ match self {
2175
+ crate::PathArguments::None => {
2176
+ state.write_u8(0u8);
2177
+ }
2178
+ crate::PathArguments::AngleBracketed(v0) => {
2179
+ state.write_u8(1u8);
2180
+ v0.hash(state);
2181
+ }
2182
+ crate::PathArguments::Parenthesized(v0) => {
2183
+ state.write_u8(2u8);
2184
+ v0.hash(state);
2185
+ }
2186
+ }
2187
+ }
2188
+ }
2189
+ #[cfg(any(feature = "derive", feature = "full"))]
2190
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2191
+ impl Hash for crate::PathSegment {
2192
+ fn hash<H>(&self, state: &mut H)
2193
+ where
2194
+ H: Hasher,
2195
+ {
2196
+ self.ident.hash(state);
2197
+ self.arguments.hash(state);
2198
+ }
2199
+ }
2200
+ #[cfg(any(feature = "derive", feature = "full"))]
2201
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2202
+ impl Hash for crate::PointerMutability {
2203
+ fn hash<H>(&self, state: &mut H)
2204
+ where
2205
+ H: Hasher,
2206
+ {
2207
+ match self {
2208
+ crate::PointerMutability::Const(_) => {
2209
+ state.write_u8(0u8);
2210
+ }
2211
+ crate::PointerMutability::Mut(_) => {
2212
+ state.write_u8(1u8);
2213
+ }
2214
+ }
2215
+ }
2216
+ }
2217
+ #[cfg(feature = "full")]
2218
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2219
+ impl Hash for crate::PreciseCapture {
2220
+ fn hash<H>(&self, state: &mut H)
2221
+ where
2222
+ H: Hasher,
2223
+ {
2224
+ self.params.hash(state);
2225
+ }
2226
+ }
2227
+ #[cfg(any(feature = "derive", feature = "full"))]
2228
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2229
+ impl Hash for crate::PredicateLifetime {
2230
+ fn hash<H>(&self, state: &mut H)
2231
+ where
2232
+ H: Hasher,
2233
+ {
2234
+ self.attrs.hash(state);
2235
+ self.lifetime.hash(state);
2236
+ self.bounds.hash(state);
2237
+ }
2238
+ }
2239
+ #[cfg(any(feature = "derive", feature = "full"))]
2240
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2241
+ impl Hash for crate::PredicateType {
2242
+ fn hash<H>(&self, state: &mut H)
2243
+ where
2244
+ H: Hasher,
2245
+ {
2246
+ self.attrs.hash(state);
2247
+ self.lifetimes.hash(state);
2248
+ self.bounded_ty.hash(state);
2249
+ self.bounds.hash(state);
2250
+ }
2251
+ }
2252
+ #[cfg(any(feature = "derive", feature = "full"))]
2253
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2254
+ impl Hash for crate::QSelf {
2255
+ fn hash<H>(&self, state: &mut H)
2256
+ where
2257
+ H: Hasher,
2258
+ {
2259
+ self.ty.hash(state);
2260
+ self.position.hash(state);
2261
+ self.as_token.hash(state);
2262
+ }
2263
+ }
2264
+ #[cfg(feature = "full")]
2265
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2266
+ impl Hash for crate::RangeLimits {
2267
+ fn hash<H>(&self, state: &mut H)
2268
+ where
2269
+ H: Hasher,
2270
+ {
2271
+ match self {
2272
+ crate::RangeLimits::HalfOpen(_) => {
2273
+ state.write_u8(0u8);
2274
+ }
2275
+ crate::RangeLimits::Closed(_) => {
2276
+ state.write_u8(1u8);
2277
+ }
2278
+ }
2279
+ }
2280
+ }
2281
+ #[cfg(feature = "full")]
2282
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2283
+ impl Hash for crate::Receiver {
2284
+ fn hash<H>(&self, state: &mut H)
2285
+ where
2286
+ H: Hasher,
2287
+ {
2288
+ self.attrs.hash(state);
2289
+ self.mutability.hash(state);
2290
+ self.kind.hash(state);
2291
+ }
2292
+ }
2293
+ #[cfg(feature = "full")]
2294
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2295
+ impl Hash for crate::ReceiverKind {
2296
+ fn hash<H>(&self, state: &mut H)
2297
+ where
2298
+ H: Hasher,
2299
+ {
2300
+ match self {
2301
+ crate::ReceiverKind::Value => {
2302
+ state.write_u8(0u8);
2303
+ }
2304
+ crate::ReceiverKind::Reference(_, v1, v2) => {
2305
+ state.write_u8(1u8);
2306
+ v1.hash(state);
2307
+ v2.hash(state);
2308
+ }
2309
+ crate::ReceiverKind::Typed(_, v1) => {
2310
+ state.write_u8(2u8);
2311
+ v1.hash(state);
2312
+ }
2313
+ }
2314
+ }
2315
+ }
2316
+ #[cfg(any(feature = "derive", feature = "full"))]
2317
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2318
+ impl Hash for crate::ReturnType {
2319
+ fn hash<H>(&self, state: &mut H)
2320
+ where
2321
+ H: Hasher,
2322
+ {
2323
+ match self {
2324
+ crate::ReturnType::Default => {
2325
+ state.write_u8(0u8);
2326
+ }
2327
+ crate::ReturnType::Type(_, v1) => {
2328
+ state.write_u8(1u8);
2329
+ v1.hash(state);
2330
+ }
2331
+ }
2332
+ }
2333
+ }
2334
+ #[cfg(feature = "full")]
2335
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2336
+ impl Hash for crate::Safety {
2337
+ fn hash<H>(&self, state: &mut H)
2338
+ where
2339
+ H: Hasher,
2340
+ {
2341
+ match self {
2342
+ crate::Safety::Safe(_) => {
2343
+ state.write_u8(0u8);
2344
+ }
2345
+ crate::Safety::Unsafe(_) => {
2346
+ state.write_u8(1u8);
2347
+ }
2348
+ crate::Safety::Default => {
2349
+ state.write_u8(2u8);
2350
+ }
2351
+ }
2352
+ }
2353
+ }
2354
+ #[cfg(feature = "full")]
2355
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2356
+ impl Hash for crate::Signature {
2357
+ fn hash<H>(&self, state: &mut H)
2358
+ where
2359
+ H: Hasher,
2360
+ {
2361
+ self.constness.hash(state);
2362
+ self.asyncness.hash(state);
2363
+ self.safety.hash(state);
2364
+ self.abi.hash(state);
2365
+ self.ident.hash(state);
2366
+ self.generics.hash(state);
2367
+ self.inputs.hash(state);
2368
+ self.variadic.hash(state);
2369
+ self.output.hash(state);
2370
+ }
2371
+ }
2372
+ #[cfg(feature = "full")]
2373
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2374
+ impl Hash for crate::StaticMutability {
2375
+ fn hash<H>(&self, state: &mut H)
2376
+ where
2377
+ H: Hasher,
2378
+ {
2379
+ match self {
2380
+ crate::StaticMutability::Mut(_) => {
2381
+ state.write_u8(0u8);
2382
+ }
2383
+ crate::StaticMutability::None => {
2384
+ state.write_u8(1u8);
2385
+ }
2386
+ }
2387
+ }
2388
+ }
2389
+ #[cfg(feature = "full")]
2390
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2391
+ impl Hash for crate::Stmt {
2392
+ fn hash<H>(&self, state: &mut H)
2393
+ where
2394
+ H: Hasher,
2395
+ {
2396
+ match self {
2397
+ crate::Stmt::Local(v0) => {
2398
+ state.write_u8(0u8);
2399
+ v0.hash(state);
2400
+ }
2401
+ crate::Stmt::Item(v0) => {
2402
+ state.write_u8(1u8);
2403
+ v0.hash(state);
2404
+ }
2405
+ crate::Stmt::Expr(v0, v1) => {
2406
+ state.write_u8(2u8);
2407
+ v0.hash(state);
2408
+ v1.hash(state);
2409
+ }
2410
+ crate::Stmt::Macro(v0) => {
2411
+ state.write_u8(3u8);
2412
+ v0.hash(state);
2413
+ }
2414
+ }
2415
+ }
2416
+ }
2417
+ #[cfg(feature = "full")]
2418
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2419
+ impl Hash for crate::StmtMacro {
2420
+ fn hash<H>(&self, state: &mut H)
2421
+ where
2422
+ H: Hasher,
2423
+ {
2424
+ self.attrs.hash(state);
2425
+ self.mac.hash(state);
2426
+ self.semi_token.hash(state);
2427
+ }
2428
+ }
2429
+ #[cfg(any(feature = "derive", feature = "full"))]
2430
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2431
+ impl Hash for crate::TraitBound {
2432
+ fn hash<H>(&self, state: &mut H)
2433
+ where
2434
+ H: Hasher,
2435
+ {
2436
+ self.paren_token.hash(state);
2437
+ self.lifetimes.hash(state);
2438
+ self.modifiers.hash(state);
2439
+ self.maybe.hash(state);
2440
+ self.path.hash(state);
2441
+ }
2442
+ }
2443
+ #[cfg(any(feature = "derive", feature = "full"))]
2444
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2445
+ impl Hash for crate::TraitBoundModifiers {
2446
+ fn hash<H>(&self, _state: &mut H)
2447
+ where
2448
+ H: Hasher,
2449
+ {}
2450
+ }
2451
+ #[cfg(feature = "full")]
2452
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2453
+ impl Hash for crate::TraitItem {
2454
+ fn hash<H>(&self, state: &mut H)
2455
+ where
2456
+ H: Hasher,
2457
+ {
2458
+ match self {
2459
+ crate::TraitItem::Const(v0) => {
2460
+ state.write_u8(0u8);
2461
+ v0.hash(state);
2462
+ }
2463
+ crate::TraitItem::Fn(v0) => {
2464
+ state.write_u8(1u8);
2465
+ v0.hash(state);
2466
+ }
2467
+ crate::TraitItem::Type(v0) => {
2468
+ state.write_u8(2u8);
2469
+ v0.hash(state);
2470
+ }
2471
+ crate::TraitItem::Macro(v0) => {
2472
+ state.write_u8(3u8);
2473
+ v0.hash(state);
2474
+ }
2475
+ crate::TraitItem::Verbatim(v0) => {
2476
+ state.write_u8(4u8);
2477
+ TokenStreamHelper(v0).hash(state);
2478
+ }
2479
+ }
2480
+ }
2481
+ }
2482
+ #[cfg(feature = "full")]
2483
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2484
+ impl Hash for crate::TraitItemConst {
2485
+ fn hash<H>(&self, state: &mut H)
2486
+ where
2487
+ H: Hasher,
2488
+ {
2489
+ self.attrs.hash(state);
2490
+ self.modifiers.hash(state);
2491
+ self.ident.hash(state);
2492
+ self.generics.hash(state);
2493
+ self.ty.hash(state);
2494
+ self.default.hash(state);
2495
+ }
2496
+ }
2497
+ #[cfg(feature = "full")]
2498
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2499
+ impl Hash for crate::TraitItemFn {
2500
+ fn hash<H>(&self, state: &mut H)
2501
+ where
2502
+ H: Hasher,
2503
+ {
2504
+ self.attrs.hash(state);
2505
+ self.modifiers.hash(state);
2506
+ self.sig.hash(state);
2507
+ self.default.hash(state);
2508
+ self.semi_token.hash(state);
2509
+ }
2510
+ }
2511
+ #[cfg(feature = "full")]
2512
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2513
+ impl Hash for crate::TraitItemMacro {
2514
+ fn hash<H>(&self, state: &mut H)
2515
+ where
2516
+ H: Hasher,
2517
+ {
2518
+ self.attrs.hash(state);
2519
+ self.mac.hash(state);
2520
+ self.semi_token.hash(state);
2521
+ }
2522
+ }
2523
+ #[cfg(feature = "full")]
2524
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2525
+ impl Hash for crate::TraitItemType {
2526
+ fn hash<H>(&self, state: &mut H)
2527
+ where
2528
+ H: Hasher,
2529
+ {
2530
+ self.attrs.hash(state);
2531
+ self.modifiers.hash(state);
2532
+ self.ident.hash(state);
2533
+ self.generics.hash(state);
2534
+ self.colon_token.hash(state);
2535
+ self.bounds.hash(state);
2536
+ self.default.hash(state);
2537
+ }
2538
+ }
2539
+ #[cfg(feature = "full")]
2540
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2541
+ impl Hash for crate::TraitModifiers {
2542
+ fn hash<H>(&self, state: &mut H)
2543
+ where
2544
+ H: Hasher,
2545
+ {
2546
+ self.auto_token.hash(state);
2547
+ }
2548
+ }
2549
+ #[cfg(any(feature = "derive", feature = "full"))]
2550
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2551
+ impl Hash for crate::Type {
2552
+ fn hash<H>(&self, state: &mut H)
2553
+ where
2554
+ H: Hasher,
2555
+ {
2556
+ match self {
2557
+ crate::Type::Array(v0) => {
2558
+ state.write_u8(0u8);
2559
+ v0.hash(state);
2560
+ }
2561
+ crate::Type::FnPtr(v0) => {
2562
+ state.write_u8(1u8);
2563
+ v0.hash(state);
2564
+ }
2565
+ crate::Type::Group(v0) => {
2566
+ state.write_u8(2u8);
2567
+ v0.hash(state);
2568
+ }
2569
+ crate::Type::ImplTrait(v0) => {
2570
+ state.write_u8(3u8);
2571
+ v0.hash(state);
2572
+ }
2573
+ crate::Type::Infer(v0) => {
2574
+ state.write_u8(4u8);
2575
+ v0.hash(state);
2576
+ }
2577
+ crate::Type::Macro(v0) => {
2578
+ state.write_u8(5u8);
2579
+ v0.hash(state);
2580
+ }
2581
+ crate::Type::Never(v0) => {
2582
+ state.write_u8(6u8);
2583
+ v0.hash(state);
2584
+ }
2585
+ crate::Type::Paren(v0) => {
2586
+ state.write_u8(7u8);
2587
+ v0.hash(state);
2588
+ }
2589
+ crate::Type::Path(v0) => {
2590
+ state.write_u8(8u8);
2591
+ v0.hash(state);
2592
+ }
2593
+ crate::Type::Ptr(v0) => {
2594
+ state.write_u8(9u8);
2595
+ v0.hash(state);
2596
+ }
2597
+ crate::Type::Reference(v0) => {
2598
+ state.write_u8(10u8);
2599
+ v0.hash(state);
2600
+ }
2601
+ crate::Type::Slice(v0) => {
2602
+ state.write_u8(11u8);
2603
+ v0.hash(state);
2604
+ }
2605
+ crate::Type::TraitObject(v0) => {
2606
+ state.write_u8(12u8);
2607
+ v0.hash(state);
2608
+ }
2609
+ crate::Type::Tuple(v0) => {
2610
+ state.write_u8(13u8);
2611
+ v0.hash(state);
2612
+ }
2613
+ crate::Type::Verbatim(v0) => {
2614
+ state.write_u8(14u8);
2615
+ TokenStreamHelper(v0).hash(state);
2616
+ }
2617
+ }
2618
+ }
2619
+ }
2620
+ #[cfg(any(feature = "derive", feature = "full"))]
2621
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2622
+ impl Hash for crate::TypeArray {
2623
+ fn hash<H>(&self, state: &mut H)
2624
+ where
2625
+ H: Hasher,
2626
+ {
2627
+ self.attrs.hash(state);
2628
+ self.elem.hash(state);
2629
+ self.len.hash(state);
2630
+ }
2631
+ }
2632
+ #[cfg(any(feature = "derive", feature = "full"))]
2633
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2634
+ impl Hash for crate::TypeFnPtr {
2635
+ fn hash<H>(&self, state: &mut H)
2636
+ where
2637
+ H: Hasher,
2638
+ {
2639
+ self.attrs.hash(state);
2640
+ self.lifetimes.hash(state);
2641
+ self.unsafety.hash(state);
2642
+ self.abi.hash(state);
2643
+ self.inputs.hash(state);
2644
+ self.variadic.hash(state);
2645
+ self.output.hash(state);
2646
+ }
2647
+ }
2648
+ #[cfg(any(feature = "derive", feature = "full"))]
2649
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2650
+ impl Hash for crate::TypeGroup {
2651
+ fn hash<H>(&self, state: &mut H)
2652
+ where
2653
+ H: Hasher,
2654
+ {
2655
+ self.attrs.hash(state);
2656
+ self.elem.hash(state);
2657
+ }
2658
+ }
2659
+ #[cfg(any(feature = "derive", feature = "full"))]
2660
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2661
+ impl Hash for crate::TypeImplTrait {
2662
+ fn hash<H>(&self, state: &mut H)
2663
+ where
2664
+ H: Hasher,
2665
+ {
2666
+ self.attrs.hash(state);
2667
+ self.bounds.hash(state);
2668
+ }
2669
+ }
2670
+ #[cfg(any(feature = "derive", feature = "full"))]
2671
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2672
+ impl Hash for crate::TypeInfer {
2673
+ fn hash<H>(&self, state: &mut H)
2674
+ where
2675
+ H: Hasher,
2676
+ {
2677
+ self.attrs.hash(state);
2678
+ }
2679
+ }
2680
+ #[cfg(any(feature = "derive", feature = "full"))]
2681
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2682
+ impl Hash for crate::TypeMacro {
2683
+ fn hash<H>(&self, state: &mut H)
2684
+ where
2685
+ H: Hasher,
2686
+ {
2687
+ self.attrs.hash(state);
2688
+ self.mac.hash(state);
2689
+ }
2690
+ }
2691
+ #[cfg(feature = "full")]
2692
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2693
+ impl Hash for crate::TypeModifiers {
2694
+ fn hash<H>(&self, state: &mut H)
2695
+ where
2696
+ H: Hasher,
2697
+ {
2698
+ self.defaultness.hash(state);
2699
+ }
2700
+ }
2701
+ #[cfg(any(feature = "derive", feature = "full"))]
2702
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2703
+ impl Hash for crate::TypeNever {
2704
+ fn hash<H>(&self, state: &mut H)
2705
+ where
2706
+ H: Hasher,
2707
+ {
2708
+ self.attrs.hash(state);
2709
+ }
2710
+ }
2711
+ #[cfg(any(feature = "derive", feature = "full"))]
2712
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2713
+ impl Hash for crate::TypeParam {
2714
+ fn hash<H>(&self, state: &mut H)
2715
+ where
2716
+ H: Hasher,
2717
+ {
2718
+ self.attrs.hash(state);
2719
+ self.ident.hash(state);
2720
+ self.colon_token.hash(state);
2721
+ self.bounds.hash(state);
2722
+ self.default.hash(state);
2723
+ }
2724
+ }
2725
+ #[cfg(any(feature = "derive", feature = "full"))]
2726
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2727
+ impl Hash for crate::TypeParamBound {
2728
+ fn hash<H>(&self, state: &mut H)
2729
+ where
2730
+ H: Hasher,
2731
+ {
2732
+ match self {
2733
+ crate::TypeParamBound::Trait(v0) => {
2734
+ state.write_u8(0u8);
2735
+ v0.hash(state);
2736
+ }
2737
+ crate::TypeParamBound::Lifetime(v0) => {
2738
+ state.write_u8(1u8);
2739
+ v0.hash(state);
2740
+ }
2741
+ #[cfg(feature = "full")]
2742
+ crate::TypeParamBound::PreciseCapture(v0) => {
2743
+ state.write_u8(2u8);
2744
+ v0.hash(state);
2745
+ }
2746
+ crate::TypeParamBound::Verbatim(v0) => {
2747
+ state.write_u8(3u8);
2748
+ TokenStreamHelper(v0).hash(state);
2749
+ }
2750
+ #[cfg(not(feature = "full"))]
2751
+ _ => unreachable!(),
2752
+ }
2753
+ }
2754
+ }
2755
+ #[cfg(any(feature = "derive", feature = "full"))]
2756
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2757
+ impl Hash for crate::TypeParen {
2758
+ fn hash<H>(&self, state: &mut H)
2759
+ where
2760
+ H: Hasher,
2761
+ {
2762
+ self.attrs.hash(state);
2763
+ self.elem.hash(state);
2764
+ }
2765
+ }
2766
+ #[cfg(any(feature = "derive", feature = "full"))]
2767
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2768
+ impl Hash for crate::TypePath {
2769
+ fn hash<H>(&self, state: &mut H)
2770
+ where
2771
+ H: Hasher,
2772
+ {
2773
+ self.attrs.hash(state);
2774
+ self.qself.hash(state);
2775
+ self.path.hash(state);
2776
+ }
2777
+ }
2778
+ #[cfg(any(feature = "derive", feature = "full"))]
2779
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2780
+ impl Hash for crate::TypePtr {
2781
+ fn hash<H>(&self, state: &mut H)
2782
+ where
2783
+ H: Hasher,
2784
+ {
2785
+ self.attrs.hash(state);
2786
+ self.mutability.hash(state);
2787
+ self.elem.hash(state);
2788
+ }
2789
+ }
2790
+ #[cfg(any(feature = "derive", feature = "full"))]
2791
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2792
+ impl Hash for crate::TypeReference {
2793
+ fn hash<H>(&self, state: &mut H)
2794
+ where
2795
+ H: Hasher,
2796
+ {
2797
+ self.attrs.hash(state);
2798
+ self.lifetime.hash(state);
2799
+ self.mutability.hash(state);
2800
+ self.elem.hash(state);
2801
+ }
2802
+ }
2803
+ #[cfg(any(feature = "derive", feature = "full"))]
2804
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2805
+ impl Hash for crate::TypeSlice {
2806
+ fn hash<H>(&self, state: &mut H)
2807
+ where
2808
+ H: Hasher,
2809
+ {
2810
+ self.attrs.hash(state);
2811
+ self.elem.hash(state);
2812
+ }
2813
+ }
2814
+ #[cfg(any(feature = "derive", feature = "full"))]
2815
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2816
+ impl Hash for crate::TypeTraitObject {
2817
+ fn hash<H>(&self, state: &mut H)
2818
+ where
2819
+ H: Hasher,
2820
+ {
2821
+ self.attrs.hash(state);
2822
+ self.dyn_token.hash(state);
2823
+ self.bounds.hash(state);
2824
+ }
2825
+ }
2826
+ #[cfg(any(feature = "derive", feature = "full"))]
2827
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2828
+ impl Hash for crate::TypeTuple {
2829
+ fn hash<H>(&self, state: &mut H)
2830
+ where
2831
+ H: Hasher,
2832
+ {
2833
+ self.attrs.hash(state);
2834
+ self.elems.hash(state);
2835
+ }
2836
+ }
2837
+ #[cfg(any(feature = "derive", feature = "full"))]
2838
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2839
+ impl Hash for crate::UnOp {
2840
+ fn hash<H>(&self, state: &mut H)
2841
+ where
2842
+ H: Hasher,
2843
+ {
2844
+ match self {
2845
+ crate::UnOp::Deref(_) => {
2846
+ state.write_u8(0u8);
2847
+ }
2848
+ crate::UnOp::Not(_) => {
2849
+ state.write_u8(1u8);
2850
+ }
2851
+ crate::UnOp::Neg(_) => {
2852
+ state.write_u8(2u8);
2853
+ }
2854
+ }
2855
+ }
2856
+ }
2857
+ #[cfg(feature = "full")]
2858
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2859
+ impl Hash for crate::UseGlob {
2860
+ fn hash<H>(&self, _state: &mut H)
2861
+ where
2862
+ H: Hasher,
2863
+ {}
2864
+ }
2865
+ #[cfg(feature = "full")]
2866
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2867
+ impl Hash for crate::UseGroup {
2868
+ fn hash<H>(&self, state: &mut H)
2869
+ where
2870
+ H: Hasher,
2871
+ {
2872
+ self.items.hash(state);
2873
+ }
2874
+ }
2875
+ #[cfg(feature = "full")]
2876
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2877
+ impl Hash for crate::UseName {
2878
+ fn hash<H>(&self, state: &mut H)
2879
+ where
2880
+ H: Hasher,
2881
+ {
2882
+ self.ident.hash(state);
2883
+ }
2884
+ }
2885
+ #[cfg(feature = "full")]
2886
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2887
+ impl Hash for crate::UsePath {
2888
+ fn hash<H>(&self, state: &mut H)
2889
+ where
2890
+ H: Hasher,
2891
+ {
2892
+ self.ident.hash(state);
2893
+ self.tree.hash(state);
2894
+ }
2895
+ }
2896
+ #[cfg(feature = "full")]
2897
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2898
+ impl Hash for crate::UseRename {
2899
+ fn hash<H>(&self, state: &mut H)
2900
+ where
2901
+ H: Hasher,
2902
+ {
2903
+ self.ident.hash(state);
2904
+ self.rename.hash(state);
2905
+ }
2906
+ }
2907
+ #[cfg(feature = "full")]
2908
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2909
+ impl Hash for crate::UseTree {
2910
+ fn hash<H>(&self, state: &mut H)
2911
+ where
2912
+ H: Hasher,
2913
+ {
2914
+ match self {
2915
+ crate::UseTree::Path(v0) => {
2916
+ state.write_u8(0u8);
2917
+ v0.hash(state);
2918
+ }
2919
+ crate::UseTree::Name(v0) => {
2920
+ state.write_u8(1u8);
2921
+ v0.hash(state);
2922
+ }
2923
+ crate::UseTree::Rename(v0) => {
2924
+ state.write_u8(2u8);
2925
+ v0.hash(state);
2926
+ }
2927
+ crate::UseTree::Glob(v0) => {
2928
+ state.write_u8(3u8);
2929
+ v0.hash(state);
2930
+ }
2931
+ crate::UseTree::Group(v0) => {
2932
+ state.write_u8(4u8);
2933
+ v0.hash(state);
2934
+ }
2935
+ }
2936
+ }
2937
+ }
2938
+ #[cfg(feature = "full")]
2939
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2940
+ impl Hash for crate::Variadic {
2941
+ fn hash<H>(&self, state: &mut H)
2942
+ where
2943
+ H: Hasher,
2944
+ {
2945
+ self.attrs.hash(state);
2946
+ self.pat.hash(state);
2947
+ self.comma.hash(state);
2948
+ }
2949
+ }
2950
+ #[cfg(any(feature = "derive", feature = "full"))]
2951
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2952
+ impl Hash for crate::Variant {
2953
+ fn hash<H>(&self, state: &mut H)
2954
+ where
2955
+ H: Hasher,
2956
+ {
2957
+ self.attrs.hash(state);
2958
+ self.ident.hash(state);
2959
+ self.fields.hash(state);
2960
+ self.discriminant.hash(state);
2961
+ }
2962
+ }
2963
+ #[cfg(any(feature = "derive", feature = "full"))]
2964
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2965
+ impl Hash for crate::VisRestricted {
2966
+ fn hash<H>(&self, state: &mut H)
2967
+ where
2968
+ H: Hasher,
2969
+ {
2970
+ self.in_token.hash(state);
2971
+ self.path.hash(state);
2972
+ }
2973
+ }
2974
+ #[cfg(any(feature = "derive", feature = "full"))]
2975
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2976
+ impl Hash for crate::Visibility {
2977
+ fn hash<H>(&self, state: &mut H)
2978
+ where
2979
+ H: Hasher,
2980
+ {
2981
+ match self {
2982
+ crate::Visibility::Public(_) => {
2983
+ state.write_u8(0u8);
2984
+ }
2985
+ crate::Visibility::Restricted(v0) => {
2986
+ state.write_u8(1u8);
2987
+ v0.hash(state);
2988
+ }
2989
+ crate::Visibility::Inherited => {
2990
+ state.write_u8(2u8);
2991
+ }
2992
+ }
2993
+ }
2994
+ }
2995
+ #[cfg(any(feature = "derive", feature = "full"))]
2996
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
2997
+ impl Hash for crate::WhereClause {
2998
+ fn hash<H>(&self, state: &mut H)
2999
+ where
3000
+ H: Hasher,
3001
+ {
3002
+ self.predicates.hash(state);
3003
+ }
3004
+ }
3005
+ #[cfg(feature = "full")]
3006
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
3007
+ impl Hash for crate::WhereClausePlacement {
3008
+ fn hash<H>(&self, state: &mut H)
3009
+ where
3010
+ H: Hasher,
3011
+ {
3012
+ match self {
3013
+ crate::WhereClausePlacement::Early => {
3014
+ state.write_u8(0u8);
3015
+ }
3016
+ crate::WhereClausePlacement::Late => {
3017
+ state.write_u8(1u8);
3018
+ }
3019
+ }
3020
+ }
3021
+ }
3022
+ #[cfg(any(feature = "derive", feature = "full"))]
3023
+ #[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
3024
+ impl Hash for crate::WherePredicate {
3025
+ fn hash<H>(&self, state: &mut H)
3026
+ where
3027
+ H: Hasher,
3028
+ {
3029
+ match self {
3030
+ crate::WherePredicate::Lifetime(v0) => {
3031
+ state.write_u8(0u8);
3032
+ v0.hash(state);
3033
+ }
3034
+ crate::WherePredicate::Type(v0) => {
3035
+ state.write_u8(1u8);
3036
+ v0.hash(state);
3037
+ }
3038
+ }
3039
+ }
3040
+ }