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,4037 @@
1
+ // This file is @generated by syn-internal-codegen.
2
+ // It is not intended for manual editing.
3
+
4
+ #![allow(unused_variables)]
5
+ #![allow(clippy::needless_pass_by_ref_mut)]
6
+ #[cfg(any(feature = "full", feature = "derive"))]
7
+ use crate::punctuated::Punctuated;
8
+ #[cfg(feature = "full")]
9
+ macro_rules! full {
10
+ ($e:expr) => {
11
+ $e
12
+ };
13
+ }
14
+ #[cfg(all(feature = "derive", not(feature = "full")))]
15
+ macro_rules! full {
16
+ ($e:expr) => {
17
+ unreachable!()
18
+ };
19
+ }
20
+ macro_rules! skip {
21
+ ($($tt:tt)*) => {};
22
+ }
23
+ /// Syntax tree traversal to walk a shared borrow of a syntax tree.
24
+ ///
25
+ /// See the [module documentation] for details.
26
+ ///
27
+ /// [module documentation]: self
28
+ pub trait Visit<'ast> {
29
+ #[cfg(any(feature = "derive", feature = "full"))]
30
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
31
+ fn visit_abi(&mut self, i: &'ast crate::Abi) {
32
+ visit_abi(self, i);
33
+ }
34
+ #[cfg(any(feature = "derive", feature = "full"))]
35
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
36
+ fn visit_angle_bracketed_generic_arguments(
37
+ &mut self,
38
+ i: &'ast crate::AngleBracketedGenericArguments,
39
+ ) {
40
+ visit_angle_bracketed_generic_arguments(self, i);
41
+ }
42
+ #[cfg(feature = "full")]
43
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
44
+ fn visit_arm(&mut self, i: &'ast crate::Arm) {
45
+ visit_arm(self, i);
46
+ }
47
+ #[cfg(any(feature = "derive", feature = "full"))]
48
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
49
+ fn visit_assoc_const(&mut self, i: &'ast crate::AssocConst) {
50
+ visit_assoc_const(self, i);
51
+ }
52
+ #[cfg(any(feature = "derive", feature = "full"))]
53
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
54
+ fn visit_assoc_type(&mut self, i: &'ast crate::AssocType) {
55
+ visit_assoc_type(self, i);
56
+ }
57
+ #[cfg(any(feature = "derive", feature = "full"))]
58
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
59
+ fn visit_attr_style(&mut self, i: &'ast crate::AttrStyle) {
60
+ visit_attr_style(self, i);
61
+ }
62
+ #[cfg(any(feature = "derive", feature = "full"))]
63
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
64
+ fn visit_attribute(&mut self, i: &'ast crate::Attribute) {
65
+ visit_attribute(self, i);
66
+ }
67
+ #[cfg(any(feature = "derive", feature = "full"))]
68
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
69
+ fn visit_bin_op(&mut self, i: &'ast crate::BinOp) {
70
+ visit_bin_op(self, i);
71
+ }
72
+ #[cfg(feature = "full")]
73
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
74
+ fn visit_block(&mut self, i: &'ast crate::Block) {
75
+ visit_block(self, i);
76
+ }
77
+ #[cfg(any(feature = "derive", feature = "full"))]
78
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
79
+ fn visit_bound_lifetimes(&mut self, i: &'ast crate::BoundLifetimes) {
80
+ visit_bound_lifetimes(self, i);
81
+ }
82
+ #[cfg(feature = "full")]
83
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
84
+ fn visit_captured_param(&mut self, i: &'ast crate::CapturedParam) {
85
+ visit_captured_param(self, i);
86
+ }
87
+ #[cfg(any(feature = "derive", feature = "full"))]
88
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
89
+ fn visit_const_param(&mut self, i: &'ast crate::ConstParam) {
90
+ visit_const_param(self, i);
91
+ }
92
+ #[cfg(any(feature = "derive", feature = "full"))]
93
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
94
+ fn visit_constraint(&mut self, i: &'ast crate::Constraint) {
95
+ visit_constraint(self, i);
96
+ }
97
+ #[cfg(feature = "derive")]
98
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
99
+ fn visit_data(&mut self, i: &'ast crate::Data) {
100
+ visit_data(self, i);
101
+ }
102
+ #[cfg(feature = "derive")]
103
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
104
+ fn visit_data_enum(&mut self, i: &'ast crate::DataEnum) {
105
+ visit_data_enum(self, i);
106
+ }
107
+ #[cfg(feature = "derive")]
108
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
109
+ fn visit_data_struct(&mut self, i: &'ast crate::DataStruct) {
110
+ visit_data_struct(self, i);
111
+ }
112
+ #[cfg(feature = "derive")]
113
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
114
+ fn visit_data_union(&mut self, i: &'ast crate::DataUnion) {
115
+ visit_data_union(self, i);
116
+ }
117
+ #[cfg(feature = "derive")]
118
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
119
+ fn visit_derive_input(&mut self, i: &'ast crate::DeriveInput) {
120
+ visit_derive_input(self, i);
121
+ }
122
+ #[cfg(any(feature = "derive", feature = "full"))]
123
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
124
+ fn visit_expr(&mut self, i: &'ast crate::Expr) {
125
+ visit_expr(self, i);
126
+ }
127
+ #[cfg(feature = "full")]
128
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
129
+ fn visit_expr_array(&mut self, i: &'ast crate::ExprArray) {
130
+ visit_expr_array(self, i);
131
+ }
132
+ #[cfg(feature = "full")]
133
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
134
+ fn visit_expr_assign(&mut self, i: &'ast crate::ExprAssign) {
135
+ visit_expr_assign(self, i);
136
+ }
137
+ #[cfg(feature = "full")]
138
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
139
+ fn visit_expr_async(&mut self, i: &'ast crate::ExprAsync) {
140
+ visit_expr_async(self, i);
141
+ }
142
+ #[cfg(feature = "full")]
143
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
144
+ fn visit_expr_await(&mut self, i: &'ast crate::ExprAwait) {
145
+ visit_expr_await(self, i);
146
+ }
147
+ #[cfg(any(feature = "derive", feature = "full"))]
148
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
149
+ fn visit_expr_binary(&mut self, i: &'ast crate::ExprBinary) {
150
+ visit_expr_binary(self, i);
151
+ }
152
+ #[cfg(feature = "full")]
153
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
154
+ fn visit_expr_block(&mut self, i: &'ast crate::ExprBlock) {
155
+ visit_expr_block(self, i);
156
+ }
157
+ #[cfg(feature = "full")]
158
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
159
+ fn visit_expr_break(&mut self, i: &'ast crate::ExprBreak) {
160
+ visit_expr_break(self, i);
161
+ }
162
+ #[cfg(any(feature = "derive", feature = "full"))]
163
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
164
+ fn visit_expr_call(&mut self, i: &'ast crate::ExprCall) {
165
+ visit_expr_call(self, i);
166
+ }
167
+ #[cfg(any(feature = "derive", feature = "full"))]
168
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
169
+ fn visit_expr_cast(&mut self, i: &'ast crate::ExprCast) {
170
+ visit_expr_cast(self, i);
171
+ }
172
+ #[cfg(feature = "full")]
173
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
174
+ fn visit_expr_closure(&mut self, i: &'ast crate::ExprClosure) {
175
+ visit_expr_closure(self, i);
176
+ }
177
+ #[cfg(feature = "full")]
178
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
179
+ fn visit_expr_const(&mut self, i: &'ast crate::ExprConst) {
180
+ visit_expr_const(self, i);
181
+ }
182
+ #[cfg(feature = "full")]
183
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
184
+ fn visit_expr_continue(&mut self, i: &'ast crate::ExprContinue) {
185
+ visit_expr_continue(self, i);
186
+ }
187
+ #[cfg(any(feature = "derive", feature = "full"))]
188
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
189
+ fn visit_expr_field(&mut self, i: &'ast crate::ExprField) {
190
+ visit_expr_field(self, i);
191
+ }
192
+ #[cfg(feature = "full")]
193
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
194
+ fn visit_expr_for_loop(&mut self, i: &'ast crate::ExprForLoop) {
195
+ visit_expr_for_loop(self, i);
196
+ }
197
+ #[cfg(any(feature = "derive", feature = "full"))]
198
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
199
+ fn visit_expr_group(&mut self, i: &'ast crate::ExprGroup) {
200
+ visit_expr_group(self, i);
201
+ }
202
+ #[cfg(feature = "full")]
203
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
204
+ fn visit_expr_if(&mut self, i: &'ast crate::ExprIf) {
205
+ visit_expr_if(self, i);
206
+ }
207
+ #[cfg(any(feature = "derive", feature = "full"))]
208
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
209
+ fn visit_expr_index(&mut self, i: &'ast crate::ExprIndex) {
210
+ visit_expr_index(self, i);
211
+ }
212
+ #[cfg(feature = "full")]
213
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
214
+ fn visit_expr_infer(&mut self, i: &'ast crate::ExprInfer) {
215
+ visit_expr_infer(self, i);
216
+ }
217
+ #[cfg(feature = "full")]
218
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
219
+ fn visit_expr_let(&mut self, i: &'ast crate::ExprLet) {
220
+ visit_expr_let(self, i);
221
+ }
222
+ #[cfg(any(feature = "derive", feature = "full"))]
223
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
224
+ fn visit_expr_lit(&mut self, i: &'ast crate::ExprLit) {
225
+ visit_expr_lit(self, i);
226
+ }
227
+ #[cfg(feature = "full")]
228
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
229
+ fn visit_expr_loop(&mut self, i: &'ast crate::ExprLoop) {
230
+ visit_expr_loop(self, i);
231
+ }
232
+ #[cfg(any(feature = "derive", feature = "full"))]
233
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
234
+ fn visit_expr_macro(&mut self, i: &'ast crate::ExprMacro) {
235
+ visit_expr_macro(self, i);
236
+ }
237
+ #[cfg(feature = "full")]
238
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
239
+ fn visit_expr_match(&mut self, i: &'ast crate::ExprMatch) {
240
+ visit_expr_match(self, i);
241
+ }
242
+ #[cfg(any(feature = "derive", feature = "full"))]
243
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
244
+ fn visit_expr_method_call(&mut self, i: &'ast crate::ExprMethodCall) {
245
+ visit_expr_method_call(self, i);
246
+ }
247
+ #[cfg(any(feature = "derive", feature = "full"))]
248
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
249
+ fn visit_expr_paren(&mut self, i: &'ast crate::ExprParen) {
250
+ visit_expr_paren(self, i);
251
+ }
252
+ #[cfg(any(feature = "derive", feature = "full"))]
253
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
254
+ fn visit_expr_path(&mut self, i: &'ast crate::ExprPath) {
255
+ visit_expr_path(self, i);
256
+ }
257
+ #[cfg(feature = "full")]
258
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
259
+ fn visit_expr_range(&mut self, i: &'ast crate::ExprRange) {
260
+ visit_expr_range(self, i);
261
+ }
262
+ #[cfg(feature = "full")]
263
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
264
+ fn visit_expr_raw_addr(&mut self, i: &'ast crate::ExprRawAddr) {
265
+ visit_expr_raw_addr(self, i);
266
+ }
267
+ #[cfg(any(feature = "derive", feature = "full"))]
268
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
269
+ fn visit_expr_reference(&mut self, i: &'ast crate::ExprReference) {
270
+ visit_expr_reference(self, i);
271
+ }
272
+ #[cfg(feature = "full")]
273
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
274
+ fn visit_expr_repeat(&mut self, i: &'ast crate::ExprRepeat) {
275
+ visit_expr_repeat(self, i);
276
+ }
277
+ #[cfg(feature = "full")]
278
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
279
+ fn visit_expr_return(&mut self, i: &'ast crate::ExprReturn) {
280
+ visit_expr_return(self, i);
281
+ }
282
+ #[cfg(any(feature = "derive", feature = "full"))]
283
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
284
+ fn visit_expr_struct(&mut self, i: &'ast crate::ExprStruct) {
285
+ visit_expr_struct(self, i);
286
+ }
287
+ #[cfg(feature = "full")]
288
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
289
+ fn visit_expr_try(&mut self, i: &'ast crate::ExprTry) {
290
+ visit_expr_try(self, i);
291
+ }
292
+ #[cfg(feature = "full")]
293
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
294
+ fn visit_expr_try_block(&mut self, i: &'ast crate::ExprTryBlock) {
295
+ visit_expr_try_block(self, i);
296
+ }
297
+ #[cfg(any(feature = "derive", feature = "full"))]
298
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
299
+ fn visit_expr_tuple(&mut self, i: &'ast crate::ExprTuple) {
300
+ visit_expr_tuple(self, i);
301
+ }
302
+ #[cfg(any(feature = "derive", feature = "full"))]
303
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
304
+ fn visit_expr_unary(&mut self, i: &'ast crate::ExprUnary) {
305
+ visit_expr_unary(self, i);
306
+ }
307
+ #[cfg(feature = "full")]
308
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
309
+ fn visit_expr_unsafe(&mut self, i: &'ast crate::ExprUnsafe) {
310
+ visit_expr_unsafe(self, i);
311
+ }
312
+ #[cfg(feature = "full")]
313
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
314
+ fn visit_expr_while(&mut self, i: &'ast crate::ExprWhile) {
315
+ visit_expr_while(self, i);
316
+ }
317
+ #[cfg(feature = "full")]
318
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
319
+ fn visit_expr_yield(&mut self, i: &'ast crate::ExprYield) {
320
+ visit_expr_yield(self, i);
321
+ }
322
+ #[cfg(any(feature = "derive", feature = "full"))]
323
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
324
+ fn visit_field(&mut self, i: &'ast crate::Field) {
325
+ visit_field(self, i);
326
+ }
327
+ #[cfg(feature = "full")]
328
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
329
+ fn visit_field_pat(&mut self, i: &'ast crate::FieldPat) {
330
+ visit_field_pat(self, i);
331
+ }
332
+ #[cfg(any(feature = "derive", feature = "full"))]
333
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
334
+ fn visit_field_value(&mut self, i: &'ast crate::FieldValue) {
335
+ visit_field_value(self, i);
336
+ }
337
+ #[cfg(any(feature = "derive", feature = "full"))]
338
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
339
+ fn visit_fields(&mut self, i: &'ast crate::Fields) {
340
+ visit_fields(self, i);
341
+ }
342
+ #[cfg(any(feature = "derive", feature = "full"))]
343
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
344
+ fn visit_fields_named(&mut self, i: &'ast crate::FieldsNamed) {
345
+ visit_fields_named(self, i);
346
+ }
347
+ #[cfg(any(feature = "derive", feature = "full"))]
348
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
349
+ fn visit_fields_unnamed(&mut self, i: &'ast crate::FieldsUnnamed) {
350
+ visit_fields_unnamed(self, i);
351
+ }
352
+ #[cfg(feature = "full")]
353
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
354
+ fn visit_file(&mut self, i: &'ast crate::File) {
355
+ visit_file(self, i);
356
+ }
357
+ #[cfg(feature = "full")]
358
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
359
+ fn visit_fn_arg(&mut self, i: &'ast crate::FnArg) {
360
+ visit_fn_arg(self, i);
361
+ }
362
+ #[cfg(any(feature = "derive", feature = "full"))]
363
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
364
+ fn visit_fn_ptr_variadic(&mut self, i: &'ast crate::FnPtrVariadic) {
365
+ visit_fn_ptr_variadic(self, i);
366
+ }
367
+ #[cfg(feature = "full")]
368
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
369
+ fn visit_foreign_item(&mut self, i: &'ast crate::ForeignItem) {
370
+ visit_foreign_item(self, i);
371
+ }
372
+ #[cfg(feature = "full")]
373
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
374
+ fn visit_foreign_item_fn(&mut self, i: &'ast crate::ForeignItemFn) {
375
+ visit_foreign_item_fn(self, i);
376
+ }
377
+ #[cfg(feature = "full")]
378
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
379
+ fn visit_foreign_item_macro(&mut self, i: &'ast crate::ForeignItemMacro) {
380
+ visit_foreign_item_macro(self, i);
381
+ }
382
+ #[cfg(feature = "full")]
383
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
384
+ fn visit_foreign_item_static(&mut self, i: &'ast crate::ForeignItemStatic) {
385
+ visit_foreign_item_static(self, i);
386
+ }
387
+ #[cfg(feature = "full")]
388
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
389
+ fn visit_foreign_item_type(&mut self, i: &'ast crate::ForeignItemType) {
390
+ visit_foreign_item_type(self, i);
391
+ }
392
+ #[cfg(feature = "full")]
393
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
394
+ fn visit_frontmatter(&mut self, i: &'ast crate::Frontmatter) {
395
+ visit_frontmatter(self, i);
396
+ }
397
+ #[cfg(any(feature = "derive", feature = "full"))]
398
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
399
+ fn visit_generic_argument(&mut self, i: &'ast crate::GenericArgument) {
400
+ visit_generic_argument(self, i);
401
+ }
402
+ #[cfg(any(feature = "derive", feature = "full"))]
403
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
404
+ fn visit_generic_param(&mut self, i: &'ast crate::GenericParam) {
405
+ visit_generic_param(self, i);
406
+ }
407
+ #[cfg(any(feature = "derive", feature = "full"))]
408
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
409
+ fn visit_generics(&mut self, i: &'ast crate::Generics) {
410
+ visit_generics(self, i);
411
+ }
412
+ fn visit_ident(&mut self, i: &'ast proc_macro2::Ident) {
413
+ visit_ident(self, i);
414
+ }
415
+ #[cfg(feature = "full")]
416
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
417
+ fn visit_impl_item(&mut self, i: &'ast crate::ImplItem) {
418
+ visit_impl_item(self, i);
419
+ }
420
+ #[cfg(feature = "full")]
421
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
422
+ fn visit_impl_item_const(&mut self, i: &'ast crate::ImplItemConst) {
423
+ visit_impl_item_const(self, i);
424
+ }
425
+ #[cfg(feature = "full")]
426
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
427
+ fn visit_impl_item_fn(&mut self, i: &'ast crate::ImplItemFn) {
428
+ visit_impl_item_fn(self, i);
429
+ }
430
+ #[cfg(feature = "full")]
431
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
432
+ fn visit_impl_item_macro(&mut self, i: &'ast crate::ImplItemMacro) {
433
+ visit_impl_item_macro(self, i);
434
+ }
435
+ #[cfg(feature = "full")]
436
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
437
+ fn visit_impl_item_type(&mut self, i: &'ast crate::ImplItemType) {
438
+ visit_impl_item_type(self, i);
439
+ }
440
+ #[cfg(any(feature = "derive", feature = "full"))]
441
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
442
+ fn visit_index(&mut self, i: &'ast crate::Index) {
443
+ visit_index(self, i);
444
+ }
445
+ #[cfg(feature = "full")]
446
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
447
+ fn visit_item(&mut self, i: &'ast crate::Item) {
448
+ visit_item(self, i);
449
+ }
450
+ #[cfg(feature = "full")]
451
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
452
+ fn visit_item_const(&mut self, i: &'ast crate::ItemConst) {
453
+ visit_item_const(self, i);
454
+ }
455
+ #[cfg(feature = "full")]
456
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
457
+ fn visit_item_enum(&mut self, i: &'ast crate::ItemEnum) {
458
+ visit_item_enum(self, i);
459
+ }
460
+ #[cfg(feature = "full")]
461
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
462
+ fn visit_item_extern_crate(&mut self, i: &'ast crate::ItemExternCrate) {
463
+ visit_item_extern_crate(self, i);
464
+ }
465
+ #[cfg(feature = "full")]
466
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
467
+ fn visit_item_fn(&mut self, i: &'ast crate::ItemFn) {
468
+ visit_item_fn(self, i);
469
+ }
470
+ #[cfg(feature = "full")]
471
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
472
+ fn visit_item_foreign_mod(&mut self, i: &'ast crate::ItemForeignMod) {
473
+ visit_item_foreign_mod(self, i);
474
+ }
475
+ #[cfg(feature = "full")]
476
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
477
+ fn visit_item_impl(&mut self, i: &'ast crate::ItemImpl) {
478
+ visit_item_impl(self, i);
479
+ }
480
+ #[cfg(feature = "full")]
481
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
482
+ fn visit_item_macro(&mut self, i: &'ast crate::ItemMacro) {
483
+ visit_item_macro(self, i);
484
+ }
485
+ #[cfg(feature = "full")]
486
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
487
+ fn visit_item_mod(&mut self, i: &'ast crate::ItemMod) {
488
+ visit_item_mod(self, i);
489
+ }
490
+ #[cfg(feature = "full")]
491
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
492
+ fn visit_item_static(&mut self, i: &'ast crate::ItemStatic) {
493
+ visit_item_static(self, i);
494
+ }
495
+ #[cfg(feature = "full")]
496
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
497
+ fn visit_item_struct(&mut self, i: &'ast crate::ItemStruct) {
498
+ visit_item_struct(self, i);
499
+ }
500
+ #[cfg(feature = "full")]
501
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
502
+ fn visit_item_trait(&mut self, i: &'ast crate::ItemTrait) {
503
+ visit_item_trait(self, i);
504
+ }
505
+ #[cfg(feature = "full")]
506
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
507
+ fn visit_item_trait_alias(&mut self, i: &'ast crate::ItemTraitAlias) {
508
+ visit_item_trait_alias(self, i);
509
+ }
510
+ #[cfg(feature = "full")]
511
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
512
+ fn visit_item_type(&mut self, i: &'ast crate::ItemType) {
513
+ visit_item_type(self, i);
514
+ }
515
+ #[cfg(feature = "full")]
516
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
517
+ fn visit_item_union(&mut self, i: &'ast crate::ItemUnion) {
518
+ visit_item_union(self, i);
519
+ }
520
+ #[cfg(feature = "full")]
521
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
522
+ fn visit_item_use(&mut self, i: &'ast crate::ItemUse) {
523
+ visit_item_use(self, i);
524
+ }
525
+ #[cfg(feature = "full")]
526
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
527
+ fn visit_label(&mut self, i: &'ast crate::Label) {
528
+ visit_label(self, i);
529
+ }
530
+ fn visit_lifetime(&mut self, i: &'ast crate::Lifetime) {
531
+ visit_lifetime(self, i);
532
+ }
533
+ #[cfg(any(feature = "derive", feature = "full"))]
534
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
535
+ fn visit_lifetime_param(&mut self, i: &'ast crate::LifetimeParam) {
536
+ visit_lifetime_param(self, i);
537
+ }
538
+ fn visit_lit(&mut self, i: &'ast crate::Lit) {
539
+ visit_lit(self, i);
540
+ }
541
+ fn visit_lit_bool(&mut self, i: &'ast crate::LitBool) {
542
+ visit_lit_bool(self, i);
543
+ }
544
+ fn visit_lit_byte(&mut self, i: &'ast crate::LitByte) {
545
+ visit_lit_byte(self, i);
546
+ }
547
+ fn visit_lit_byte_str(&mut self, i: &'ast crate::LitByteStr) {
548
+ visit_lit_byte_str(self, i);
549
+ }
550
+ fn visit_lit_cstr(&mut self, i: &'ast crate::LitCStr) {
551
+ visit_lit_cstr(self, i);
552
+ }
553
+ fn visit_lit_char(&mut self, i: &'ast crate::LitChar) {
554
+ visit_lit_char(self, i);
555
+ }
556
+ fn visit_lit_float(&mut self, i: &'ast crate::LitFloat) {
557
+ visit_lit_float(self, i);
558
+ }
559
+ fn visit_lit_int(&mut self, i: &'ast crate::LitInt) {
560
+ visit_lit_int(self, i);
561
+ }
562
+ fn visit_lit_str(&mut self, i: &'ast crate::LitStr) {
563
+ visit_lit_str(self, i);
564
+ }
565
+ #[cfg(feature = "full")]
566
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
567
+ fn visit_local(&mut self, i: &'ast crate::Local) {
568
+ visit_local(self, i);
569
+ }
570
+ #[cfg(feature = "full")]
571
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
572
+ fn visit_local_init(&mut self, i: &'ast crate::LocalInit) {
573
+ visit_local_init(self, i);
574
+ }
575
+ #[cfg(any(feature = "derive", feature = "full"))]
576
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
577
+ fn visit_macro(&mut self, i: &'ast crate::Macro) {
578
+ visit_macro(self, i);
579
+ }
580
+ #[cfg(any(feature = "derive", feature = "full"))]
581
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
582
+ fn visit_macro_delimiter(&mut self, i: &'ast crate::MacroDelimiter) {
583
+ visit_macro_delimiter(self, i);
584
+ }
585
+ #[cfg(any(feature = "derive", feature = "full"))]
586
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
587
+ fn visit_member(&mut self, i: &'ast crate::Member) {
588
+ visit_member(self, i);
589
+ }
590
+ #[cfg(any(feature = "derive", feature = "full"))]
591
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
592
+ fn visit_meta(&mut self, i: &'ast crate::Meta) {
593
+ visit_meta(self, i);
594
+ }
595
+ #[cfg(any(feature = "derive", feature = "full"))]
596
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
597
+ fn visit_meta_list(&mut self, i: &'ast crate::MetaList) {
598
+ visit_meta_list(self, i);
599
+ }
600
+ #[cfg(any(feature = "derive", feature = "full"))]
601
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
602
+ fn visit_meta_name_value(&mut self, i: &'ast crate::MetaNameValue) {
603
+ visit_meta_name_value(self, i);
604
+ }
605
+ #[cfg(any(feature = "derive", feature = "full"))]
606
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
607
+ fn visit_named_arg(&mut self, i: &'ast crate::NamedArg) {
608
+ visit_named_arg(self, i);
609
+ }
610
+ #[cfg(any(feature = "derive", feature = "full"))]
611
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
612
+ fn visit_parenthesized_generic_arguments(
613
+ &mut self,
614
+ i: &'ast crate::ParenthesizedGenericArguments,
615
+ ) {
616
+ visit_parenthesized_generic_arguments(self, i);
617
+ }
618
+ #[cfg(feature = "full")]
619
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
620
+ fn visit_pat(&mut self, i: &'ast crate::Pat) {
621
+ visit_pat(self, i);
622
+ }
623
+ #[cfg(feature = "full")]
624
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
625
+ fn visit_pat_guard(&mut self, i: &'ast crate::PatGuard) {
626
+ visit_pat_guard(self, i);
627
+ }
628
+ #[cfg(feature = "full")]
629
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
630
+ fn visit_pat_ident(&mut self, i: &'ast crate::PatIdent) {
631
+ visit_pat_ident(self, i);
632
+ }
633
+ #[cfg(feature = "full")]
634
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
635
+ fn visit_pat_or(&mut self, i: &'ast crate::PatOr) {
636
+ visit_pat_or(self, i);
637
+ }
638
+ #[cfg(feature = "full")]
639
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
640
+ fn visit_pat_paren(&mut self, i: &'ast crate::PatParen) {
641
+ visit_pat_paren(self, i);
642
+ }
643
+ #[cfg(feature = "full")]
644
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
645
+ fn visit_pat_reference(&mut self, i: &'ast crate::PatReference) {
646
+ visit_pat_reference(self, i);
647
+ }
648
+ #[cfg(feature = "full")]
649
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
650
+ fn visit_pat_rest(&mut self, i: &'ast crate::PatRest) {
651
+ visit_pat_rest(self, i);
652
+ }
653
+ #[cfg(feature = "full")]
654
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
655
+ fn visit_pat_slice(&mut self, i: &'ast crate::PatSlice) {
656
+ visit_pat_slice(self, i);
657
+ }
658
+ #[cfg(feature = "full")]
659
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
660
+ fn visit_pat_struct(&mut self, i: &'ast crate::PatStruct) {
661
+ visit_pat_struct(self, i);
662
+ }
663
+ #[cfg(feature = "full")]
664
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
665
+ fn visit_pat_tuple(&mut self, i: &'ast crate::PatTuple) {
666
+ visit_pat_tuple(self, i);
667
+ }
668
+ #[cfg(feature = "full")]
669
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
670
+ fn visit_pat_tuple_struct(&mut self, i: &'ast crate::PatTupleStruct) {
671
+ visit_pat_tuple_struct(self, i);
672
+ }
673
+ #[cfg(feature = "full")]
674
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
675
+ fn visit_pat_type(&mut self, i: &'ast crate::PatType) {
676
+ visit_pat_type(self, i);
677
+ }
678
+ #[cfg(feature = "full")]
679
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
680
+ fn visit_pat_wild(&mut self, i: &'ast crate::PatWild) {
681
+ visit_pat_wild(self, i);
682
+ }
683
+ #[cfg(any(feature = "derive", feature = "full"))]
684
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
685
+ fn visit_path(&mut self, i: &'ast crate::Path) {
686
+ visit_path(self, i);
687
+ }
688
+ #[cfg(any(feature = "derive", feature = "full"))]
689
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
690
+ fn visit_path_arguments(&mut self, i: &'ast crate::PathArguments) {
691
+ visit_path_arguments(self, i);
692
+ }
693
+ #[cfg(any(feature = "derive", feature = "full"))]
694
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
695
+ fn visit_path_segment(&mut self, i: &'ast crate::PathSegment) {
696
+ visit_path_segment(self, i);
697
+ }
698
+ #[cfg(any(feature = "derive", feature = "full"))]
699
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
700
+ fn visit_pointer_mutability(&mut self, i: &'ast crate::PointerMutability) {
701
+ visit_pointer_mutability(self, i);
702
+ }
703
+ #[cfg(feature = "full")]
704
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
705
+ fn visit_precise_capture(&mut self, i: &'ast crate::PreciseCapture) {
706
+ visit_precise_capture(self, i);
707
+ }
708
+ #[cfg(any(feature = "derive", feature = "full"))]
709
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
710
+ fn visit_predicate_lifetime(&mut self, i: &'ast crate::PredicateLifetime) {
711
+ visit_predicate_lifetime(self, i);
712
+ }
713
+ #[cfg(any(feature = "derive", feature = "full"))]
714
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
715
+ fn visit_predicate_type(&mut self, i: &'ast crate::PredicateType) {
716
+ visit_predicate_type(self, i);
717
+ }
718
+ #[cfg(any(feature = "derive", feature = "full"))]
719
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
720
+ fn visit_qself(&mut self, i: &'ast crate::QSelf) {
721
+ visit_qself(self, i);
722
+ }
723
+ #[cfg(feature = "full")]
724
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
725
+ fn visit_range_limits(&mut self, i: &'ast crate::RangeLimits) {
726
+ visit_range_limits(self, i);
727
+ }
728
+ #[cfg(feature = "full")]
729
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
730
+ fn visit_receiver(&mut self, i: &'ast crate::Receiver) {
731
+ visit_receiver(self, i);
732
+ }
733
+ #[cfg(feature = "full")]
734
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
735
+ fn visit_receiver_kind(&mut self, i: &'ast crate::ReceiverKind) {
736
+ visit_receiver_kind(self, i);
737
+ }
738
+ #[cfg(any(feature = "derive", feature = "full"))]
739
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
740
+ fn visit_return_type(&mut self, i: &'ast crate::ReturnType) {
741
+ visit_return_type(self, i);
742
+ }
743
+ #[cfg(feature = "full")]
744
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
745
+ fn visit_safety(&mut self, i: &'ast crate::Safety) {
746
+ visit_safety(self, i);
747
+ }
748
+ #[cfg(feature = "full")]
749
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
750
+ fn visit_signature(&mut self, i: &'ast crate::Signature) {
751
+ visit_signature(self, i);
752
+ }
753
+ #[cfg(feature = "full")]
754
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
755
+ fn visit_static_mutability(&mut self, i: &'ast crate::StaticMutability) {
756
+ visit_static_mutability(self, i);
757
+ }
758
+ #[cfg(feature = "full")]
759
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
760
+ fn visit_stmt(&mut self, i: &'ast crate::Stmt) {
761
+ visit_stmt(self, i);
762
+ }
763
+ #[cfg(feature = "full")]
764
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
765
+ fn visit_stmt_macro(&mut self, i: &'ast crate::StmtMacro) {
766
+ visit_stmt_macro(self, i);
767
+ }
768
+ fn visit_token_stream(&mut self, i: &'ast proc_macro2::TokenStream) {}
769
+ #[cfg(any(feature = "derive", feature = "full"))]
770
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
771
+ fn visit_trait_bound(&mut self, i: &'ast crate::TraitBound) {
772
+ visit_trait_bound(self, i);
773
+ }
774
+ #[cfg(feature = "full")]
775
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
776
+ fn visit_trait_item(&mut self, i: &'ast crate::TraitItem) {
777
+ visit_trait_item(self, i);
778
+ }
779
+ #[cfg(feature = "full")]
780
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
781
+ fn visit_trait_item_const(&mut self, i: &'ast crate::TraitItemConst) {
782
+ visit_trait_item_const(self, i);
783
+ }
784
+ #[cfg(feature = "full")]
785
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
786
+ fn visit_trait_item_fn(&mut self, i: &'ast crate::TraitItemFn) {
787
+ visit_trait_item_fn(self, i);
788
+ }
789
+ #[cfg(feature = "full")]
790
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
791
+ fn visit_trait_item_macro(&mut self, i: &'ast crate::TraitItemMacro) {
792
+ visit_trait_item_macro(self, i);
793
+ }
794
+ #[cfg(feature = "full")]
795
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
796
+ fn visit_trait_item_type(&mut self, i: &'ast crate::TraitItemType) {
797
+ visit_trait_item_type(self, i);
798
+ }
799
+ #[cfg(any(feature = "derive", feature = "full"))]
800
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
801
+ fn visit_type(&mut self, i: &'ast crate::Type) {
802
+ visit_type(self, i);
803
+ }
804
+ #[cfg(any(feature = "derive", feature = "full"))]
805
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
806
+ fn visit_type_array(&mut self, i: &'ast crate::TypeArray) {
807
+ visit_type_array(self, i);
808
+ }
809
+ #[cfg(any(feature = "derive", feature = "full"))]
810
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
811
+ fn visit_type_fn_ptr(&mut self, i: &'ast crate::TypeFnPtr) {
812
+ visit_type_fn_ptr(self, i);
813
+ }
814
+ #[cfg(any(feature = "derive", feature = "full"))]
815
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
816
+ fn visit_type_group(&mut self, i: &'ast crate::TypeGroup) {
817
+ visit_type_group(self, i);
818
+ }
819
+ #[cfg(any(feature = "derive", feature = "full"))]
820
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
821
+ fn visit_type_impl_trait(&mut self, i: &'ast crate::TypeImplTrait) {
822
+ visit_type_impl_trait(self, i);
823
+ }
824
+ #[cfg(any(feature = "derive", feature = "full"))]
825
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
826
+ fn visit_type_infer(&mut self, i: &'ast crate::TypeInfer) {
827
+ visit_type_infer(self, i);
828
+ }
829
+ #[cfg(any(feature = "derive", feature = "full"))]
830
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
831
+ fn visit_type_macro(&mut self, i: &'ast crate::TypeMacro) {
832
+ visit_type_macro(self, i);
833
+ }
834
+ #[cfg(any(feature = "derive", feature = "full"))]
835
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
836
+ fn visit_type_never(&mut self, i: &'ast crate::TypeNever) {
837
+ visit_type_never(self, i);
838
+ }
839
+ #[cfg(any(feature = "derive", feature = "full"))]
840
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
841
+ fn visit_type_param(&mut self, i: &'ast crate::TypeParam) {
842
+ visit_type_param(self, i);
843
+ }
844
+ #[cfg(any(feature = "derive", feature = "full"))]
845
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
846
+ fn visit_type_param_bound(&mut self, i: &'ast crate::TypeParamBound) {
847
+ visit_type_param_bound(self, i);
848
+ }
849
+ #[cfg(any(feature = "derive", feature = "full"))]
850
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
851
+ fn visit_type_paren(&mut self, i: &'ast crate::TypeParen) {
852
+ visit_type_paren(self, i);
853
+ }
854
+ #[cfg(any(feature = "derive", feature = "full"))]
855
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
856
+ fn visit_type_path(&mut self, i: &'ast crate::TypePath) {
857
+ visit_type_path(self, i);
858
+ }
859
+ #[cfg(any(feature = "derive", feature = "full"))]
860
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
861
+ fn visit_type_ptr(&mut self, i: &'ast crate::TypePtr) {
862
+ visit_type_ptr(self, i);
863
+ }
864
+ #[cfg(any(feature = "derive", feature = "full"))]
865
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
866
+ fn visit_type_reference(&mut self, i: &'ast crate::TypeReference) {
867
+ visit_type_reference(self, i);
868
+ }
869
+ #[cfg(any(feature = "derive", feature = "full"))]
870
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
871
+ fn visit_type_slice(&mut self, i: &'ast crate::TypeSlice) {
872
+ visit_type_slice(self, i);
873
+ }
874
+ #[cfg(any(feature = "derive", feature = "full"))]
875
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
876
+ fn visit_type_trait_object(&mut self, i: &'ast crate::TypeTraitObject) {
877
+ visit_type_trait_object(self, i);
878
+ }
879
+ #[cfg(any(feature = "derive", feature = "full"))]
880
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
881
+ fn visit_type_tuple(&mut self, i: &'ast crate::TypeTuple) {
882
+ visit_type_tuple(self, i);
883
+ }
884
+ #[cfg(any(feature = "derive", feature = "full"))]
885
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
886
+ fn visit_un_op(&mut self, i: &'ast crate::UnOp) {
887
+ visit_un_op(self, i);
888
+ }
889
+ #[cfg(feature = "full")]
890
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
891
+ fn visit_use_glob(&mut self, i: &'ast crate::UseGlob) {
892
+ visit_use_glob(self, i);
893
+ }
894
+ #[cfg(feature = "full")]
895
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
896
+ fn visit_use_group(&mut self, i: &'ast crate::UseGroup) {
897
+ visit_use_group(self, i);
898
+ }
899
+ #[cfg(feature = "full")]
900
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
901
+ fn visit_use_name(&mut self, i: &'ast crate::UseName) {
902
+ visit_use_name(self, i);
903
+ }
904
+ #[cfg(feature = "full")]
905
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
906
+ fn visit_use_path(&mut self, i: &'ast crate::UsePath) {
907
+ visit_use_path(self, i);
908
+ }
909
+ #[cfg(feature = "full")]
910
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
911
+ fn visit_use_rename(&mut self, i: &'ast crate::UseRename) {
912
+ visit_use_rename(self, i);
913
+ }
914
+ #[cfg(feature = "full")]
915
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
916
+ fn visit_use_tree(&mut self, i: &'ast crate::UseTree) {
917
+ visit_use_tree(self, i);
918
+ }
919
+ #[cfg(feature = "full")]
920
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
921
+ fn visit_variadic(&mut self, i: &'ast crate::Variadic) {
922
+ visit_variadic(self, i);
923
+ }
924
+ #[cfg(any(feature = "derive", feature = "full"))]
925
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
926
+ fn visit_variant(&mut self, i: &'ast crate::Variant) {
927
+ visit_variant(self, i);
928
+ }
929
+ #[cfg(any(feature = "derive", feature = "full"))]
930
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
931
+ fn visit_vis_restricted(&mut self, i: &'ast crate::VisRestricted) {
932
+ visit_vis_restricted(self, i);
933
+ }
934
+ #[cfg(any(feature = "derive", feature = "full"))]
935
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
936
+ fn visit_visibility(&mut self, i: &'ast crate::Visibility) {
937
+ visit_visibility(self, i);
938
+ }
939
+ #[cfg(any(feature = "derive", feature = "full"))]
940
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
941
+ fn visit_where_clause(&mut self, i: &'ast crate::WhereClause) {
942
+ visit_where_clause(self, i);
943
+ }
944
+ #[cfg(feature = "full")]
945
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
946
+ fn visit_where_clause_placement(&mut self, i: &'ast crate::WhereClausePlacement) {
947
+ visit_where_clause_placement(self, i);
948
+ }
949
+ #[cfg(any(feature = "derive", feature = "full"))]
950
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
951
+ fn visit_where_predicate(&mut self, i: &'ast crate::WherePredicate) {
952
+ visit_where_predicate(self, i);
953
+ }
954
+ }
955
+ #[cfg(any(feature = "derive", feature = "full"))]
956
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
957
+ pub fn visit_abi<'ast, V>(v: &mut V, node: &'ast crate::Abi)
958
+ where
959
+ V: Visit<'ast> + ?Sized,
960
+ {
961
+ skip!(node.extern_token);
962
+ if let Some(it) = &node.name {
963
+ v.visit_lit_str(it);
964
+ }
965
+ }
966
+ #[cfg(any(feature = "derive", feature = "full"))]
967
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
968
+ pub fn visit_angle_bracketed_generic_arguments<'ast, V>(
969
+ v: &mut V,
970
+ node: &'ast crate::AngleBracketedGenericArguments,
971
+ )
972
+ where
973
+ V: Visit<'ast> + ?Sized,
974
+ {
975
+ skip!(node.colon2_token);
976
+ skip!(node.lt_token);
977
+ for el in Punctuated::pairs(&node.args) {
978
+ let it = el.value();
979
+ v.visit_generic_argument(it);
980
+ }
981
+ skip!(node.gt_token);
982
+ }
983
+ #[cfg(feature = "full")]
984
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
985
+ pub fn visit_arm<'ast, V>(v: &mut V, node: &'ast crate::Arm)
986
+ where
987
+ V: Visit<'ast> + ?Sized,
988
+ {
989
+ for it in &node.attrs {
990
+ v.visit_attribute(it);
991
+ }
992
+ v.visit_pat(&node.pat);
993
+ skip!(node.fat_arrow_token);
994
+ v.visit_expr(&*node.body);
995
+ skip!(node.comma);
996
+ }
997
+ #[cfg(any(feature = "derive", feature = "full"))]
998
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
999
+ pub fn visit_assoc_const<'ast, V>(v: &mut V, node: &'ast crate::AssocConst)
1000
+ where
1001
+ V: Visit<'ast> + ?Sized,
1002
+ {
1003
+ v.visit_ident(&node.ident);
1004
+ if let Some(it) = &node.generics {
1005
+ v.visit_angle_bracketed_generic_arguments(it);
1006
+ }
1007
+ skip!(node.eq_token);
1008
+ v.visit_expr(&node.value);
1009
+ }
1010
+ #[cfg(any(feature = "derive", feature = "full"))]
1011
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1012
+ pub fn visit_assoc_type<'ast, V>(v: &mut V, node: &'ast crate::AssocType)
1013
+ where
1014
+ V: Visit<'ast> + ?Sized,
1015
+ {
1016
+ v.visit_ident(&node.ident);
1017
+ if let Some(it) = &node.generics {
1018
+ v.visit_angle_bracketed_generic_arguments(it);
1019
+ }
1020
+ skip!(node.eq_token);
1021
+ v.visit_type(&node.ty);
1022
+ }
1023
+ #[cfg(any(feature = "derive", feature = "full"))]
1024
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1025
+ pub fn visit_attr_style<'ast, V>(v: &mut V, node: &'ast crate::AttrStyle)
1026
+ where
1027
+ V: Visit<'ast> + ?Sized,
1028
+ {
1029
+ match node {
1030
+ crate::AttrStyle::Outer => {}
1031
+ crate::AttrStyle::Inner(_binding_0) => {
1032
+ skip!(_binding_0);
1033
+ }
1034
+ }
1035
+ }
1036
+ #[cfg(any(feature = "derive", feature = "full"))]
1037
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1038
+ pub fn visit_attribute<'ast, V>(v: &mut V, node: &'ast crate::Attribute)
1039
+ where
1040
+ V: Visit<'ast> + ?Sized,
1041
+ {
1042
+ skip!(node.pound_token);
1043
+ v.visit_attr_style(&node.style);
1044
+ skip!(node.bracket_token);
1045
+ v.visit_meta(&node.meta);
1046
+ }
1047
+ #[cfg(any(feature = "derive", feature = "full"))]
1048
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1049
+ pub fn visit_bin_op<'ast, V>(v: &mut V, node: &'ast crate::BinOp)
1050
+ where
1051
+ V: Visit<'ast> + ?Sized,
1052
+ {
1053
+ match node {
1054
+ crate::BinOp::Add(_binding_0) => {
1055
+ skip!(_binding_0);
1056
+ }
1057
+ crate::BinOp::Sub(_binding_0) => {
1058
+ skip!(_binding_0);
1059
+ }
1060
+ crate::BinOp::Mul(_binding_0) => {
1061
+ skip!(_binding_0);
1062
+ }
1063
+ crate::BinOp::Div(_binding_0) => {
1064
+ skip!(_binding_0);
1065
+ }
1066
+ crate::BinOp::Rem(_binding_0) => {
1067
+ skip!(_binding_0);
1068
+ }
1069
+ crate::BinOp::And(_binding_0) => {
1070
+ skip!(_binding_0);
1071
+ }
1072
+ crate::BinOp::Or(_binding_0) => {
1073
+ skip!(_binding_0);
1074
+ }
1075
+ crate::BinOp::BitXor(_binding_0) => {
1076
+ skip!(_binding_0);
1077
+ }
1078
+ crate::BinOp::BitAnd(_binding_0) => {
1079
+ skip!(_binding_0);
1080
+ }
1081
+ crate::BinOp::BitOr(_binding_0) => {
1082
+ skip!(_binding_0);
1083
+ }
1084
+ crate::BinOp::Shl(_binding_0) => {
1085
+ skip!(_binding_0);
1086
+ }
1087
+ crate::BinOp::Shr(_binding_0) => {
1088
+ skip!(_binding_0);
1089
+ }
1090
+ crate::BinOp::Eq(_binding_0) => {
1091
+ skip!(_binding_0);
1092
+ }
1093
+ crate::BinOp::Lt(_binding_0) => {
1094
+ skip!(_binding_0);
1095
+ }
1096
+ crate::BinOp::Le(_binding_0) => {
1097
+ skip!(_binding_0);
1098
+ }
1099
+ crate::BinOp::Ne(_binding_0) => {
1100
+ skip!(_binding_0);
1101
+ }
1102
+ crate::BinOp::Ge(_binding_0) => {
1103
+ skip!(_binding_0);
1104
+ }
1105
+ crate::BinOp::Gt(_binding_0) => {
1106
+ skip!(_binding_0);
1107
+ }
1108
+ crate::BinOp::AddAssign(_binding_0) => {
1109
+ skip!(_binding_0);
1110
+ }
1111
+ crate::BinOp::SubAssign(_binding_0) => {
1112
+ skip!(_binding_0);
1113
+ }
1114
+ crate::BinOp::MulAssign(_binding_0) => {
1115
+ skip!(_binding_0);
1116
+ }
1117
+ crate::BinOp::DivAssign(_binding_0) => {
1118
+ skip!(_binding_0);
1119
+ }
1120
+ crate::BinOp::RemAssign(_binding_0) => {
1121
+ skip!(_binding_0);
1122
+ }
1123
+ crate::BinOp::BitXorAssign(_binding_0) => {
1124
+ skip!(_binding_0);
1125
+ }
1126
+ crate::BinOp::BitAndAssign(_binding_0) => {
1127
+ skip!(_binding_0);
1128
+ }
1129
+ crate::BinOp::BitOrAssign(_binding_0) => {
1130
+ skip!(_binding_0);
1131
+ }
1132
+ crate::BinOp::ShlAssign(_binding_0) => {
1133
+ skip!(_binding_0);
1134
+ }
1135
+ crate::BinOp::ShrAssign(_binding_0) => {
1136
+ skip!(_binding_0);
1137
+ }
1138
+ }
1139
+ }
1140
+ #[cfg(feature = "full")]
1141
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1142
+ pub fn visit_block<'ast, V>(v: &mut V, node: &'ast crate::Block)
1143
+ where
1144
+ V: Visit<'ast> + ?Sized,
1145
+ {
1146
+ skip!(node.brace_token);
1147
+ for it in &node.stmts {
1148
+ v.visit_stmt(it);
1149
+ }
1150
+ }
1151
+ #[cfg(any(feature = "derive", feature = "full"))]
1152
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1153
+ pub fn visit_bound_lifetimes<'ast, V>(v: &mut V, node: &'ast crate::BoundLifetimes)
1154
+ where
1155
+ V: Visit<'ast> + ?Sized,
1156
+ {
1157
+ skip!(node.for_token);
1158
+ skip!(node.lt_token);
1159
+ for el in Punctuated::pairs(&node.lifetimes) {
1160
+ let it = el.value();
1161
+ v.visit_generic_param(it);
1162
+ }
1163
+ skip!(node.gt_token);
1164
+ }
1165
+ #[cfg(feature = "full")]
1166
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1167
+ pub fn visit_captured_param<'ast, V>(v: &mut V, node: &'ast crate::CapturedParam)
1168
+ where
1169
+ V: Visit<'ast> + ?Sized,
1170
+ {
1171
+ match node {
1172
+ crate::CapturedParam::Lifetime(_binding_0) => {
1173
+ v.visit_lifetime(_binding_0);
1174
+ }
1175
+ crate::CapturedParam::Ident(_binding_0) => {
1176
+ v.visit_ident(_binding_0);
1177
+ }
1178
+ }
1179
+ }
1180
+ #[cfg(any(feature = "derive", feature = "full"))]
1181
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1182
+ pub fn visit_const_param<'ast, V>(v: &mut V, node: &'ast crate::ConstParam)
1183
+ where
1184
+ V: Visit<'ast> + ?Sized,
1185
+ {
1186
+ for it in &node.attrs {
1187
+ v.visit_attribute(it);
1188
+ }
1189
+ skip!(node.const_token);
1190
+ v.visit_ident(&node.ident);
1191
+ skip!(node.colon_token);
1192
+ v.visit_type(&node.ty);
1193
+ if let Some(it) = &node.default {
1194
+ skip!((it).0);
1195
+ v.visit_expr(&(it).1);
1196
+ }
1197
+ }
1198
+ #[cfg(any(feature = "derive", feature = "full"))]
1199
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1200
+ pub fn visit_constraint<'ast, V>(v: &mut V, node: &'ast crate::Constraint)
1201
+ where
1202
+ V: Visit<'ast> + ?Sized,
1203
+ {
1204
+ v.visit_ident(&node.ident);
1205
+ if let Some(it) = &node.generics {
1206
+ v.visit_angle_bracketed_generic_arguments(it);
1207
+ }
1208
+ skip!(node.colon_token);
1209
+ for el in Punctuated::pairs(&node.bounds) {
1210
+ let it = el.value();
1211
+ v.visit_type_param_bound(it);
1212
+ }
1213
+ }
1214
+ #[cfg(feature = "derive")]
1215
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
1216
+ pub fn visit_data<'ast, V>(v: &mut V, node: &'ast crate::Data)
1217
+ where
1218
+ V: Visit<'ast> + ?Sized,
1219
+ {
1220
+ match node {
1221
+ crate::Data::Struct(_binding_0) => {
1222
+ v.visit_data_struct(_binding_0);
1223
+ }
1224
+ crate::Data::Enum(_binding_0) => {
1225
+ v.visit_data_enum(_binding_0);
1226
+ }
1227
+ crate::Data::Union(_binding_0) => {
1228
+ v.visit_data_union(_binding_0);
1229
+ }
1230
+ }
1231
+ }
1232
+ #[cfg(feature = "derive")]
1233
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
1234
+ pub fn visit_data_enum<'ast, V>(v: &mut V, node: &'ast crate::DataEnum)
1235
+ where
1236
+ V: Visit<'ast> + ?Sized,
1237
+ {
1238
+ skip!(node.enum_token);
1239
+ skip!(node.brace_token);
1240
+ for el in Punctuated::pairs(&node.variants) {
1241
+ let it = el.value();
1242
+ v.visit_variant(it);
1243
+ }
1244
+ }
1245
+ #[cfg(feature = "derive")]
1246
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
1247
+ pub fn visit_data_struct<'ast, V>(v: &mut V, node: &'ast crate::DataStruct)
1248
+ where
1249
+ V: Visit<'ast> + ?Sized,
1250
+ {
1251
+ skip!(node.struct_token);
1252
+ v.visit_fields(&node.fields);
1253
+ skip!(node.semi_token);
1254
+ }
1255
+ #[cfg(feature = "derive")]
1256
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
1257
+ pub fn visit_data_union<'ast, V>(v: &mut V, node: &'ast crate::DataUnion)
1258
+ where
1259
+ V: Visit<'ast> + ?Sized,
1260
+ {
1261
+ skip!(node.union_token);
1262
+ v.visit_fields_named(&node.fields);
1263
+ }
1264
+ #[cfg(feature = "derive")]
1265
+ #[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
1266
+ pub fn visit_derive_input<'ast, V>(v: &mut V, node: &'ast crate::DeriveInput)
1267
+ where
1268
+ V: Visit<'ast> + ?Sized,
1269
+ {
1270
+ for it in &node.attrs {
1271
+ v.visit_attribute(it);
1272
+ }
1273
+ v.visit_visibility(&node.vis);
1274
+ v.visit_ident(&node.ident);
1275
+ v.visit_generics(&node.generics);
1276
+ v.visit_data(&node.data);
1277
+ }
1278
+ #[cfg(any(feature = "derive", feature = "full"))]
1279
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1280
+ pub fn visit_expr<'ast, V>(v: &mut V, node: &'ast crate::Expr)
1281
+ where
1282
+ V: Visit<'ast> + ?Sized,
1283
+ {
1284
+ match node {
1285
+ crate::Expr::Array(_binding_0) => {
1286
+ full!(v.visit_expr_array(_binding_0));
1287
+ }
1288
+ crate::Expr::Assign(_binding_0) => {
1289
+ full!(v.visit_expr_assign(_binding_0));
1290
+ }
1291
+ crate::Expr::Async(_binding_0) => {
1292
+ full!(v.visit_expr_async(_binding_0));
1293
+ }
1294
+ crate::Expr::Await(_binding_0) => {
1295
+ full!(v.visit_expr_await(_binding_0));
1296
+ }
1297
+ crate::Expr::Binary(_binding_0) => {
1298
+ v.visit_expr_binary(_binding_0);
1299
+ }
1300
+ crate::Expr::Block(_binding_0) => {
1301
+ full!(v.visit_expr_block(_binding_0));
1302
+ }
1303
+ crate::Expr::Break(_binding_0) => {
1304
+ full!(v.visit_expr_break(_binding_0));
1305
+ }
1306
+ crate::Expr::Call(_binding_0) => {
1307
+ v.visit_expr_call(_binding_0);
1308
+ }
1309
+ crate::Expr::Cast(_binding_0) => {
1310
+ v.visit_expr_cast(_binding_0);
1311
+ }
1312
+ crate::Expr::Closure(_binding_0) => {
1313
+ full!(v.visit_expr_closure(_binding_0));
1314
+ }
1315
+ crate::Expr::Const(_binding_0) => {
1316
+ full!(v.visit_expr_const(_binding_0));
1317
+ }
1318
+ crate::Expr::Continue(_binding_0) => {
1319
+ full!(v.visit_expr_continue(_binding_0));
1320
+ }
1321
+ crate::Expr::Field(_binding_0) => {
1322
+ v.visit_expr_field(_binding_0);
1323
+ }
1324
+ crate::Expr::ForLoop(_binding_0) => {
1325
+ full!(v.visit_expr_for_loop(_binding_0));
1326
+ }
1327
+ crate::Expr::Group(_binding_0) => {
1328
+ v.visit_expr_group(_binding_0);
1329
+ }
1330
+ crate::Expr::If(_binding_0) => {
1331
+ full!(v.visit_expr_if(_binding_0));
1332
+ }
1333
+ crate::Expr::Index(_binding_0) => {
1334
+ v.visit_expr_index(_binding_0);
1335
+ }
1336
+ crate::Expr::Infer(_binding_0) => {
1337
+ full!(v.visit_expr_infer(_binding_0));
1338
+ }
1339
+ crate::Expr::Let(_binding_0) => {
1340
+ full!(v.visit_expr_let(_binding_0));
1341
+ }
1342
+ crate::Expr::Lit(_binding_0) => {
1343
+ v.visit_expr_lit(_binding_0);
1344
+ }
1345
+ crate::Expr::Loop(_binding_0) => {
1346
+ full!(v.visit_expr_loop(_binding_0));
1347
+ }
1348
+ crate::Expr::Macro(_binding_0) => {
1349
+ v.visit_expr_macro(_binding_0);
1350
+ }
1351
+ crate::Expr::Match(_binding_0) => {
1352
+ full!(v.visit_expr_match(_binding_0));
1353
+ }
1354
+ crate::Expr::MethodCall(_binding_0) => {
1355
+ v.visit_expr_method_call(_binding_0);
1356
+ }
1357
+ crate::Expr::Paren(_binding_0) => {
1358
+ v.visit_expr_paren(_binding_0);
1359
+ }
1360
+ crate::Expr::Path(_binding_0) => {
1361
+ v.visit_expr_path(_binding_0);
1362
+ }
1363
+ crate::Expr::Range(_binding_0) => {
1364
+ full!(v.visit_expr_range(_binding_0));
1365
+ }
1366
+ crate::Expr::RawAddr(_binding_0) => {
1367
+ full!(v.visit_expr_raw_addr(_binding_0));
1368
+ }
1369
+ crate::Expr::Reference(_binding_0) => {
1370
+ v.visit_expr_reference(_binding_0);
1371
+ }
1372
+ crate::Expr::Repeat(_binding_0) => {
1373
+ full!(v.visit_expr_repeat(_binding_0));
1374
+ }
1375
+ crate::Expr::Return(_binding_0) => {
1376
+ full!(v.visit_expr_return(_binding_0));
1377
+ }
1378
+ crate::Expr::Struct(_binding_0) => {
1379
+ v.visit_expr_struct(_binding_0);
1380
+ }
1381
+ crate::Expr::Try(_binding_0) => {
1382
+ full!(v.visit_expr_try(_binding_0));
1383
+ }
1384
+ crate::Expr::TryBlock(_binding_0) => {
1385
+ full!(v.visit_expr_try_block(_binding_0));
1386
+ }
1387
+ crate::Expr::Tuple(_binding_0) => {
1388
+ v.visit_expr_tuple(_binding_0);
1389
+ }
1390
+ crate::Expr::Unary(_binding_0) => {
1391
+ v.visit_expr_unary(_binding_0);
1392
+ }
1393
+ crate::Expr::Unsafe(_binding_0) => {
1394
+ full!(v.visit_expr_unsafe(_binding_0));
1395
+ }
1396
+ crate::Expr::Verbatim(_binding_0) => {
1397
+ v.visit_token_stream(_binding_0);
1398
+ }
1399
+ crate::Expr::While(_binding_0) => {
1400
+ full!(v.visit_expr_while(_binding_0));
1401
+ }
1402
+ crate::Expr::Yield(_binding_0) => {
1403
+ full!(v.visit_expr_yield(_binding_0));
1404
+ }
1405
+ }
1406
+ }
1407
+ #[cfg(feature = "full")]
1408
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1409
+ pub fn visit_expr_array<'ast, V>(v: &mut V, node: &'ast crate::ExprArray)
1410
+ where
1411
+ V: Visit<'ast> + ?Sized,
1412
+ {
1413
+ for it in &node.attrs {
1414
+ v.visit_attribute(it);
1415
+ }
1416
+ skip!(node.bracket_token);
1417
+ for el in Punctuated::pairs(&node.elems) {
1418
+ let it = el.value();
1419
+ v.visit_expr(it);
1420
+ }
1421
+ }
1422
+ #[cfg(feature = "full")]
1423
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1424
+ pub fn visit_expr_assign<'ast, V>(v: &mut V, node: &'ast crate::ExprAssign)
1425
+ where
1426
+ V: Visit<'ast> + ?Sized,
1427
+ {
1428
+ for it in &node.attrs {
1429
+ v.visit_attribute(it);
1430
+ }
1431
+ v.visit_expr(&*node.left);
1432
+ skip!(node.eq_token);
1433
+ v.visit_expr(&*node.right);
1434
+ }
1435
+ #[cfg(feature = "full")]
1436
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1437
+ pub fn visit_expr_async<'ast, V>(v: &mut V, node: &'ast crate::ExprAsync)
1438
+ where
1439
+ V: Visit<'ast> + ?Sized,
1440
+ {
1441
+ for it in &node.attrs {
1442
+ v.visit_attribute(it);
1443
+ }
1444
+ skip!(node.async_token);
1445
+ skip!(node.capture);
1446
+ skip!(node.modifiers);
1447
+ v.visit_block(&node.block);
1448
+ }
1449
+ #[cfg(feature = "full")]
1450
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1451
+ pub fn visit_expr_await<'ast, V>(v: &mut V, node: &'ast crate::ExprAwait)
1452
+ where
1453
+ V: Visit<'ast> + ?Sized,
1454
+ {
1455
+ for it in &node.attrs {
1456
+ v.visit_attribute(it);
1457
+ }
1458
+ v.visit_expr(&*node.base);
1459
+ skip!(node.dot_token);
1460
+ skip!(node.await_token);
1461
+ }
1462
+ #[cfg(any(feature = "derive", feature = "full"))]
1463
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1464
+ pub fn visit_expr_binary<'ast, V>(v: &mut V, node: &'ast crate::ExprBinary)
1465
+ where
1466
+ V: Visit<'ast> + ?Sized,
1467
+ {
1468
+ for it in &node.attrs {
1469
+ v.visit_attribute(it);
1470
+ }
1471
+ v.visit_expr(&*node.left);
1472
+ v.visit_bin_op(&node.op);
1473
+ v.visit_expr(&*node.right);
1474
+ }
1475
+ #[cfg(feature = "full")]
1476
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1477
+ pub fn visit_expr_block<'ast, V>(v: &mut V, node: &'ast crate::ExprBlock)
1478
+ where
1479
+ V: Visit<'ast> + ?Sized,
1480
+ {
1481
+ for it in &node.attrs {
1482
+ v.visit_attribute(it);
1483
+ }
1484
+ if let Some(it) = &node.label {
1485
+ v.visit_label(it);
1486
+ }
1487
+ v.visit_block(&node.block);
1488
+ }
1489
+ #[cfg(feature = "full")]
1490
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1491
+ pub fn visit_expr_break<'ast, V>(v: &mut V, node: &'ast crate::ExprBreak)
1492
+ where
1493
+ V: Visit<'ast> + ?Sized,
1494
+ {
1495
+ for it in &node.attrs {
1496
+ v.visit_attribute(it);
1497
+ }
1498
+ skip!(node.break_token);
1499
+ if let Some(it) = &node.label {
1500
+ v.visit_lifetime(it);
1501
+ }
1502
+ if let Some(it) = &node.expr {
1503
+ v.visit_expr(&**it);
1504
+ }
1505
+ }
1506
+ #[cfg(any(feature = "derive", feature = "full"))]
1507
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1508
+ pub fn visit_expr_call<'ast, V>(v: &mut V, node: &'ast crate::ExprCall)
1509
+ where
1510
+ V: Visit<'ast> + ?Sized,
1511
+ {
1512
+ for it in &node.attrs {
1513
+ v.visit_attribute(it);
1514
+ }
1515
+ v.visit_expr(&*node.func);
1516
+ skip!(node.paren_token);
1517
+ for el in Punctuated::pairs(&node.args) {
1518
+ let it = el.value();
1519
+ v.visit_expr(it);
1520
+ }
1521
+ }
1522
+ #[cfg(any(feature = "derive", feature = "full"))]
1523
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1524
+ pub fn visit_expr_cast<'ast, V>(v: &mut V, node: &'ast crate::ExprCast)
1525
+ where
1526
+ V: Visit<'ast> + ?Sized,
1527
+ {
1528
+ for it in &node.attrs {
1529
+ v.visit_attribute(it);
1530
+ }
1531
+ v.visit_expr(&*node.expr);
1532
+ skip!(node.as_token);
1533
+ v.visit_type(&*node.ty);
1534
+ }
1535
+ #[cfg(feature = "full")]
1536
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1537
+ pub fn visit_expr_closure<'ast, V>(v: &mut V, node: &'ast crate::ExprClosure)
1538
+ where
1539
+ V: Visit<'ast> + ?Sized,
1540
+ {
1541
+ for it in &node.attrs {
1542
+ v.visit_attribute(it);
1543
+ }
1544
+ if let Some(it) = &node.lifetimes {
1545
+ v.visit_bound_lifetimes(it);
1546
+ }
1547
+ skip!(node.modifiers);
1548
+ skip!(node.constness);
1549
+ skip!(node.asyncness);
1550
+ skip!(node.capture);
1551
+ skip!(node.inputs_begin);
1552
+ for el in Punctuated::pairs(&node.inputs) {
1553
+ let it = el.value();
1554
+ v.visit_pat(it);
1555
+ }
1556
+ skip!(node.inputs_end);
1557
+ v.visit_return_type(&node.output);
1558
+ v.visit_expr(&*node.body);
1559
+ }
1560
+ #[cfg(feature = "full")]
1561
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1562
+ pub fn visit_expr_const<'ast, V>(v: &mut V, node: &'ast crate::ExprConst)
1563
+ where
1564
+ V: Visit<'ast> + ?Sized,
1565
+ {
1566
+ for it in &node.attrs {
1567
+ v.visit_attribute(it);
1568
+ }
1569
+ skip!(node.const_token);
1570
+ skip!(node.modifiers);
1571
+ v.visit_block(&node.block);
1572
+ }
1573
+ #[cfg(feature = "full")]
1574
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1575
+ pub fn visit_expr_continue<'ast, V>(v: &mut V, node: &'ast crate::ExprContinue)
1576
+ where
1577
+ V: Visit<'ast> + ?Sized,
1578
+ {
1579
+ for it in &node.attrs {
1580
+ v.visit_attribute(it);
1581
+ }
1582
+ skip!(node.continue_token);
1583
+ if let Some(it) = &node.label {
1584
+ v.visit_lifetime(it);
1585
+ }
1586
+ }
1587
+ #[cfg(any(feature = "derive", feature = "full"))]
1588
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1589
+ pub fn visit_expr_field<'ast, V>(v: &mut V, node: &'ast crate::ExprField)
1590
+ where
1591
+ V: Visit<'ast> + ?Sized,
1592
+ {
1593
+ for it in &node.attrs {
1594
+ v.visit_attribute(it);
1595
+ }
1596
+ v.visit_expr(&*node.base);
1597
+ skip!(node.dot_token);
1598
+ v.visit_member(&node.member);
1599
+ }
1600
+ #[cfg(feature = "full")]
1601
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1602
+ pub fn visit_expr_for_loop<'ast, V>(v: &mut V, node: &'ast crate::ExprForLoop)
1603
+ where
1604
+ V: Visit<'ast> + ?Sized,
1605
+ {
1606
+ for it in &node.attrs {
1607
+ v.visit_attribute(it);
1608
+ }
1609
+ if let Some(it) = &node.label {
1610
+ v.visit_label(it);
1611
+ }
1612
+ skip!(node.for_token);
1613
+ v.visit_pat(&*node.pat);
1614
+ skip!(node.in_token);
1615
+ v.visit_expr(&*node.expr);
1616
+ v.visit_block(&node.body);
1617
+ }
1618
+ #[cfg(any(feature = "derive", feature = "full"))]
1619
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1620
+ pub fn visit_expr_group<'ast, V>(v: &mut V, node: &'ast crate::ExprGroup)
1621
+ where
1622
+ V: Visit<'ast> + ?Sized,
1623
+ {
1624
+ for it in &node.attrs {
1625
+ v.visit_attribute(it);
1626
+ }
1627
+ skip!(node.group_token);
1628
+ v.visit_expr(&*node.expr);
1629
+ }
1630
+ #[cfg(feature = "full")]
1631
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1632
+ pub fn visit_expr_if<'ast, V>(v: &mut V, node: &'ast crate::ExprIf)
1633
+ where
1634
+ V: Visit<'ast> + ?Sized,
1635
+ {
1636
+ for it in &node.attrs {
1637
+ v.visit_attribute(it);
1638
+ }
1639
+ skip!(node.if_token);
1640
+ v.visit_expr(&*node.cond);
1641
+ v.visit_block(&node.then_branch);
1642
+ if let Some(it) = &node.else_branch {
1643
+ skip!((it).0);
1644
+ v.visit_expr(&*(it).1);
1645
+ }
1646
+ }
1647
+ #[cfg(any(feature = "derive", feature = "full"))]
1648
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1649
+ pub fn visit_expr_index<'ast, V>(v: &mut V, node: &'ast crate::ExprIndex)
1650
+ where
1651
+ V: Visit<'ast> + ?Sized,
1652
+ {
1653
+ for it in &node.attrs {
1654
+ v.visit_attribute(it);
1655
+ }
1656
+ v.visit_expr(&*node.expr);
1657
+ skip!(node.bracket_token);
1658
+ v.visit_expr(&*node.index);
1659
+ }
1660
+ #[cfg(feature = "full")]
1661
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1662
+ pub fn visit_expr_infer<'ast, V>(v: &mut V, node: &'ast crate::ExprInfer)
1663
+ where
1664
+ V: Visit<'ast> + ?Sized,
1665
+ {
1666
+ for it in &node.attrs {
1667
+ v.visit_attribute(it);
1668
+ }
1669
+ skip!(node.underscore_token);
1670
+ }
1671
+ #[cfg(feature = "full")]
1672
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1673
+ pub fn visit_expr_let<'ast, V>(v: &mut V, node: &'ast crate::ExprLet)
1674
+ where
1675
+ V: Visit<'ast> + ?Sized,
1676
+ {
1677
+ for it in &node.attrs {
1678
+ v.visit_attribute(it);
1679
+ }
1680
+ skip!(node.let_token);
1681
+ v.visit_pat(&*node.pat);
1682
+ skip!(node.eq_token);
1683
+ v.visit_expr(&*node.expr);
1684
+ }
1685
+ #[cfg(any(feature = "derive", feature = "full"))]
1686
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1687
+ pub fn visit_expr_lit<'ast, V>(v: &mut V, node: &'ast crate::ExprLit)
1688
+ where
1689
+ V: Visit<'ast> + ?Sized,
1690
+ {
1691
+ for it in &node.attrs {
1692
+ v.visit_attribute(it);
1693
+ }
1694
+ v.visit_lit(&node.lit);
1695
+ }
1696
+ #[cfg(feature = "full")]
1697
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1698
+ pub fn visit_expr_loop<'ast, V>(v: &mut V, node: &'ast crate::ExprLoop)
1699
+ where
1700
+ V: Visit<'ast> + ?Sized,
1701
+ {
1702
+ for it in &node.attrs {
1703
+ v.visit_attribute(it);
1704
+ }
1705
+ if let Some(it) = &node.label {
1706
+ v.visit_label(it);
1707
+ }
1708
+ skip!(node.loop_token);
1709
+ v.visit_block(&node.body);
1710
+ }
1711
+ #[cfg(any(feature = "derive", feature = "full"))]
1712
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1713
+ pub fn visit_expr_macro<'ast, V>(v: &mut V, node: &'ast crate::ExprMacro)
1714
+ where
1715
+ V: Visit<'ast> + ?Sized,
1716
+ {
1717
+ for it in &node.attrs {
1718
+ v.visit_attribute(it);
1719
+ }
1720
+ v.visit_macro(&node.mac);
1721
+ }
1722
+ #[cfg(feature = "full")]
1723
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1724
+ pub fn visit_expr_match<'ast, V>(v: &mut V, node: &'ast crate::ExprMatch)
1725
+ where
1726
+ V: Visit<'ast> + ?Sized,
1727
+ {
1728
+ for it in &node.attrs {
1729
+ v.visit_attribute(it);
1730
+ }
1731
+ skip!(node.match_token);
1732
+ v.visit_expr(&*node.expr);
1733
+ skip!(node.brace_token);
1734
+ for it in &node.arms {
1735
+ v.visit_arm(it);
1736
+ }
1737
+ }
1738
+ #[cfg(any(feature = "derive", feature = "full"))]
1739
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1740
+ pub fn visit_expr_method_call<'ast, V>(v: &mut V, node: &'ast crate::ExprMethodCall)
1741
+ where
1742
+ V: Visit<'ast> + ?Sized,
1743
+ {
1744
+ for it in &node.attrs {
1745
+ v.visit_attribute(it);
1746
+ }
1747
+ v.visit_expr(&*node.receiver);
1748
+ skip!(node.dot_token);
1749
+ v.visit_ident(&node.method);
1750
+ if let Some(it) = &node.turbofish {
1751
+ v.visit_angle_bracketed_generic_arguments(it);
1752
+ }
1753
+ skip!(node.paren_token);
1754
+ for el in Punctuated::pairs(&node.args) {
1755
+ let it = el.value();
1756
+ v.visit_expr(it);
1757
+ }
1758
+ }
1759
+ #[cfg(any(feature = "derive", feature = "full"))]
1760
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1761
+ pub fn visit_expr_paren<'ast, V>(v: &mut V, node: &'ast crate::ExprParen)
1762
+ where
1763
+ V: Visit<'ast> + ?Sized,
1764
+ {
1765
+ for it in &node.attrs {
1766
+ v.visit_attribute(it);
1767
+ }
1768
+ skip!(node.paren_token);
1769
+ v.visit_expr(&*node.expr);
1770
+ }
1771
+ #[cfg(any(feature = "derive", feature = "full"))]
1772
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1773
+ pub fn visit_expr_path<'ast, V>(v: &mut V, node: &'ast crate::ExprPath)
1774
+ where
1775
+ V: Visit<'ast> + ?Sized,
1776
+ {
1777
+ for it in &node.attrs {
1778
+ v.visit_attribute(it);
1779
+ }
1780
+ if let Some(it) = &node.qself {
1781
+ v.visit_qself(it);
1782
+ }
1783
+ v.visit_path(&node.path);
1784
+ }
1785
+ #[cfg(feature = "full")]
1786
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1787
+ pub fn visit_expr_range<'ast, V>(v: &mut V, node: &'ast crate::ExprRange)
1788
+ where
1789
+ V: Visit<'ast> + ?Sized,
1790
+ {
1791
+ for it in &node.attrs {
1792
+ v.visit_attribute(it);
1793
+ }
1794
+ if let Some(it) = &node.start {
1795
+ v.visit_expr(&**it);
1796
+ }
1797
+ v.visit_range_limits(&node.limits);
1798
+ if let Some(it) = &node.end {
1799
+ v.visit_expr(&**it);
1800
+ }
1801
+ }
1802
+ #[cfg(feature = "full")]
1803
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1804
+ pub fn visit_expr_raw_addr<'ast, V>(v: &mut V, node: &'ast crate::ExprRawAddr)
1805
+ where
1806
+ V: Visit<'ast> + ?Sized,
1807
+ {
1808
+ for it in &node.attrs {
1809
+ v.visit_attribute(it);
1810
+ }
1811
+ skip!(node.and_token);
1812
+ skip!(node.raw);
1813
+ v.visit_pointer_mutability(&node.mutability);
1814
+ v.visit_expr(&*node.expr);
1815
+ }
1816
+ #[cfg(any(feature = "derive", feature = "full"))]
1817
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1818
+ pub fn visit_expr_reference<'ast, V>(v: &mut V, node: &'ast crate::ExprReference)
1819
+ where
1820
+ V: Visit<'ast> + ?Sized,
1821
+ {
1822
+ for it in &node.attrs {
1823
+ v.visit_attribute(it);
1824
+ }
1825
+ skip!(node.and_token);
1826
+ skip!(node.mutability);
1827
+ v.visit_expr(&*node.expr);
1828
+ }
1829
+ #[cfg(feature = "full")]
1830
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1831
+ pub fn visit_expr_repeat<'ast, V>(v: &mut V, node: &'ast crate::ExprRepeat)
1832
+ where
1833
+ V: Visit<'ast> + ?Sized,
1834
+ {
1835
+ for it in &node.attrs {
1836
+ v.visit_attribute(it);
1837
+ }
1838
+ skip!(node.bracket_token);
1839
+ v.visit_expr(&*node.expr);
1840
+ skip!(node.semi_token);
1841
+ v.visit_expr(&*node.len);
1842
+ }
1843
+ #[cfg(feature = "full")]
1844
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1845
+ pub fn visit_expr_return<'ast, V>(v: &mut V, node: &'ast crate::ExprReturn)
1846
+ where
1847
+ V: Visit<'ast> + ?Sized,
1848
+ {
1849
+ for it in &node.attrs {
1850
+ v.visit_attribute(it);
1851
+ }
1852
+ skip!(node.return_token);
1853
+ if let Some(it) = &node.expr {
1854
+ v.visit_expr(&**it);
1855
+ }
1856
+ }
1857
+ #[cfg(any(feature = "derive", feature = "full"))]
1858
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1859
+ pub fn visit_expr_struct<'ast, V>(v: &mut V, node: &'ast crate::ExprStruct)
1860
+ where
1861
+ V: Visit<'ast> + ?Sized,
1862
+ {
1863
+ for it in &node.attrs {
1864
+ v.visit_attribute(it);
1865
+ }
1866
+ if let Some(it) = &node.qself {
1867
+ v.visit_qself(it);
1868
+ }
1869
+ v.visit_path(&node.path);
1870
+ skip!(node.brace_token);
1871
+ for el in Punctuated::pairs(&node.fields) {
1872
+ let it = el.value();
1873
+ v.visit_field_value(it);
1874
+ }
1875
+ skip!(node.dot2_token);
1876
+ if let Some(it) = &node.rest {
1877
+ v.visit_expr(&**it);
1878
+ }
1879
+ }
1880
+ #[cfg(feature = "full")]
1881
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1882
+ pub fn visit_expr_try<'ast, V>(v: &mut V, node: &'ast crate::ExprTry)
1883
+ where
1884
+ V: Visit<'ast> + ?Sized,
1885
+ {
1886
+ for it in &node.attrs {
1887
+ v.visit_attribute(it);
1888
+ }
1889
+ v.visit_expr(&*node.expr);
1890
+ skip!(node.question_token);
1891
+ }
1892
+ #[cfg(feature = "full")]
1893
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1894
+ pub fn visit_expr_try_block<'ast, V>(v: &mut V, node: &'ast crate::ExprTryBlock)
1895
+ where
1896
+ V: Visit<'ast> + ?Sized,
1897
+ {
1898
+ for it in &node.attrs {
1899
+ v.visit_attribute(it);
1900
+ }
1901
+ skip!(node.try_token);
1902
+ skip!(node.modifiers);
1903
+ v.visit_block(&node.block);
1904
+ }
1905
+ #[cfg(any(feature = "derive", feature = "full"))]
1906
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1907
+ pub fn visit_expr_tuple<'ast, V>(v: &mut V, node: &'ast crate::ExprTuple)
1908
+ where
1909
+ V: Visit<'ast> + ?Sized,
1910
+ {
1911
+ for it in &node.attrs {
1912
+ v.visit_attribute(it);
1913
+ }
1914
+ skip!(node.paren_token);
1915
+ for el in Punctuated::pairs(&node.elems) {
1916
+ let it = el.value();
1917
+ v.visit_expr(it);
1918
+ }
1919
+ }
1920
+ #[cfg(any(feature = "derive", feature = "full"))]
1921
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1922
+ pub fn visit_expr_unary<'ast, V>(v: &mut V, node: &'ast crate::ExprUnary)
1923
+ where
1924
+ V: Visit<'ast> + ?Sized,
1925
+ {
1926
+ for it in &node.attrs {
1927
+ v.visit_attribute(it);
1928
+ }
1929
+ v.visit_un_op(&node.op);
1930
+ v.visit_expr(&*node.expr);
1931
+ }
1932
+ #[cfg(feature = "full")]
1933
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1934
+ pub fn visit_expr_unsafe<'ast, V>(v: &mut V, node: &'ast crate::ExprUnsafe)
1935
+ where
1936
+ V: Visit<'ast> + ?Sized,
1937
+ {
1938
+ for it in &node.attrs {
1939
+ v.visit_attribute(it);
1940
+ }
1941
+ skip!(node.unsafe_token);
1942
+ v.visit_block(&node.block);
1943
+ }
1944
+ #[cfg(feature = "full")]
1945
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1946
+ pub fn visit_expr_while<'ast, V>(v: &mut V, node: &'ast crate::ExprWhile)
1947
+ where
1948
+ V: Visit<'ast> + ?Sized,
1949
+ {
1950
+ for it in &node.attrs {
1951
+ v.visit_attribute(it);
1952
+ }
1953
+ if let Some(it) = &node.label {
1954
+ v.visit_label(it);
1955
+ }
1956
+ skip!(node.while_token);
1957
+ v.visit_expr(&*node.cond);
1958
+ v.visit_block(&node.body);
1959
+ }
1960
+ #[cfg(feature = "full")]
1961
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1962
+ pub fn visit_expr_yield<'ast, V>(v: &mut V, node: &'ast crate::ExprYield)
1963
+ where
1964
+ V: Visit<'ast> + ?Sized,
1965
+ {
1966
+ for it in &node.attrs {
1967
+ v.visit_attribute(it);
1968
+ }
1969
+ skip!(node.yield_token);
1970
+ if let Some(it) = &node.expr {
1971
+ v.visit_expr(&**it);
1972
+ }
1973
+ }
1974
+ #[cfg(any(feature = "derive", feature = "full"))]
1975
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
1976
+ pub fn visit_field<'ast, V>(v: &mut V, node: &'ast crate::Field)
1977
+ where
1978
+ V: Visit<'ast> + ?Sized,
1979
+ {
1980
+ for it in &node.attrs {
1981
+ v.visit_attribute(it);
1982
+ }
1983
+ v.visit_visibility(&node.vis);
1984
+ skip!(node.modifiers);
1985
+ if let Some(it) = &node.ident {
1986
+ v.visit_ident(it);
1987
+ }
1988
+ skip!(node.colon_token);
1989
+ v.visit_type(&node.ty);
1990
+ if let Some(it) = &node.default {
1991
+ skip!((it).0);
1992
+ v.visit_expr(&(it).1);
1993
+ }
1994
+ }
1995
+ #[cfg(feature = "full")]
1996
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
1997
+ pub fn visit_field_pat<'ast, V>(v: &mut V, node: &'ast crate::FieldPat)
1998
+ where
1999
+ V: Visit<'ast> + ?Sized,
2000
+ {
2001
+ for it in &node.attrs {
2002
+ v.visit_attribute(it);
2003
+ }
2004
+ v.visit_member(&node.member);
2005
+ skip!(node.colon_token);
2006
+ v.visit_pat(&*node.pat);
2007
+ }
2008
+ #[cfg(any(feature = "derive", feature = "full"))]
2009
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2010
+ pub fn visit_field_value<'ast, V>(v: &mut V, node: &'ast crate::FieldValue)
2011
+ where
2012
+ V: Visit<'ast> + ?Sized,
2013
+ {
2014
+ for it in &node.attrs {
2015
+ v.visit_attribute(it);
2016
+ }
2017
+ v.visit_member(&node.member);
2018
+ skip!(node.colon_token);
2019
+ v.visit_expr(&node.expr);
2020
+ }
2021
+ #[cfg(any(feature = "derive", feature = "full"))]
2022
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2023
+ pub fn visit_fields<'ast, V>(v: &mut V, node: &'ast crate::Fields)
2024
+ where
2025
+ V: Visit<'ast> + ?Sized,
2026
+ {
2027
+ match node {
2028
+ crate::Fields::Named(_binding_0) => {
2029
+ v.visit_fields_named(_binding_0);
2030
+ }
2031
+ crate::Fields::Unnamed(_binding_0) => {
2032
+ v.visit_fields_unnamed(_binding_0);
2033
+ }
2034
+ crate::Fields::Unit => {}
2035
+ }
2036
+ }
2037
+ #[cfg(any(feature = "derive", feature = "full"))]
2038
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2039
+ pub fn visit_fields_named<'ast, V>(v: &mut V, node: &'ast crate::FieldsNamed)
2040
+ where
2041
+ V: Visit<'ast> + ?Sized,
2042
+ {
2043
+ skip!(node.brace_token);
2044
+ for el in Punctuated::pairs(&node.named) {
2045
+ let it = el.value();
2046
+ v.visit_field(it);
2047
+ }
2048
+ }
2049
+ #[cfg(any(feature = "derive", feature = "full"))]
2050
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2051
+ pub fn visit_fields_unnamed<'ast, V>(v: &mut V, node: &'ast crate::FieldsUnnamed)
2052
+ where
2053
+ V: Visit<'ast> + ?Sized,
2054
+ {
2055
+ skip!(node.paren_token);
2056
+ for el in Punctuated::pairs(&node.unnamed) {
2057
+ let it = el.value();
2058
+ v.visit_field(it);
2059
+ }
2060
+ }
2061
+ #[cfg(feature = "full")]
2062
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2063
+ pub fn visit_file<'ast, V>(v: &mut V, node: &'ast crate::File)
2064
+ where
2065
+ V: Visit<'ast> + ?Sized,
2066
+ {
2067
+ skip!(node.shebang);
2068
+ if let Some(it) = &node.frontmatter {
2069
+ v.visit_frontmatter(it);
2070
+ }
2071
+ for it in &node.attrs {
2072
+ v.visit_attribute(it);
2073
+ }
2074
+ for it in &node.items {
2075
+ v.visit_item(it);
2076
+ }
2077
+ }
2078
+ #[cfg(feature = "full")]
2079
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2080
+ pub fn visit_fn_arg<'ast, V>(v: &mut V, node: &'ast crate::FnArg)
2081
+ where
2082
+ V: Visit<'ast> + ?Sized,
2083
+ {
2084
+ match node {
2085
+ crate::FnArg::Receiver(_binding_0) => {
2086
+ v.visit_receiver(_binding_0);
2087
+ }
2088
+ crate::FnArg::Typed(_binding_0) => {
2089
+ v.visit_pat_type(_binding_0);
2090
+ }
2091
+ }
2092
+ }
2093
+ #[cfg(any(feature = "derive", feature = "full"))]
2094
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2095
+ pub fn visit_fn_ptr_variadic<'ast, V>(v: &mut V, node: &'ast crate::FnPtrVariadic)
2096
+ where
2097
+ V: Visit<'ast> + ?Sized,
2098
+ {
2099
+ for it in &node.attrs {
2100
+ v.visit_attribute(it);
2101
+ }
2102
+ if let Some(it) = &node.name {
2103
+ v.visit_ident(&(it).0);
2104
+ skip!((it).1);
2105
+ }
2106
+ skip!(node.dots);
2107
+ skip!(node.comma);
2108
+ }
2109
+ #[cfg(feature = "full")]
2110
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2111
+ pub fn visit_foreign_item<'ast, V>(v: &mut V, node: &'ast crate::ForeignItem)
2112
+ where
2113
+ V: Visit<'ast> + ?Sized,
2114
+ {
2115
+ match node {
2116
+ crate::ForeignItem::Fn(_binding_0) => {
2117
+ v.visit_foreign_item_fn(_binding_0);
2118
+ }
2119
+ crate::ForeignItem::Static(_binding_0) => {
2120
+ v.visit_foreign_item_static(_binding_0);
2121
+ }
2122
+ crate::ForeignItem::Type(_binding_0) => {
2123
+ v.visit_foreign_item_type(_binding_0);
2124
+ }
2125
+ crate::ForeignItem::Macro(_binding_0) => {
2126
+ v.visit_foreign_item_macro(_binding_0);
2127
+ }
2128
+ crate::ForeignItem::Verbatim(_binding_0) => {
2129
+ v.visit_token_stream(_binding_0);
2130
+ }
2131
+ }
2132
+ }
2133
+ #[cfg(feature = "full")]
2134
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2135
+ pub fn visit_foreign_item_fn<'ast, V>(v: &mut V, node: &'ast crate::ForeignItemFn)
2136
+ where
2137
+ V: Visit<'ast> + ?Sized,
2138
+ {
2139
+ for it in &node.attrs {
2140
+ v.visit_attribute(it);
2141
+ }
2142
+ v.visit_visibility(&node.vis);
2143
+ skip!(node.modifiers);
2144
+ v.visit_signature(&node.sig);
2145
+ skip!(node.semi_token);
2146
+ }
2147
+ #[cfg(feature = "full")]
2148
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2149
+ pub fn visit_foreign_item_macro<'ast, V>(v: &mut V, node: &'ast crate::ForeignItemMacro)
2150
+ where
2151
+ V: Visit<'ast> + ?Sized,
2152
+ {
2153
+ for it in &node.attrs {
2154
+ v.visit_attribute(it);
2155
+ }
2156
+ v.visit_macro(&node.mac);
2157
+ skip!(node.semi_token);
2158
+ }
2159
+ #[cfg(feature = "full")]
2160
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2161
+ pub fn visit_foreign_item_static<'ast, V>(
2162
+ v: &mut V,
2163
+ node: &'ast crate::ForeignItemStatic,
2164
+ )
2165
+ where
2166
+ V: Visit<'ast> + ?Sized,
2167
+ {
2168
+ for it in &node.attrs {
2169
+ v.visit_attribute(it);
2170
+ }
2171
+ v.visit_visibility(&node.vis);
2172
+ v.visit_safety(&node.safety);
2173
+ skip!(node.static_token);
2174
+ v.visit_static_mutability(&node.mutability);
2175
+ v.visit_ident(&node.ident);
2176
+ skip!(node.colon_token);
2177
+ v.visit_type(&*node.ty);
2178
+ skip!(node.semi_token);
2179
+ }
2180
+ #[cfg(feature = "full")]
2181
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2182
+ pub fn visit_foreign_item_type<'ast, V>(v: &mut V, node: &'ast crate::ForeignItemType)
2183
+ where
2184
+ V: Visit<'ast> + ?Sized,
2185
+ {
2186
+ for it in &node.attrs {
2187
+ v.visit_attribute(it);
2188
+ }
2189
+ v.visit_visibility(&node.vis);
2190
+ skip!(node.modifiers);
2191
+ skip!(node.type_token);
2192
+ v.visit_ident(&node.ident);
2193
+ v.visit_generics(&node.generics);
2194
+ skip!(node.semi_token);
2195
+ }
2196
+ #[cfg(feature = "full")]
2197
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2198
+ pub fn visit_frontmatter<'ast, V>(v: &mut V, node: &'ast crate::Frontmatter)
2199
+ where
2200
+ V: Visit<'ast> + ?Sized,
2201
+ {}
2202
+ #[cfg(any(feature = "derive", feature = "full"))]
2203
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2204
+ pub fn visit_generic_argument<'ast, V>(v: &mut V, node: &'ast crate::GenericArgument)
2205
+ where
2206
+ V: Visit<'ast> + ?Sized,
2207
+ {
2208
+ match node {
2209
+ crate::GenericArgument::Lifetime(_binding_0) => {
2210
+ v.visit_lifetime(_binding_0);
2211
+ }
2212
+ crate::GenericArgument::Type(_binding_0) => {
2213
+ v.visit_type(_binding_0);
2214
+ }
2215
+ crate::GenericArgument::Const(_binding_0) => {
2216
+ v.visit_expr(_binding_0);
2217
+ }
2218
+ crate::GenericArgument::AssocType(_binding_0) => {
2219
+ v.visit_assoc_type(_binding_0);
2220
+ }
2221
+ crate::GenericArgument::AssocConst(_binding_0) => {
2222
+ v.visit_assoc_const(_binding_0);
2223
+ }
2224
+ crate::GenericArgument::Constraint(_binding_0) => {
2225
+ v.visit_constraint(_binding_0);
2226
+ }
2227
+ }
2228
+ }
2229
+ #[cfg(any(feature = "derive", feature = "full"))]
2230
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2231
+ pub fn visit_generic_param<'ast, V>(v: &mut V, node: &'ast crate::GenericParam)
2232
+ where
2233
+ V: Visit<'ast> + ?Sized,
2234
+ {
2235
+ match node {
2236
+ crate::GenericParam::Lifetime(_binding_0) => {
2237
+ v.visit_lifetime_param(_binding_0);
2238
+ }
2239
+ crate::GenericParam::Type(_binding_0) => {
2240
+ v.visit_type_param(_binding_0);
2241
+ }
2242
+ crate::GenericParam::Const(_binding_0) => {
2243
+ v.visit_const_param(_binding_0);
2244
+ }
2245
+ }
2246
+ }
2247
+ #[cfg(any(feature = "derive", feature = "full"))]
2248
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2249
+ pub fn visit_generics<'ast, V>(v: &mut V, node: &'ast crate::Generics)
2250
+ where
2251
+ V: Visit<'ast> + ?Sized,
2252
+ {
2253
+ skip!(node.lt_token);
2254
+ for el in Punctuated::pairs(&node.params) {
2255
+ let it = el.value();
2256
+ v.visit_generic_param(it);
2257
+ }
2258
+ skip!(node.gt_token);
2259
+ if let Some(it) = &node.where_clause {
2260
+ v.visit_where_clause(it);
2261
+ }
2262
+ }
2263
+ pub fn visit_ident<'ast, V>(v: &mut V, node: &'ast proc_macro2::Ident)
2264
+ where
2265
+ V: Visit<'ast> + ?Sized,
2266
+ {}
2267
+ #[cfg(feature = "full")]
2268
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2269
+ pub fn visit_impl_item<'ast, V>(v: &mut V, node: &'ast crate::ImplItem)
2270
+ where
2271
+ V: Visit<'ast> + ?Sized,
2272
+ {
2273
+ match node {
2274
+ crate::ImplItem::Const(_binding_0) => {
2275
+ v.visit_impl_item_const(_binding_0);
2276
+ }
2277
+ crate::ImplItem::Fn(_binding_0) => {
2278
+ v.visit_impl_item_fn(_binding_0);
2279
+ }
2280
+ crate::ImplItem::Type(_binding_0) => {
2281
+ v.visit_impl_item_type(_binding_0);
2282
+ }
2283
+ crate::ImplItem::Macro(_binding_0) => {
2284
+ v.visit_impl_item_macro(_binding_0);
2285
+ }
2286
+ crate::ImplItem::Verbatim(_binding_0) => {
2287
+ v.visit_token_stream(_binding_0);
2288
+ }
2289
+ }
2290
+ }
2291
+ #[cfg(feature = "full")]
2292
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2293
+ pub fn visit_impl_item_const<'ast, V>(v: &mut V, node: &'ast crate::ImplItemConst)
2294
+ where
2295
+ V: Visit<'ast> + ?Sized,
2296
+ {
2297
+ for it in &node.attrs {
2298
+ v.visit_attribute(it);
2299
+ }
2300
+ v.visit_visibility(&node.vis);
2301
+ skip!(node.modifiers);
2302
+ skip!(node.const_token);
2303
+ v.visit_ident(&node.ident);
2304
+ v.visit_generics(&node.generics);
2305
+ skip!(node.colon_token);
2306
+ v.visit_type(&node.ty);
2307
+ skip!(node.eq_token);
2308
+ v.visit_expr(&node.expr);
2309
+ skip!(node.semi_token);
2310
+ }
2311
+ #[cfg(feature = "full")]
2312
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2313
+ pub fn visit_impl_item_fn<'ast, V>(v: &mut V, node: &'ast crate::ImplItemFn)
2314
+ where
2315
+ V: Visit<'ast> + ?Sized,
2316
+ {
2317
+ for it in &node.attrs {
2318
+ v.visit_attribute(it);
2319
+ }
2320
+ v.visit_visibility(&node.vis);
2321
+ skip!(node.modifiers);
2322
+ v.visit_signature(&node.sig);
2323
+ v.visit_block(&node.block);
2324
+ }
2325
+ #[cfg(feature = "full")]
2326
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2327
+ pub fn visit_impl_item_macro<'ast, V>(v: &mut V, node: &'ast crate::ImplItemMacro)
2328
+ where
2329
+ V: Visit<'ast> + ?Sized,
2330
+ {
2331
+ for it in &node.attrs {
2332
+ v.visit_attribute(it);
2333
+ }
2334
+ v.visit_macro(&node.mac);
2335
+ skip!(node.semi_token);
2336
+ }
2337
+ #[cfg(feature = "full")]
2338
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2339
+ pub fn visit_impl_item_type<'ast, V>(v: &mut V, node: &'ast crate::ImplItemType)
2340
+ where
2341
+ V: Visit<'ast> + ?Sized,
2342
+ {
2343
+ for it in &node.attrs {
2344
+ v.visit_attribute(it);
2345
+ }
2346
+ v.visit_visibility(&node.vis);
2347
+ skip!(node.modifiers);
2348
+ skip!(node.type_token);
2349
+ v.visit_ident(&node.ident);
2350
+ v.visit_generics(&node.generics);
2351
+ skip!(node.eq_token);
2352
+ v.visit_type(&node.ty);
2353
+ skip!(node.semi_token);
2354
+ }
2355
+ #[cfg(any(feature = "derive", feature = "full"))]
2356
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2357
+ pub fn visit_index<'ast, V>(v: &mut V, node: &'ast crate::Index)
2358
+ where
2359
+ V: Visit<'ast> + ?Sized,
2360
+ {
2361
+ skip!(node.index);
2362
+ skip!(node.span);
2363
+ }
2364
+ #[cfg(feature = "full")]
2365
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2366
+ pub fn visit_item<'ast, V>(v: &mut V, node: &'ast crate::Item)
2367
+ where
2368
+ V: Visit<'ast> + ?Sized,
2369
+ {
2370
+ match node {
2371
+ crate::Item::Const(_binding_0) => {
2372
+ v.visit_item_const(_binding_0);
2373
+ }
2374
+ crate::Item::Enum(_binding_0) => {
2375
+ v.visit_item_enum(_binding_0);
2376
+ }
2377
+ crate::Item::ExternCrate(_binding_0) => {
2378
+ v.visit_item_extern_crate(_binding_0);
2379
+ }
2380
+ crate::Item::Fn(_binding_0) => {
2381
+ v.visit_item_fn(_binding_0);
2382
+ }
2383
+ crate::Item::ForeignMod(_binding_0) => {
2384
+ v.visit_item_foreign_mod(_binding_0);
2385
+ }
2386
+ crate::Item::Impl(_binding_0) => {
2387
+ v.visit_item_impl(_binding_0);
2388
+ }
2389
+ crate::Item::Macro(_binding_0) => {
2390
+ v.visit_item_macro(_binding_0);
2391
+ }
2392
+ crate::Item::Mod(_binding_0) => {
2393
+ v.visit_item_mod(_binding_0);
2394
+ }
2395
+ crate::Item::Static(_binding_0) => {
2396
+ v.visit_item_static(_binding_0);
2397
+ }
2398
+ crate::Item::Struct(_binding_0) => {
2399
+ v.visit_item_struct(_binding_0);
2400
+ }
2401
+ crate::Item::Trait(_binding_0) => {
2402
+ v.visit_item_trait(_binding_0);
2403
+ }
2404
+ crate::Item::TraitAlias(_binding_0) => {
2405
+ v.visit_item_trait_alias(_binding_0);
2406
+ }
2407
+ crate::Item::Type(_binding_0) => {
2408
+ v.visit_item_type(_binding_0);
2409
+ }
2410
+ crate::Item::Union(_binding_0) => {
2411
+ v.visit_item_union(_binding_0);
2412
+ }
2413
+ crate::Item::Use(_binding_0) => {
2414
+ v.visit_item_use(_binding_0);
2415
+ }
2416
+ crate::Item::Verbatim(_binding_0) => {
2417
+ v.visit_token_stream(_binding_0);
2418
+ }
2419
+ }
2420
+ }
2421
+ #[cfg(feature = "full")]
2422
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2423
+ pub fn visit_item_const<'ast, V>(v: &mut V, node: &'ast crate::ItemConst)
2424
+ where
2425
+ V: Visit<'ast> + ?Sized,
2426
+ {
2427
+ for it in &node.attrs {
2428
+ v.visit_attribute(it);
2429
+ }
2430
+ v.visit_visibility(&node.vis);
2431
+ skip!(node.modifiers);
2432
+ skip!(node.const_token);
2433
+ v.visit_ident(&node.ident);
2434
+ v.visit_generics(&node.generics);
2435
+ skip!(node.colon_token);
2436
+ v.visit_type(&*node.ty);
2437
+ skip!(node.eq_token);
2438
+ v.visit_expr(&*node.expr);
2439
+ skip!(node.semi_token);
2440
+ }
2441
+ #[cfg(feature = "full")]
2442
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2443
+ pub fn visit_item_enum<'ast, V>(v: &mut V, node: &'ast crate::ItemEnum)
2444
+ where
2445
+ V: Visit<'ast> + ?Sized,
2446
+ {
2447
+ for it in &node.attrs {
2448
+ v.visit_attribute(it);
2449
+ }
2450
+ v.visit_visibility(&node.vis);
2451
+ skip!(node.enum_token);
2452
+ v.visit_ident(&node.ident);
2453
+ v.visit_generics(&node.generics);
2454
+ skip!(node.brace_token);
2455
+ for el in Punctuated::pairs(&node.variants) {
2456
+ let it = el.value();
2457
+ v.visit_variant(it);
2458
+ }
2459
+ }
2460
+ #[cfg(feature = "full")]
2461
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2462
+ pub fn visit_item_extern_crate<'ast, V>(v: &mut V, node: &'ast crate::ItemExternCrate)
2463
+ where
2464
+ V: Visit<'ast> + ?Sized,
2465
+ {
2466
+ for it in &node.attrs {
2467
+ v.visit_attribute(it);
2468
+ }
2469
+ v.visit_visibility(&node.vis);
2470
+ skip!(node.extern_token);
2471
+ skip!(node.crate_token);
2472
+ v.visit_ident(&node.ident);
2473
+ if let Some(it) = &node.rename {
2474
+ skip!((it).0);
2475
+ v.visit_ident(&(it).1);
2476
+ }
2477
+ skip!(node.semi_token);
2478
+ }
2479
+ #[cfg(feature = "full")]
2480
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2481
+ pub fn visit_item_fn<'ast, V>(v: &mut V, node: &'ast crate::ItemFn)
2482
+ where
2483
+ V: Visit<'ast> + ?Sized,
2484
+ {
2485
+ for it in &node.attrs {
2486
+ v.visit_attribute(it);
2487
+ }
2488
+ v.visit_visibility(&node.vis);
2489
+ skip!(node.modifiers);
2490
+ v.visit_signature(&node.sig);
2491
+ v.visit_block(&*node.block);
2492
+ }
2493
+ #[cfg(feature = "full")]
2494
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2495
+ pub fn visit_item_foreign_mod<'ast, V>(v: &mut V, node: &'ast crate::ItemForeignMod)
2496
+ where
2497
+ V: Visit<'ast> + ?Sized,
2498
+ {
2499
+ for it in &node.attrs {
2500
+ v.visit_attribute(it);
2501
+ }
2502
+ skip!(node.unsafety);
2503
+ v.visit_abi(&node.abi);
2504
+ skip!(node.brace_token);
2505
+ for it in &node.items {
2506
+ v.visit_foreign_item(it);
2507
+ }
2508
+ }
2509
+ #[cfg(feature = "full")]
2510
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2511
+ pub fn visit_item_impl<'ast, V>(v: &mut V, node: &'ast crate::ItemImpl)
2512
+ where
2513
+ V: Visit<'ast> + ?Sized,
2514
+ {
2515
+ for it in &node.attrs {
2516
+ v.visit_attribute(it);
2517
+ }
2518
+ skip!(node.modifiers);
2519
+ skip!(node.unsafety);
2520
+ skip!(node.impl_token);
2521
+ v.visit_generics(&node.generics);
2522
+ if let Some(it) = &node.trait_ {
2523
+ v.visit_path(&(it).0);
2524
+ skip!((it).1);
2525
+ }
2526
+ v.visit_type(&*node.self_ty);
2527
+ skip!(node.brace_token);
2528
+ for it in &node.items {
2529
+ v.visit_impl_item(it);
2530
+ }
2531
+ }
2532
+ #[cfg(feature = "full")]
2533
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2534
+ pub fn visit_item_macro<'ast, V>(v: &mut V, node: &'ast crate::ItemMacro)
2535
+ where
2536
+ V: Visit<'ast> + ?Sized,
2537
+ {
2538
+ for it in &node.attrs {
2539
+ v.visit_attribute(it);
2540
+ }
2541
+ if let Some(it) = &node.ident {
2542
+ v.visit_ident(it);
2543
+ }
2544
+ v.visit_macro(&node.mac);
2545
+ skip!(node.semi_token);
2546
+ }
2547
+ #[cfg(feature = "full")]
2548
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2549
+ pub fn visit_item_mod<'ast, V>(v: &mut V, node: &'ast crate::ItemMod)
2550
+ where
2551
+ V: Visit<'ast> + ?Sized,
2552
+ {
2553
+ for it in &node.attrs {
2554
+ v.visit_attribute(it);
2555
+ }
2556
+ v.visit_visibility(&node.vis);
2557
+ skip!(node.unsafety);
2558
+ skip!(node.mod_token);
2559
+ v.visit_ident(&node.ident);
2560
+ if let Some(it) = &node.content {
2561
+ skip!((it).0);
2562
+ for it in &(it).1 {
2563
+ v.visit_item(it);
2564
+ }
2565
+ }
2566
+ skip!(node.semi);
2567
+ }
2568
+ #[cfg(feature = "full")]
2569
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2570
+ pub fn visit_item_static<'ast, V>(v: &mut V, node: &'ast crate::ItemStatic)
2571
+ where
2572
+ V: Visit<'ast> + ?Sized,
2573
+ {
2574
+ for it in &node.attrs {
2575
+ v.visit_attribute(it);
2576
+ }
2577
+ v.visit_visibility(&node.vis);
2578
+ skip!(node.static_token);
2579
+ v.visit_static_mutability(&node.mutability);
2580
+ v.visit_ident(&node.ident);
2581
+ skip!(node.colon_token);
2582
+ v.visit_type(&*node.ty);
2583
+ skip!(node.eq_token);
2584
+ v.visit_expr(&*node.expr);
2585
+ skip!(node.semi_token);
2586
+ }
2587
+ #[cfg(feature = "full")]
2588
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2589
+ pub fn visit_item_struct<'ast, V>(v: &mut V, node: &'ast crate::ItemStruct)
2590
+ where
2591
+ V: Visit<'ast> + ?Sized,
2592
+ {
2593
+ for it in &node.attrs {
2594
+ v.visit_attribute(it);
2595
+ }
2596
+ v.visit_visibility(&node.vis);
2597
+ skip!(node.struct_token);
2598
+ v.visit_ident(&node.ident);
2599
+ v.visit_generics(&node.generics);
2600
+ v.visit_fields(&node.fields);
2601
+ skip!(node.semi_token);
2602
+ }
2603
+ #[cfg(feature = "full")]
2604
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2605
+ pub fn visit_item_trait<'ast, V>(v: &mut V, node: &'ast crate::ItemTrait)
2606
+ where
2607
+ V: Visit<'ast> + ?Sized,
2608
+ {
2609
+ for it in &node.attrs {
2610
+ v.visit_attribute(it);
2611
+ }
2612
+ v.visit_visibility(&node.vis);
2613
+ skip!(node.modifiers);
2614
+ skip!(node.unsafety);
2615
+ skip!(node.trait_token);
2616
+ v.visit_ident(&node.ident);
2617
+ v.visit_generics(&node.generics);
2618
+ skip!(node.colon_token);
2619
+ for el in Punctuated::pairs(&node.supertraits) {
2620
+ let it = el.value();
2621
+ v.visit_type_param_bound(it);
2622
+ }
2623
+ skip!(node.brace_token);
2624
+ for it in &node.items {
2625
+ v.visit_trait_item(it);
2626
+ }
2627
+ }
2628
+ #[cfg(feature = "full")]
2629
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2630
+ pub fn visit_item_trait_alias<'ast, V>(v: &mut V, node: &'ast crate::ItemTraitAlias)
2631
+ where
2632
+ V: Visit<'ast> + ?Sized,
2633
+ {
2634
+ for it in &node.attrs {
2635
+ v.visit_attribute(it);
2636
+ }
2637
+ v.visit_visibility(&node.vis);
2638
+ skip!(node.trait_token);
2639
+ v.visit_ident(&node.ident);
2640
+ v.visit_generics(&node.generics);
2641
+ skip!(node.eq_token);
2642
+ for el in Punctuated::pairs(&node.bounds) {
2643
+ let it = el.value();
2644
+ v.visit_type_param_bound(it);
2645
+ }
2646
+ skip!(node.semi_token);
2647
+ }
2648
+ #[cfg(feature = "full")]
2649
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2650
+ pub fn visit_item_type<'ast, V>(v: &mut V, node: &'ast crate::ItemType)
2651
+ where
2652
+ V: Visit<'ast> + ?Sized,
2653
+ {
2654
+ for it in &node.attrs {
2655
+ v.visit_attribute(it);
2656
+ }
2657
+ v.visit_visibility(&node.vis);
2658
+ skip!(node.modifiers);
2659
+ skip!(node.type_token);
2660
+ v.visit_ident(&node.ident);
2661
+ v.visit_generics(&node.generics);
2662
+ skip!(node.eq_token);
2663
+ v.visit_type(&*node.ty);
2664
+ skip!(node.semi_token);
2665
+ v.visit_where_clause_placement(&node.where_clause_placement);
2666
+ }
2667
+ #[cfg(feature = "full")]
2668
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2669
+ pub fn visit_item_union<'ast, V>(v: &mut V, node: &'ast crate::ItemUnion)
2670
+ where
2671
+ V: Visit<'ast> + ?Sized,
2672
+ {
2673
+ for it in &node.attrs {
2674
+ v.visit_attribute(it);
2675
+ }
2676
+ v.visit_visibility(&node.vis);
2677
+ skip!(node.union_token);
2678
+ v.visit_ident(&node.ident);
2679
+ v.visit_generics(&node.generics);
2680
+ v.visit_fields_named(&node.fields);
2681
+ }
2682
+ #[cfg(feature = "full")]
2683
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2684
+ pub fn visit_item_use<'ast, V>(v: &mut V, node: &'ast crate::ItemUse)
2685
+ where
2686
+ V: Visit<'ast> + ?Sized,
2687
+ {
2688
+ for it in &node.attrs {
2689
+ v.visit_attribute(it);
2690
+ }
2691
+ v.visit_visibility(&node.vis);
2692
+ skip!(node.use_token);
2693
+ skip!(node.leading_colon);
2694
+ v.visit_use_tree(&node.tree);
2695
+ skip!(node.semi_token);
2696
+ }
2697
+ #[cfg(feature = "full")]
2698
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2699
+ pub fn visit_label<'ast, V>(v: &mut V, node: &'ast crate::Label)
2700
+ where
2701
+ V: Visit<'ast> + ?Sized,
2702
+ {
2703
+ v.visit_lifetime(&node.name);
2704
+ skip!(node.colon_token);
2705
+ }
2706
+ pub fn visit_lifetime<'ast, V>(v: &mut V, node: &'ast crate::Lifetime)
2707
+ where
2708
+ V: Visit<'ast> + ?Sized,
2709
+ {
2710
+ skip!(node.apostrophe);
2711
+ v.visit_ident(&node.ident);
2712
+ }
2713
+ #[cfg(any(feature = "derive", feature = "full"))]
2714
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2715
+ pub fn visit_lifetime_param<'ast, V>(v: &mut V, node: &'ast crate::LifetimeParam)
2716
+ where
2717
+ V: Visit<'ast> + ?Sized,
2718
+ {
2719
+ for it in &node.attrs {
2720
+ v.visit_attribute(it);
2721
+ }
2722
+ v.visit_lifetime(&node.lifetime);
2723
+ skip!(node.colon_token);
2724
+ for el in Punctuated::pairs(&node.bounds) {
2725
+ let it = el.value();
2726
+ v.visit_lifetime(it);
2727
+ }
2728
+ }
2729
+ pub fn visit_lit<'ast, V>(v: &mut V, node: &'ast crate::Lit)
2730
+ where
2731
+ V: Visit<'ast> + ?Sized,
2732
+ {
2733
+ match node {
2734
+ crate::Lit::Str(_binding_0) => {
2735
+ v.visit_lit_str(_binding_0);
2736
+ }
2737
+ crate::Lit::ByteStr(_binding_0) => {
2738
+ v.visit_lit_byte_str(_binding_0);
2739
+ }
2740
+ crate::Lit::CStr(_binding_0) => {
2741
+ v.visit_lit_cstr(_binding_0);
2742
+ }
2743
+ crate::Lit::Byte(_binding_0) => {
2744
+ v.visit_lit_byte(_binding_0);
2745
+ }
2746
+ crate::Lit::Char(_binding_0) => {
2747
+ v.visit_lit_char(_binding_0);
2748
+ }
2749
+ crate::Lit::Int(_binding_0) => {
2750
+ v.visit_lit_int(_binding_0);
2751
+ }
2752
+ crate::Lit::Float(_binding_0) => {
2753
+ v.visit_lit_float(_binding_0);
2754
+ }
2755
+ crate::Lit::Bool(_binding_0) => {
2756
+ v.visit_lit_bool(_binding_0);
2757
+ }
2758
+ crate::Lit::Verbatim(_binding_0) => {
2759
+ skip!(_binding_0);
2760
+ }
2761
+ }
2762
+ }
2763
+ pub fn visit_lit_bool<'ast, V>(v: &mut V, node: &'ast crate::LitBool)
2764
+ where
2765
+ V: Visit<'ast> + ?Sized,
2766
+ {
2767
+ skip!(node.value);
2768
+ skip!(node.span);
2769
+ }
2770
+ pub fn visit_lit_byte<'ast, V>(v: &mut V, node: &'ast crate::LitByte)
2771
+ where
2772
+ V: Visit<'ast> + ?Sized,
2773
+ {}
2774
+ pub fn visit_lit_byte_str<'ast, V>(v: &mut V, node: &'ast crate::LitByteStr)
2775
+ where
2776
+ V: Visit<'ast> + ?Sized,
2777
+ {}
2778
+ pub fn visit_lit_cstr<'ast, V>(v: &mut V, node: &'ast crate::LitCStr)
2779
+ where
2780
+ V: Visit<'ast> + ?Sized,
2781
+ {}
2782
+ pub fn visit_lit_char<'ast, V>(v: &mut V, node: &'ast crate::LitChar)
2783
+ where
2784
+ V: Visit<'ast> + ?Sized,
2785
+ {}
2786
+ pub fn visit_lit_float<'ast, V>(v: &mut V, node: &'ast crate::LitFloat)
2787
+ where
2788
+ V: Visit<'ast> + ?Sized,
2789
+ {}
2790
+ pub fn visit_lit_int<'ast, V>(v: &mut V, node: &'ast crate::LitInt)
2791
+ where
2792
+ V: Visit<'ast> + ?Sized,
2793
+ {}
2794
+ pub fn visit_lit_str<'ast, V>(v: &mut V, node: &'ast crate::LitStr)
2795
+ where
2796
+ V: Visit<'ast> + ?Sized,
2797
+ {}
2798
+ #[cfg(feature = "full")]
2799
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2800
+ pub fn visit_local<'ast, V>(v: &mut V, node: &'ast crate::Local)
2801
+ where
2802
+ V: Visit<'ast> + ?Sized,
2803
+ {
2804
+ for it in &node.attrs {
2805
+ v.visit_attribute(it);
2806
+ }
2807
+ skip!(node.let_token);
2808
+ skip!(node.modifiers);
2809
+ v.visit_pat(&node.pat);
2810
+ if let Some(it) = &node.init {
2811
+ v.visit_local_init(it);
2812
+ }
2813
+ skip!(node.semi_token);
2814
+ }
2815
+ #[cfg(feature = "full")]
2816
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2817
+ pub fn visit_local_init<'ast, V>(v: &mut V, node: &'ast crate::LocalInit)
2818
+ where
2819
+ V: Visit<'ast> + ?Sized,
2820
+ {
2821
+ skip!(node.eq_token);
2822
+ v.visit_expr(&*node.expr);
2823
+ if let Some(it) = &node.diverge {
2824
+ skip!((it).0);
2825
+ v.visit_expr(&*(it).1);
2826
+ }
2827
+ }
2828
+ #[cfg(any(feature = "derive", feature = "full"))]
2829
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2830
+ pub fn visit_macro<'ast, V>(v: &mut V, node: &'ast crate::Macro)
2831
+ where
2832
+ V: Visit<'ast> + ?Sized,
2833
+ {
2834
+ v.visit_path(&node.path);
2835
+ skip!(node.bang_token);
2836
+ v.visit_macro_delimiter(&node.delimiter);
2837
+ v.visit_token_stream(&node.tokens);
2838
+ }
2839
+ #[cfg(any(feature = "derive", feature = "full"))]
2840
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2841
+ pub fn visit_macro_delimiter<'ast, V>(v: &mut V, node: &'ast crate::MacroDelimiter)
2842
+ where
2843
+ V: Visit<'ast> + ?Sized,
2844
+ {
2845
+ match node {
2846
+ crate::MacroDelimiter::Paren(_binding_0) => {
2847
+ skip!(_binding_0);
2848
+ }
2849
+ crate::MacroDelimiter::Brace(_binding_0) => {
2850
+ skip!(_binding_0);
2851
+ }
2852
+ crate::MacroDelimiter::Bracket(_binding_0) => {
2853
+ skip!(_binding_0);
2854
+ }
2855
+ }
2856
+ }
2857
+ #[cfg(any(feature = "derive", feature = "full"))]
2858
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2859
+ pub fn visit_member<'ast, V>(v: &mut V, node: &'ast crate::Member)
2860
+ where
2861
+ V: Visit<'ast> + ?Sized,
2862
+ {
2863
+ match node {
2864
+ crate::Member::Named(_binding_0) => {
2865
+ v.visit_ident(_binding_0);
2866
+ }
2867
+ crate::Member::Unnamed(_binding_0) => {
2868
+ v.visit_index(_binding_0);
2869
+ }
2870
+ }
2871
+ }
2872
+ #[cfg(any(feature = "derive", feature = "full"))]
2873
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2874
+ pub fn visit_meta<'ast, V>(v: &mut V, node: &'ast crate::Meta)
2875
+ where
2876
+ V: Visit<'ast> + ?Sized,
2877
+ {
2878
+ match node {
2879
+ crate::Meta::Path(_binding_0) => {
2880
+ v.visit_path(_binding_0);
2881
+ }
2882
+ crate::Meta::List(_binding_0) => {
2883
+ v.visit_meta_list(_binding_0);
2884
+ }
2885
+ crate::Meta::NameValue(_binding_0) => {
2886
+ v.visit_meta_name_value(_binding_0);
2887
+ }
2888
+ }
2889
+ }
2890
+ #[cfg(any(feature = "derive", feature = "full"))]
2891
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2892
+ pub fn visit_meta_list<'ast, V>(v: &mut V, node: &'ast crate::MetaList)
2893
+ where
2894
+ V: Visit<'ast> + ?Sized,
2895
+ {
2896
+ v.visit_path(&node.path);
2897
+ v.visit_macro_delimiter(&node.delimiter);
2898
+ v.visit_token_stream(&node.tokens);
2899
+ }
2900
+ #[cfg(any(feature = "derive", feature = "full"))]
2901
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2902
+ pub fn visit_meta_name_value<'ast, V>(v: &mut V, node: &'ast crate::MetaNameValue)
2903
+ where
2904
+ V: Visit<'ast> + ?Sized,
2905
+ {
2906
+ v.visit_path(&node.path);
2907
+ skip!(node.eq_token);
2908
+ v.visit_expr(&node.value);
2909
+ }
2910
+ #[cfg(any(feature = "derive", feature = "full"))]
2911
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2912
+ pub fn visit_named_arg<'ast, V>(v: &mut V, node: &'ast crate::NamedArg)
2913
+ where
2914
+ V: Visit<'ast> + ?Sized,
2915
+ {
2916
+ for it in &node.attrs {
2917
+ v.visit_attribute(it);
2918
+ }
2919
+ if let Some(it) = &node.name {
2920
+ v.visit_ident(&(it).0);
2921
+ skip!((it).1);
2922
+ }
2923
+ v.visit_type(&node.ty);
2924
+ }
2925
+ #[cfg(any(feature = "derive", feature = "full"))]
2926
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
2927
+ pub fn visit_parenthesized_generic_arguments<'ast, V>(
2928
+ v: &mut V,
2929
+ node: &'ast crate::ParenthesizedGenericArguments,
2930
+ )
2931
+ where
2932
+ V: Visit<'ast> + ?Sized,
2933
+ {
2934
+ skip!(node.paren_token);
2935
+ for el in Punctuated::pairs(&node.inputs) {
2936
+ let it = el.value();
2937
+ v.visit_named_arg(it);
2938
+ }
2939
+ v.visit_return_type(&node.output);
2940
+ }
2941
+ #[cfg(feature = "full")]
2942
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
2943
+ pub fn visit_pat<'ast, V>(v: &mut V, node: &'ast crate::Pat)
2944
+ where
2945
+ V: Visit<'ast> + ?Sized,
2946
+ {
2947
+ match node {
2948
+ crate::Pat::Const(_binding_0) => {
2949
+ v.visit_expr_const(_binding_0);
2950
+ }
2951
+ crate::Pat::Guard(_binding_0) => {
2952
+ v.visit_pat_guard(_binding_0);
2953
+ }
2954
+ crate::Pat::Ident(_binding_0) => {
2955
+ v.visit_pat_ident(_binding_0);
2956
+ }
2957
+ crate::Pat::Lit(_binding_0) => {
2958
+ v.visit_expr_lit(_binding_0);
2959
+ }
2960
+ crate::Pat::Macro(_binding_0) => {
2961
+ v.visit_expr_macro(_binding_0);
2962
+ }
2963
+ crate::Pat::Or(_binding_0) => {
2964
+ v.visit_pat_or(_binding_0);
2965
+ }
2966
+ crate::Pat::Paren(_binding_0) => {
2967
+ v.visit_pat_paren(_binding_0);
2968
+ }
2969
+ crate::Pat::Path(_binding_0) => {
2970
+ v.visit_expr_path(_binding_0);
2971
+ }
2972
+ crate::Pat::Range(_binding_0) => {
2973
+ v.visit_expr_range(_binding_0);
2974
+ }
2975
+ crate::Pat::Reference(_binding_0) => {
2976
+ v.visit_pat_reference(_binding_0);
2977
+ }
2978
+ crate::Pat::Rest(_binding_0) => {
2979
+ v.visit_pat_rest(_binding_0);
2980
+ }
2981
+ crate::Pat::Slice(_binding_0) => {
2982
+ v.visit_pat_slice(_binding_0);
2983
+ }
2984
+ crate::Pat::Struct(_binding_0) => {
2985
+ v.visit_pat_struct(_binding_0);
2986
+ }
2987
+ crate::Pat::Tuple(_binding_0) => {
2988
+ v.visit_pat_tuple(_binding_0);
2989
+ }
2990
+ crate::Pat::TupleStruct(_binding_0) => {
2991
+ v.visit_pat_tuple_struct(_binding_0);
2992
+ }
2993
+ crate::Pat::Type(_binding_0) => {
2994
+ v.visit_pat_type(_binding_0);
2995
+ }
2996
+ crate::Pat::Verbatim(_binding_0) => {
2997
+ v.visit_token_stream(_binding_0);
2998
+ }
2999
+ crate::Pat::Wild(_binding_0) => {
3000
+ v.visit_pat_wild(_binding_0);
3001
+ }
3002
+ }
3003
+ }
3004
+ #[cfg(feature = "full")]
3005
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3006
+ pub fn visit_pat_guard<'ast, V>(v: &mut V, node: &'ast crate::PatGuard)
3007
+ where
3008
+ V: Visit<'ast> + ?Sized,
3009
+ {
3010
+ for it in &node.attrs {
3011
+ v.visit_attribute(it);
3012
+ }
3013
+ v.visit_pat(&*node.pat);
3014
+ skip!(node.if_token);
3015
+ v.visit_expr(&*node.guard);
3016
+ }
3017
+ #[cfg(feature = "full")]
3018
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3019
+ pub fn visit_pat_ident<'ast, V>(v: &mut V, node: &'ast crate::PatIdent)
3020
+ where
3021
+ V: Visit<'ast> + ?Sized,
3022
+ {
3023
+ for it in &node.attrs {
3024
+ v.visit_attribute(it);
3025
+ }
3026
+ skip!(node.by_ref);
3027
+ skip!(node.mutability);
3028
+ v.visit_ident(&node.ident);
3029
+ if let Some(it) = &node.subpat {
3030
+ skip!((it).0);
3031
+ v.visit_pat(&*(it).1);
3032
+ }
3033
+ }
3034
+ #[cfg(feature = "full")]
3035
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3036
+ pub fn visit_pat_or<'ast, V>(v: &mut V, node: &'ast crate::PatOr)
3037
+ where
3038
+ V: Visit<'ast> + ?Sized,
3039
+ {
3040
+ for it in &node.attrs {
3041
+ v.visit_attribute(it);
3042
+ }
3043
+ skip!(node.leading_vert);
3044
+ for el in Punctuated::pairs(&node.cases) {
3045
+ let it = el.value();
3046
+ v.visit_pat(it);
3047
+ }
3048
+ }
3049
+ #[cfg(feature = "full")]
3050
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3051
+ pub fn visit_pat_paren<'ast, V>(v: &mut V, node: &'ast crate::PatParen)
3052
+ where
3053
+ V: Visit<'ast> + ?Sized,
3054
+ {
3055
+ for it in &node.attrs {
3056
+ v.visit_attribute(it);
3057
+ }
3058
+ skip!(node.paren_token);
3059
+ v.visit_pat(&*node.pat);
3060
+ }
3061
+ #[cfg(feature = "full")]
3062
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3063
+ pub fn visit_pat_reference<'ast, V>(v: &mut V, node: &'ast crate::PatReference)
3064
+ where
3065
+ V: Visit<'ast> + ?Sized,
3066
+ {
3067
+ for it in &node.attrs {
3068
+ v.visit_attribute(it);
3069
+ }
3070
+ skip!(node.and_token);
3071
+ skip!(node.mutability);
3072
+ v.visit_pat(&*node.pat);
3073
+ }
3074
+ #[cfg(feature = "full")]
3075
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3076
+ pub fn visit_pat_rest<'ast, V>(v: &mut V, node: &'ast crate::PatRest)
3077
+ where
3078
+ V: Visit<'ast> + ?Sized,
3079
+ {
3080
+ for it in &node.attrs {
3081
+ v.visit_attribute(it);
3082
+ }
3083
+ skip!(node.dot2_token);
3084
+ }
3085
+ #[cfg(feature = "full")]
3086
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3087
+ pub fn visit_pat_slice<'ast, V>(v: &mut V, node: &'ast crate::PatSlice)
3088
+ where
3089
+ V: Visit<'ast> + ?Sized,
3090
+ {
3091
+ for it in &node.attrs {
3092
+ v.visit_attribute(it);
3093
+ }
3094
+ skip!(node.bracket_token);
3095
+ for el in Punctuated::pairs(&node.elems) {
3096
+ let it = el.value();
3097
+ v.visit_pat(it);
3098
+ }
3099
+ }
3100
+ #[cfg(feature = "full")]
3101
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3102
+ pub fn visit_pat_struct<'ast, V>(v: &mut V, node: &'ast crate::PatStruct)
3103
+ where
3104
+ V: Visit<'ast> + ?Sized,
3105
+ {
3106
+ for it in &node.attrs {
3107
+ v.visit_attribute(it);
3108
+ }
3109
+ if let Some(it) = &node.qself {
3110
+ v.visit_qself(it);
3111
+ }
3112
+ v.visit_path(&node.path);
3113
+ skip!(node.brace_token);
3114
+ for el in Punctuated::pairs(&node.fields) {
3115
+ let it = el.value();
3116
+ v.visit_field_pat(it);
3117
+ }
3118
+ if let Some(it) = &node.rest {
3119
+ v.visit_pat_rest(it);
3120
+ }
3121
+ }
3122
+ #[cfg(feature = "full")]
3123
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3124
+ pub fn visit_pat_tuple<'ast, V>(v: &mut V, node: &'ast crate::PatTuple)
3125
+ where
3126
+ V: Visit<'ast> + ?Sized,
3127
+ {
3128
+ for it in &node.attrs {
3129
+ v.visit_attribute(it);
3130
+ }
3131
+ skip!(node.paren_token);
3132
+ for el in Punctuated::pairs(&node.elems) {
3133
+ let it = el.value();
3134
+ v.visit_pat(it);
3135
+ }
3136
+ }
3137
+ #[cfg(feature = "full")]
3138
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3139
+ pub fn visit_pat_tuple_struct<'ast, V>(v: &mut V, node: &'ast crate::PatTupleStruct)
3140
+ where
3141
+ V: Visit<'ast> + ?Sized,
3142
+ {
3143
+ for it in &node.attrs {
3144
+ v.visit_attribute(it);
3145
+ }
3146
+ if let Some(it) = &node.qself {
3147
+ v.visit_qself(it);
3148
+ }
3149
+ v.visit_path(&node.path);
3150
+ skip!(node.paren_token);
3151
+ for el in Punctuated::pairs(&node.elems) {
3152
+ let it = el.value();
3153
+ v.visit_pat(it);
3154
+ }
3155
+ }
3156
+ #[cfg(feature = "full")]
3157
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3158
+ pub fn visit_pat_type<'ast, V>(v: &mut V, node: &'ast crate::PatType)
3159
+ where
3160
+ V: Visit<'ast> + ?Sized,
3161
+ {
3162
+ for it in &node.attrs {
3163
+ v.visit_attribute(it);
3164
+ }
3165
+ v.visit_pat(&*node.pat);
3166
+ skip!(node.colon_token);
3167
+ v.visit_type(&*node.ty);
3168
+ }
3169
+ #[cfg(feature = "full")]
3170
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3171
+ pub fn visit_pat_wild<'ast, V>(v: &mut V, node: &'ast crate::PatWild)
3172
+ where
3173
+ V: Visit<'ast> + ?Sized,
3174
+ {
3175
+ for it in &node.attrs {
3176
+ v.visit_attribute(it);
3177
+ }
3178
+ skip!(node.underscore_token);
3179
+ }
3180
+ #[cfg(any(feature = "derive", feature = "full"))]
3181
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3182
+ pub fn visit_path<'ast, V>(v: &mut V, node: &'ast crate::Path)
3183
+ where
3184
+ V: Visit<'ast> + ?Sized,
3185
+ {
3186
+ skip!(node.leading_colon);
3187
+ for el in Punctuated::pairs(&node.segments) {
3188
+ let it = el.value();
3189
+ v.visit_path_segment(it);
3190
+ }
3191
+ }
3192
+ #[cfg(any(feature = "derive", feature = "full"))]
3193
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3194
+ pub fn visit_path_arguments<'ast, V>(v: &mut V, node: &'ast crate::PathArguments)
3195
+ where
3196
+ V: Visit<'ast> + ?Sized,
3197
+ {
3198
+ match node {
3199
+ crate::PathArguments::None => {}
3200
+ crate::PathArguments::AngleBracketed(_binding_0) => {
3201
+ v.visit_angle_bracketed_generic_arguments(_binding_0);
3202
+ }
3203
+ crate::PathArguments::Parenthesized(_binding_0) => {
3204
+ v.visit_parenthesized_generic_arguments(_binding_0);
3205
+ }
3206
+ }
3207
+ }
3208
+ #[cfg(any(feature = "derive", feature = "full"))]
3209
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3210
+ pub fn visit_path_segment<'ast, V>(v: &mut V, node: &'ast crate::PathSegment)
3211
+ where
3212
+ V: Visit<'ast> + ?Sized,
3213
+ {
3214
+ v.visit_ident(&node.ident);
3215
+ v.visit_path_arguments(&node.arguments);
3216
+ }
3217
+ #[cfg(any(feature = "derive", feature = "full"))]
3218
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3219
+ pub fn visit_pointer_mutability<'ast, V>(v: &mut V, node: &'ast crate::PointerMutability)
3220
+ where
3221
+ V: Visit<'ast> + ?Sized,
3222
+ {
3223
+ match node {
3224
+ crate::PointerMutability::Const(_binding_0) => {
3225
+ skip!(_binding_0);
3226
+ }
3227
+ crate::PointerMutability::Mut(_binding_0) => {
3228
+ skip!(_binding_0);
3229
+ }
3230
+ }
3231
+ }
3232
+ #[cfg(feature = "full")]
3233
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3234
+ pub fn visit_precise_capture<'ast, V>(v: &mut V, node: &'ast crate::PreciseCapture)
3235
+ where
3236
+ V: Visit<'ast> + ?Sized,
3237
+ {
3238
+ skip!(node.use_token);
3239
+ skip!(node.lt_token);
3240
+ for el in Punctuated::pairs(&node.params) {
3241
+ let it = el.value();
3242
+ v.visit_captured_param(it);
3243
+ }
3244
+ skip!(node.gt_token);
3245
+ }
3246
+ #[cfg(any(feature = "derive", feature = "full"))]
3247
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3248
+ pub fn visit_predicate_lifetime<'ast, V>(v: &mut V, node: &'ast crate::PredicateLifetime)
3249
+ where
3250
+ V: Visit<'ast> + ?Sized,
3251
+ {
3252
+ for it in &node.attrs {
3253
+ v.visit_attribute(it);
3254
+ }
3255
+ v.visit_lifetime(&node.lifetime);
3256
+ skip!(node.colon_token);
3257
+ for el in Punctuated::pairs(&node.bounds) {
3258
+ let it = el.value();
3259
+ v.visit_lifetime(it);
3260
+ }
3261
+ }
3262
+ #[cfg(any(feature = "derive", feature = "full"))]
3263
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3264
+ pub fn visit_predicate_type<'ast, V>(v: &mut V, node: &'ast crate::PredicateType)
3265
+ where
3266
+ V: Visit<'ast> + ?Sized,
3267
+ {
3268
+ for it in &node.attrs {
3269
+ v.visit_attribute(it);
3270
+ }
3271
+ if let Some(it) = &node.lifetimes {
3272
+ v.visit_bound_lifetimes(it);
3273
+ }
3274
+ v.visit_type(&node.bounded_ty);
3275
+ skip!(node.colon_token);
3276
+ for el in Punctuated::pairs(&node.bounds) {
3277
+ let it = el.value();
3278
+ v.visit_type_param_bound(it);
3279
+ }
3280
+ }
3281
+ #[cfg(any(feature = "derive", feature = "full"))]
3282
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3283
+ pub fn visit_qself<'ast, V>(v: &mut V, node: &'ast crate::QSelf)
3284
+ where
3285
+ V: Visit<'ast> + ?Sized,
3286
+ {
3287
+ skip!(node.lt_token);
3288
+ v.visit_type(&*node.ty);
3289
+ skip!(node.position);
3290
+ skip!(node.as_token);
3291
+ skip!(node.gt_token);
3292
+ }
3293
+ #[cfg(feature = "full")]
3294
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3295
+ pub fn visit_range_limits<'ast, V>(v: &mut V, node: &'ast crate::RangeLimits)
3296
+ where
3297
+ V: Visit<'ast> + ?Sized,
3298
+ {
3299
+ match node {
3300
+ crate::RangeLimits::HalfOpen(_binding_0) => {
3301
+ skip!(_binding_0);
3302
+ }
3303
+ crate::RangeLimits::Closed(_binding_0) => {
3304
+ skip!(_binding_0);
3305
+ }
3306
+ }
3307
+ }
3308
+ #[cfg(feature = "full")]
3309
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3310
+ pub fn visit_receiver<'ast, V>(v: &mut V, node: &'ast crate::Receiver)
3311
+ where
3312
+ V: Visit<'ast> + ?Sized,
3313
+ {
3314
+ for it in &node.attrs {
3315
+ v.visit_attribute(it);
3316
+ }
3317
+ skip!(node.mutability);
3318
+ skip!(node.self_token);
3319
+ v.visit_receiver_kind(&node.kind);
3320
+ }
3321
+ #[cfg(feature = "full")]
3322
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3323
+ pub fn visit_receiver_kind<'ast, V>(v: &mut V, node: &'ast crate::ReceiverKind)
3324
+ where
3325
+ V: Visit<'ast> + ?Sized,
3326
+ {
3327
+ match node {
3328
+ crate::ReceiverKind::Value => {}
3329
+ crate::ReceiverKind::Reference(_binding_0, _binding_1, _binding_2) => {
3330
+ skip!(_binding_0);
3331
+ if let Some(it) = _binding_1 {
3332
+ v.visit_lifetime(it);
3333
+ }
3334
+ skip!(_binding_2);
3335
+ }
3336
+ crate::ReceiverKind::Typed(_binding_0, _binding_1) => {
3337
+ skip!(_binding_0);
3338
+ v.visit_type(&**_binding_1);
3339
+ }
3340
+ }
3341
+ }
3342
+ #[cfg(any(feature = "derive", feature = "full"))]
3343
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3344
+ pub fn visit_return_type<'ast, V>(v: &mut V, node: &'ast crate::ReturnType)
3345
+ where
3346
+ V: Visit<'ast> + ?Sized,
3347
+ {
3348
+ match node {
3349
+ crate::ReturnType::Default => {}
3350
+ crate::ReturnType::Type(_binding_0, _binding_1) => {
3351
+ skip!(_binding_0);
3352
+ v.visit_type(&**_binding_1);
3353
+ }
3354
+ }
3355
+ }
3356
+ #[cfg(feature = "full")]
3357
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3358
+ pub fn visit_safety<'ast, V>(v: &mut V, node: &'ast crate::Safety)
3359
+ where
3360
+ V: Visit<'ast> + ?Sized,
3361
+ {
3362
+ match node {
3363
+ crate::Safety::Safe(_binding_0) => {
3364
+ skip!(_binding_0);
3365
+ }
3366
+ crate::Safety::Unsafe(_binding_0) => {
3367
+ skip!(_binding_0);
3368
+ }
3369
+ crate::Safety::Default => {}
3370
+ }
3371
+ }
3372
+ #[cfg(feature = "full")]
3373
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3374
+ pub fn visit_signature<'ast, V>(v: &mut V, node: &'ast crate::Signature)
3375
+ where
3376
+ V: Visit<'ast> + ?Sized,
3377
+ {
3378
+ skip!(node.constness);
3379
+ skip!(node.asyncness);
3380
+ v.visit_safety(&node.safety);
3381
+ if let Some(it) = &node.abi {
3382
+ v.visit_abi(it);
3383
+ }
3384
+ skip!(node.fn_token);
3385
+ v.visit_ident(&node.ident);
3386
+ v.visit_generics(&node.generics);
3387
+ skip!(node.paren_token);
3388
+ for el in Punctuated::pairs(&node.inputs) {
3389
+ let it = el.value();
3390
+ v.visit_fn_arg(it);
3391
+ }
3392
+ if let Some(it) = &node.variadic {
3393
+ v.visit_variadic(it);
3394
+ }
3395
+ v.visit_return_type(&node.output);
3396
+ }
3397
+ #[cfg(feature = "full")]
3398
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3399
+ pub fn visit_static_mutability<'ast, V>(v: &mut V, node: &'ast crate::StaticMutability)
3400
+ where
3401
+ V: Visit<'ast> + ?Sized,
3402
+ {
3403
+ match node {
3404
+ crate::StaticMutability::Mut(_binding_0) => {
3405
+ skip!(_binding_0);
3406
+ }
3407
+ crate::StaticMutability::None => {}
3408
+ }
3409
+ }
3410
+ #[cfg(feature = "full")]
3411
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3412
+ pub fn visit_stmt<'ast, V>(v: &mut V, node: &'ast crate::Stmt)
3413
+ where
3414
+ V: Visit<'ast> + ?Sized,
3415
+ {
3416
+ match node {
3417
+ crate::Stmt::Local(_binding_0) => {
3418
+ v.visit_local(_binding_0);
3419
+ }
3420
+ crate::Stmt::Item(_binding_0) => {
3421
+ v.visit_item(_binding_0);
3422
+ }
3423
+ crate::Stmt::Expr(_binding_0, _binding_1) => {
3424
+ v.visit_expr(_binding_0);
3425
+ skip!(_binding_1);
3426
+ }
3427
+ crate::Stmt::Macro(_binding_0) => {
3428
+ v.visit_stmt_macro(_binding_0);
3429
+ }
3430
+ }
3431
+ }
3432
+ #[cfg(feature = "full")]
3433
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3434
+ pub fn visit_stmt_macro<'ast, V>(v: &mut V, node: &'ast crate::StmtMacro)
3435
+ where
3436
+ V: Visit<'ast> + ?Sized,
3437
+ {
3438
+ for it in &node.attrs {
3439
+ v.visit_attribute(it);
3440
+ }
3441
+ v.visit_macro(&node.mac);
3442
+ skip!(node.semi_token);
3443
+ }
3444
+ #[cfg(any(feature = "derive", feature = "full"))]
3445
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3446
+ pub fn visit_trait_bound<'ast, V>(v: &mut V, node: &'ast crate::TraitBound)
3447
+ where
3448
+ V: Visit<'ast> + ?Sized,
3449
+ {
3450
+ skip!(node.paren_token);
3451
+ if let Some(it) = &node.lifetimes {
3452
+ v.visit_bound_lifetimes(it);
3453
+ }
3454
+ skip!(node.modifiers);
3455
+ skip!(node.maybe);
3456
+ v.visit_path(&node.path);
3457
+ }
3458
+ #[cfg(feature = "full")]
3459
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3460
+ pub fn visit_trait_item<'ast, V>(v: &mut V, node: &'ast crate::TraitItem)
3461
+ where
3462
+ V: Visit<'ast> + ?Sized,
3463
+ {
3464
+ match node {
3465
+ crate::TraitItem::Const(_binding_0) => {
3466
+ v.visit_trait_item_const(_binding_0);
3467
+ }
3468
+ crate::TraitItem::Fn(_binding_0) => {
3469
+ v.visit_trait_item_fn(_binding_0);
3470
+ }
3471
+ crate::TraitItem::Type(_binding_0) => {
3472
+ v.visit_trait_item_type(_binding_0);
3473
+ }
3474
+ crate::TraitItem::Macro(_binding_0) => {
3475
+ v.visit_trait_item_macro(_binding_0);
3476
+ }
3477
+ crate::TraitItem::Verbatim(_binding_0) => {
3478
+ v.visit_token_stream(_binding_0);
3479
+ }
3480
+ }
3481
+ }
3482
+ #[cfg(feature = "full")]
3483
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3484
+ pub fn visit_trait_item_const<'ast, V>(v: &mut V, node: &'ast crate::TraitItemConst)
3485
+ where
3486
+ V: Visit<'ast> + ?Sized,
3487
+ {
3488
+ for it in &node.attrs {
3489
+ v.visit_attribute(it);
3490
+ }
3491
+ skip!(node.modifiers);
3492
+ skip!(node.const_token);
3493
+ v.visit_ident(&node.ident);
3494
+ v.visit_generics(&node.generics);
3495
+ skip!(node.colon_token);
3496
+ v.visit_type(&node.ty);
3497
+ if let Some(it) = &node.default {
3498
+ skip!((it).0);
3499
+ v.visit_expr(&(it).1);
3500
+ }
3501
+ skip!(node.semi_token);
3502
+ }
3503
+ #[cfg(feature = "full")]
3504
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3505
+ pub fn visit_trait_item_fn<'ast, V>(v: &mut V, node: &'ast crate::TraitItemFn)
3506
+ where
3507
+ V: Visit<'ast> + ?Sized,
3508
+ {
3509
+ for it in &node.attrs {
3510
+ v.visit_attribute(it);
3511
+ }
3512
+ skip!(node.modifiers);
3513
+ v.visit_signature(&node.sig);
3514
+ if let Some(it) = &node.default {
3515
+ v.visit_block(it);
3516
+ }
3517
+ skip!(node.semi_token);
3518
+ }
3519
+ #[cfg(feature = "full")]
3520
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3521
+ pub fn visit_trait_item_macro<'ast, V>(v: &mut V, node: &'ast crate::TraitItemMacro)
3522
+ where
3523
+ V: Visit<'ast> + ?Sized,
3524
+ {
3525
+ for it in &node.attrs {
3526
+ v.visit_attribute(it);
3527
+ }
3528
+ v.visit_macro(&node.mac);
3529
+ skip!(node.semi_token);
3530
+ }
3531
+ #[cfg(feature = "full")]
3532
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3533
+ pub fn visit_trait_item_type<'ast, V>(v: &mut V, node: &'ast crate::TraitItemType)
3534
+ where
3535
+ V: Visit<'ast> + ?Sized,
3536
+ {
3537
+ for it in &node.attrs {
3538
+ v.visit_attribute(it);
3539
+ }
3540
+ skip!(node.modifiers);
3541
+ skip!(node.type_token);
3542
+ v.visit_ident(&node.ident);
3543
+ v.visit_generics(&node.generics);
3544
+ skip!(node.colon_token);
3545
+ for el in Punctuated::pairs(&node.bounds) {
3546
+ let it = el.value();
3547
+ v.visit_type_param_bound(it);
3548
+ }
3549
+ if let Some(it) = &node.default {
3550
+ skip!((it).0);
3551
+ v.visit_type(&(it).1);
3552
+ }
3553
+ skip!(node.semi_token);
3554
+ }
3555
+ #[cfg(any(feature = "derive", feature = "full"))]
3556
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3557
+ pub fn visit_type<'ast, V>(v: &mut V, node: &'ast crate::Type)
3558
+ where
3559
+ V: Visit<'ast> + ?Sized,
3560
+ {
3561
+ match node {
3562
+ crate::Type::Array(_binding_0) => {
3563
+ v.visit_type_array(_binding_0);
3564
+ }
3565
+ crate::Type::FnPtr(_binding_0) => {
3566
+ v.visit_type_fn_ptr(_binding_0);
3567
+ }
3568
+ crate::Type::Group(_binding_0) => {
3569
+ v.visit_type_group(_binding_0);
3570
+ }
3571
+ crate::Type::ImplTrait(_binding_0) => {
3572
+ v.visit_type_impl_trait(_binding_0);
3573
+ }
3574
+ crate::Type::Infer(_binding_0) => {
3575
+ v.visit_type_infer(_binding_0);
3576
+ }
3577
+ crate::Type::Macro(_binding_0) => {
3578
+ v.visit_type_macro(_binding_0);
3579
+ }
3580
+ crate::Type::Never(_binding_0) => {
3581
+ v.visit_type_never(_binding_0);
3582
+ }
3583
+ crate::Type::Paren(_binding_0) => {
3584
+ v.visit_type_paren(_binding_0);
3585
+ }
3586
+ crate::Type::Path(_binding_0) => {
3587
+ v.visit_type_path(_binding_0);
3588
+ }
3589
+ crate::Type::Ptr(_binding_0) => {
3590
+ v.visit_type_ptr(_binding_0);
3591
+ }
3592
+ crate::Type::Reference(_binding_0) => {
3593
+ v.visit_type_reference(_binding_0);
3594
+ }
3595
+ crate::Type::Slice(_binding_0) => {
3596
+ v.visit_type_slice(_binding_0);
3597
+ }
3598
+ crate::Type::TraitObject(_binding_0) => {
3599
+ v.visit_type_trait_object(_binding_0);
3600
+ }
3601
+ crate::Type::Tuple(_binding_0) => {
3602
+ v.visit_type_tuple(_binding_0);
3603
+ }
3604
+ crate::Type::Verbatim(_binding_0) => {
3605
+ v.visit_token_stream(_binding_0);
3606
+ }
3607
+ }
3608
+ }
3609
+ #[cfg(any(feature = "derive", feature = "full"))]
3610
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3611
+ pub fn visit_type_array<'ast, V>(v: &mut V, node: &'ast crate::TypeArray)
3612
+ where
3613
+ V: Visit<'ast> + ?Sized,
3614
+ {
3615
+ for it in &node.attrs {
3616
+ v.visit_attribute(it);
3617
+ }
3618
+ skip!(node.bracket_token);
3619
+ v.visit_type(&*node.elem);
3620
+ skip!(node.semi_token);
3621
+ v.visit_expr(&node.len);
3622
+ }
3623
+ #[cfg(any(feature = "derive", feature = "full"))]
3624
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3625
+ pub fn visit_type_fn_ptr<'ast, V>(v: &mut V, node: &'ast crate::TypeFnPtr)
3626
+ where
3627
+ V: Visit<'ast> + ?Sized,
3628
+ {
3629
+ for it in &node.attrs {
3630
+ v.visit_attribute(it);
3631
+ }
3632
+ if let Some(it) = &node.lifetimes {
3633
+ v.visit_bound_lifetimes(it);
3634
+ }
3635
+ skip!(node.unsafety);
3636
+ if let Some(it) = &node.abi {
3637
+ v.visit_abi(it);
3638
+ }
3639
+ skip!(node.fn_token);
3640
+ skip!(node.paren_token);
3641
+ for el in Punctuated::pairs(&node.inputs) {
3642
+ let it = el.value();
3643
+ v.visit_named_arg(it);
3644
+ }
3645
+ if let Some(it) = &node.variadic {
3646
+ v.visit_fn_ptr_variadic(it);
3647
+ }
3648
+ v.visit_return_type(&node.output);
3649
+ }
3650
+ #[cfg(any(feature = "derive", feature = "full"))]
3651
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3652
+ pub fn visit_type_group<'ast, V>(v: &mut V, node: &'ast crate::TypeGroup)
3653
+ where
3654
+ V: Visit<'ast> + ?Sized,
3655
+ {
3656
+ for it in &node.attrs {
3657
+ v.visit_attribute(it);
3658
+ }
3659
+ skip!(node.group_token);
3660
+ v.visit_type(&*node.elem);
3661
+ }
3662
+ #[cfg(any(feature = "derive", feature = "full"))]
3663
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3664
+ pub fn visit_type_impl_trait<'ast, V>(v: &mut V, node: &'ast crate::TypeImplTrait)
3665
+ where
3666
+ V: Visit<'ast> + ?Sized,
3667
+ {
3668
+ for it in &node.attrs {
3669
+ v.visit_attribute(it);
3670
+ }
3671
+ skip!(node.impl_token);
3672
+ for el in Punctuated::pairs(&node.bounds) {
3673
+ let it = el.value();
3674
+ v.visit_type_param_bound(it);
3675
+ }
3676
+ }
3677
+ #[cfg(any(feature = "derive", feature = "full"))]
3678
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3679
+ pub fn visit_type_infer<'ast, V>(v: &mut V, node: &'ast crate::TypeInfer)
3680
+ where
3681
+ V: Visit<'ast> + ?Sized,
3682
+ {
3683
+ for it in &node.attrs {
3684
+ v.visit_attribute(it);
3685
+ }
3686
+ skip!(node.underscore_token);
3687
+ }
3688
+ #[cfg(any(feature = "derive", feature = "full"))]
3689
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3690
+ pub fn visit_type_macro<'ast, V>(v: &mut V, node: &'ast crate::TypeMacro)
3691
+ where
3692
+ V: Visit<'ast> + ?Sized,
3693
+ {
3694
+ for it in &node.attrs {
3695
+ v.visit_attribute(it);
3696
+ }
3697
+ v.visit_macro(&node.mac);
3698
+ }
3699
+ #[cfg(any(feature = "derive", feature = "full"))]
3700
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3701
+ pub fn visit_type_never<'ast, V>(v: &mut V, node: &'ast crate::TypeNever)
3702
+ where
3703
+ V: Visit<'ast> + ?Sized,
3704
+ {
3705
+ for it in &node.attrs {
3706
+ v.visit_attribute(it);
3707
+ }
3708
+ skip!(node.bang_token);
3709
+ }
3710
+ #[cfg(any(feature = "derive", feature = "full"))]
3711
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3712
+ pub fn visit_type_param<'ast, V>(v: &mut V, node: &'ast crate::TypeParam)
3713
+ where
3714
+ V: Visit<'ast> + ?Sized,
3715
+ {
3716
+ for it in &node.attrs {
3717
+ v.visit_attribute(it);
3718
+ }
3719
+ v.visit_ident(&node.ident);
3720
+ skip!(node.colon_token);
3721
+ for el in Punctuated::pairs(&node.bounds) {
3722
+ let it = el.value();
3723
+ v.visit_type_param_bound(it);
3724
+ }
3725
+ if let Some(it) = &node.default {
3726
+ skip!((it).0);
3727
+ v.visit_type(&(it).1);
3728
+ }
3729
+ }
3730
+ #[cfg(any(feature = "derive", feature = "full"))]
3731
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3732
+ pub fn visit_type_param_bound<'ast, V>(v: &mut V, node: &'ast crate::TypeParamBound)
3733
+ where
3734
+ V: Visit<'ast> + ?Sized,
3735
+ {
3736
+ match node {
3737
+ crate::TypeParamBound::Trait(_binding_0) => {
3738
+ v.visit_trait_bound(_binding_0);
3739
+ }
3740
+ crate::TypeParamBound::Lifetime(_binding_0) => {
3741
+ v.visit_lifetime(_binding_0);
3742
+ }
3743
+ crate::TypeParamBound::PreciseCapture(_binding_0) => {
3744
+ full!(v.visit_precise_capture(_binding_0));
3745
+ }
3746
+ crate::TypeParamBound::Verbatim(_binding_0) => {
3747
+ v.visit_token_stream(_binding_0);
3748
+ }
3749
+ }
3750
+ }
3751
+ #[cfg(any(feature = "derive", feature = "full"))]
3752
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3753
+ pub fn visit_type_paren<'ast, V>(v: &mut V, node: &'ast crate::TypeParen)
3754
+ where
3755
+ V: Visit<'ast> + ?Sized,
3756
+ {
3757
+ for it in &node.attrs {
3758
+ v.visit_attribute(it);
3759
+ }
3760
+ skip!(node.paren_token);
3761
+ v.visit_type(&*node.elem);
3762
+ }
3763
+ #[cfg(any(feature = "derive", feature = "full"))]
3764
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3765
+ pub fn visit_type_path<'ast, V>(v: &mut V, node: &'ast crate::TypePath)
3766
+ where
3767
+ V: Visit<'ast> + ?Sized,
3768
+ {
3769
+ for it in &node.attrs {
3770
+ v.visit_attribute(it);
3771
+ }
3772
+ if let Some(it) = &node.qself {
3773
+ v.visit_qself(it);
3774
+ }
3775
+ v.visit_path(&node.path);
3776
+ }
3777
+ #[cfg(any(feature = "derive", feature = "full"))]
3778
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3779
+ pub fn visit_type_ptr<'ast, V>(v: &mut V, node: &'ast crate::TypePtr)
3780
+ where
3781
+ V: Visit<'ast> + ?Sized,
3782
+ {
3783
+ for it in &node.attrs {
3784
+ v.visit_attribute(it);
3785
+ }
3786
+ skip!(node.star_token);
3787
+ v.visit_pointer_mutability(&node.mutability);
3788
+ v.visit_type(&*node.elem);
3789
+ }
3790
+ #[cfg(any(feature = "derive", feature = "full"))]
3791
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3792
+ pub fn visit_type_reference<'ast, V>(v: &mut V, node: &'ast crate::TypeReference)
3793
+ where
3794
+ V: Visit<'ast> + ?Sized,
3795
+ {
3796
+ for it in &node.attrs {
3797
+ v.visit_attribute(it);
3798
+ }
3799
+ skip!(node.and_token);
3800
+ if let Some(it) = &node.lifetime {
3801
+ v.visit_lifetime(it);
3802
+ }
3803
+ skip!(node.mutability);
3804
+ v.visit_type(&*node.elem);
3805
+ }
3806
+ #[cfg(any(feature = "derive", feature = "full"))]
3807
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3808
+ pub fn visit_type_slice<'ast, V>(v: &mut V, node: &'ast crate::TypeSlice)
3809
+ where
3810
+ V: Visit<'ast> + ?Sized,
3811
+ {
3812
+ for it in &node.attrs {
3813
+ v.visit_attribute(it);
3814
+ }
3815
+ skip!(node.bracket_token);
3816
+ v.visit_type(&*node.elem);
3817
+ }
3818
+ #[cfg(any(feature = "derive", feature = "full"))]
3819
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3820
+ pub fn visit_type_trait_object<'ast, V>(v: &mut V, node: &'ast crate::TypeTraitObject)
3821
+ where
3822
+ V: Visit<'ast> + ?Sized,
3823
+ {
3824
+ for it in &node.attrs {
3825
+ v.visit_attribute(it);
3826
+ }
3827
+ skip!(node.dyn_token);
3828
+ for el in Punctuated::pairs(&node.bounds) {
3829
+ let it = el.value();
3830
+ v.visit_type_param_bound(it);
3831
+ }
3832
+ }
3833
+ #[cfg(any(feature = "derive", feature = "full"))]
3834
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3835
+ pub fn visit_type_tuple<'ast, V>(v: &mut V, node: &'ast crate::TypeTuple)
3836
+ where
3837
+ V: Visit<'ast> + ?Sized,
3838
+ {
3839
+ for it in &node.attrs {
3840
+ v.visit_attribute(it);
3841
+ }
3842
+ skip!(node.paren_token);
3843
+ for el in Punctuated::pairs(&node.elems) {
3844
+ let it = el.value();
3845
+ v.visit_type(it);
3846
+ }
3847
+ }
3848
+ #[cfg(any(feature = "derive", feature = "full"))]
3849
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3850
+ pub fn visit_un_op<'ast, V>(v: &mut V, node: &'ast crate::UnOp)
3851
+ where
3852
+ V: Visit<'ast> + ?Sized,
3853
+ {
3854
+ match node {
3855
+ crate::UnOp::Deref(_binding_0) => {
3856
+ skip!(_binding_0);
3857
+ }
3858
+ crate::UnOp::Not(_binding_0) => {
3859
+ skip!(_binding_0);
3860
+ }
3861
+ crate::UnOp::Neg(_binding_0) => {
3862
+ skip!(_binding_0);
3863
+ }
3864
+ }
3865
+ }
3866
+ #[cfg(feature = "full")]
3867
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3868
+ pub fn visit_use_glob<'ast, V>(v: &mut V, node: &'ast crate::UseGlob)
3869
+ where
3870
+ V: Visit<'ast> + ?Sized,
3871
+ {
3872
+ skip!(node.star_token);
3873
+ }
3874
+ #[cfg(feature = "full")]
3875
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3876
+ pub fn visit_use_group<'ast, V>(v: &mut V, node: &'ast crate::UseGroup)
3877
+ where
3878
+ V: Visit<'ast> + ?Sized,
3879
+ {
3880
+ skip!(node.brace_token);
3881
+ for el in Punctuated::pairs(&node.items) {
3882
+ let it = el.value();
3883
+ v.visit_use_tree(it);
3884
+ }
3885
+ }
3886
+ #[cfg(feature = "full")]
3887
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3888
+ pub fn visit_use_name<'ast, V>(v: &mut V, node: &'ast crate::UseName)
3889
+ where
3890
+ V: Visit<'ast> + ?Sized,
3891
+ {
3892
+ v.visit_ident(&node.ident);
3893
+ }
3894
+ #[cfg(feature = "full")]
3895
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3896
+ pub fn visit_use_path<'ast, V>(v: &mut V, node: &'ast crate::UsePath)
3897
+ where
3898
+ V: Visit<'ast> + ?Sized,
3899
+ {
3900
+ v.visit_ident(&node.ident);
3901
+ skip!(node.colon2_token);
3902
+ v.visit_use_tree(&*node.tree);
3903
+ }
3904
+ #[cfg(feature = "full")]
3905
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3906
+ pub fn visit_use_rename<'ast, V>(v: &mut V, node: &'ast crate::UseRename)
3907
+ where
3908
+ V: Visit<'ast> + ?Sized,
3909
+ {
3910
+ v.visit_ident(&node.ident);
3911
+ skip!(node.as_token);
3912
+ v.visit_ident(&node.rename);
3913
+ }
3914
+ #[cfg(feature = "full")]
3915
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3916
+ pub fn visit_use_tree<'ast, V>(v: &mut V, node: &'ast crate::UseTree)
3917
+ where
3918
+ V: Visit<'ast> + ?Sized,
3919
+ {
3920
+ match node {
3921
+ crate::UseTree::Path(_binding_0) => {
3922
+ v.visit_use_path(_binding_0);
3923
+ }
3924
+ crate::UseTree::Name(_binding_0) => {
3925
+ v.visit_use_name(_binding_0);
3926
+ }
3927
+ crate::UseTree::Rename(_binding_0) => {
3928
+ v.visit_use_rename(_binding_0);
3929
+ }
3930
+ crate::UseTree::Glob(_binding_0) => {
3931
+ v.visit_use_glob(_binding_0);
3932
+ }
3933
+ crate::UseTree::Group(_binding_0) => {
3934
+ v.visit_use_group(_binding_0);
3935
+ }
3936
+ }
3937
+ }
3938
+ #[cfg(feature = "full")]
3939
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
3940
+ pub fn visit_variadic<'ast, V>(v: &mut V, node: &'ast crate::Variadic)
3941
+ where
3942
+ V: Visit<'ast> + ?Sized,
3943
+ {
3944
+ for it in &node.attrs {
3945
+ v.visit_attribute(it);
3946
+ }
3947
+ if let Some(it) = &node.pat {
3948
+ v.visit_pat(&*(it).0);
3949
+ skip!((it).1);
3950
+ }
3951
+ skip!(node.dots);
3952
+ skip!(node.comma);
3953
+ }
3954
+ #[cfg(any(feature = "derive", feature = "full"))]
3955
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3956
+ pub fn visit_variant<'ast, V>(v: &mut V, node: &'ast crate::Variant)
3957
+ where
3958
+ V: Visit<'ast> + ?Sized,
3959
+ {
3960
+ for it in &node.attrs {
3961
+ v.visit_attribute(it);
3962
+ }
3963
+ v.visit_ident(&node.ident);
3964
+ v.visit_fields(&node.fields);
3965
+ if let Some(it) = &node.discriminant {
3966
+ skip!((it).0);
3967
+ v.visit_expr(&(it).1);
3968
+ }
3969
+ }
3970
+ #[cfg(any(feature = "derive", feature = "full"))]
3971
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3972
+ pub fn visit_vis_restricted<'ast, V>(v: &mut V, node: &'ast crate::VisRestricted)
3973
+ where
3974
+ V: Visit<'ast> + ?Sized,
3975
+ {
3976
+ skip!(node.pub_token);
3977
+ skip!(node.paren_token);
3978
+ skip!(node.in_token);
3979
+ v.visit_path(&*node.path);
3980
+ }
3981
+ #[cfg(any(feature = "derive", feature = "full"))]
3982
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3983
+ pub fn visit_visibility<'ast, V>(v: &mut V, node: &'ast crate::Visibility)
3984
+ where
3985
+ V: Visit<'ast> + ?Sized,
3986
+ {
3987
+ match node {
3988
+ crate::Visibility::Public(_binding_0) => {
3989
+ skip!(_binding_0);
3990
+ }
3991
+ crate::Visibility::Restricted(_binding_0) => {
3992
+ v.visit_vis_restricted(_binding_0);
3993
+ }
3994
+ crate::Visibility::Inherited => {}
3995
+ }
3996
+ }
3997
+ #[cfg(any(feature = "derive", feature = "full"))]
3998
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
3999
+ pub fn visit_where_clause<'ast, V>(v: &mut V, node: &'ast crate::WhereClause)
4000
+ where
4001
+ V: Visit<'ast> + ?Sized,
4002
+ {
4003
+ skip!(node.where_token);
4004
+ for el in Punctuated::pairs(&node.predicates) {
4005
+ let it = el.value();
4006
+ v.visit_where_predicate(it);
4007
+ }
4008
+ }
4009
+ #[cfg(feature = "full")]
4010
+ #[cfg_attr(docsrs, doc(cfg(feature = "full")))]
4011
+ pub fn visit_where_clause_placement<'ast, V>(
4012
+ v: &mut V,
4013
+ node: &'ast crate::WhereClausePlacement,
4014
+ )
4015
+ where
4016
+ V: Visit<'ast> + ?Sized,
4017
+ {
4018
+ match node {
4019
+ crate::WhereClausePlacement::Early => {}
4020
+ crate::WhereClausePlacement::Late => {}
4021
+ }
4022
+ }
4023
+ #[cfg(any(feature = "derive", feature = "full"))]
4024
+ #[cfg_attr(docsrs, doc(cfg(any(feature = "derive", feature = "full"))))]
4025
+ pub fn visit_where_predicate<'ast, V>(v: &mut V, node: &'ast crate::WherePredicate)
4026
+ where
4027
+ V: Visit<'ast> + ?Sized,
4028
+ {
4029
+ match node {
4030
+ crate::WherePredicate::Lifetime(_binding_0) => {
4031
+ v.visit_predicate_lifetime(_binding_0);
4032
+ }
4033
+ crate::WherePredicate::Type(_binding_0) => {
4034
+ v.visit_predicate_type(_binding_0);
4035
+ }
4036
+ }
4037
+ }