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