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
@@ -29,14 +29,14 @@ use quote::ToTokens;
29
29
  use std::borrow::Cow;
30
30
  use std::cell::{Cell, RefCell};
31
31
  use std::collections::{BTreeSet, HashMap as StdHashMap};
32
- use std::iter::IntoIterator;
33
32
  use std::mem;
33
+ use std::path::Path;
34
34
 
35
35
  /// An identifier for some kind of IR item.
36
36
  #[derive(Debug, Copy, Clone, Eq, PartialOrd, Ord, Hash)]
37
37
  pub(crate) struct ItemId(usize);
38
38
 
39
- /// Declare a newtype around `ItemId` with convesion methods.
39
+ /// Declare a newtype around `ItemId` with conversion methods.
40
40
  macro_rules! item_id_newtype {
41
41
  (
42
42
  $( #[$attr:meta] )*
@@ -196,8 +196,8 @@ impl From<ItemId> for usize {
196
196
 
197
197
  impl ItemId {
198
198
  /// Get a numeric representation of this ID.
199
- pub(crate) fn as_usize(&self) -> usize {
200
- (*self).into()
199
+ pub(crate) fn as_usize(self) -> usize {
200
+ self.into()
201
201
  }
202
202
  }
203
203
 
@@ -308,7 +308,7 @@ enum TypeKey {
308
308
  /// A context used during parsing and generation of structs.
309
309
  #[derive(Debug)]
310
310
  pub(crate) struct BindgenContext {
311
- /// The map of all the items parsed so far, keyed off ItemId.
311
+ /// The map of all the items parsed so far, keyed off `ItemId`.
312
312
  items: Vec<Option<Item>>,
313
313
 
314
314
  /// Clang USR to type map. This is needed to be able to associate types with
@@ -317,7 +317,7 @@ pub(crate) struct BindgenContext {
317
317
 
318
318
  /// Maps from a cursor to the item ID of the named template type parameter
319
319
  /// for that cursor.
320
- type_params: HashMap<clang::Cursor, TypeId>,
320
+ type_params: HashMap<Cursor, TypeId>,
321
321
 
322
322
  /// A cursor to module map. Similar reason than above.
323
323
  modules: HashMap<Cursor, ModuleId>,
@@ -328,13 +328,13 @@ pub(crate) struct BindgenContext {
328
328
  /// Current module being traversed.
329
329
  current_module: ModuleId,
330
330
 
331
- /// A HashMap keyed on a type definition, and whose value is the parent ID
331
+ /// A `HashMap` keyed on a type definition, and whose value is the parent ID
332
332
  /// of the declaration.
333
333
  ///
334
334
  /// This is used to handle the cases where the semantic and the lexical
335
335
  /// parents of the cursor differ, like when a nested class is defined
336
336
  /// outside of the parent class.
337
- semantic_parents: HashMap<clang::Cursor, ItemId>,
337
+ semantic_parents: HashMap<Cursor, ItemId>,
338
338
 
339
339
  /// A stack with the current type declarations and types we're parsing. This
340
340
  /// is needed to avoid infinite recursion when parsing a type like:
@@ -344,7 +344,7 @@ pub(crate) struct BindgenContext {
344
344
  /// This means effectively, that a type has a potential ID before knowing if
345
345
  /// it's a correct type. But that's not important in practice.
346
346
  ///
347
- /// We could also use the `types` HashMap, but my intention with it is that
347
+ /// We could also use the `types` `HashMap`, but my intention with it is that
348
348
  /// only valid types and declarations end up there, and this could
349
349
  /// potentially break that assumption.
350
350
  currently_parsed_types: Vec<PartialType>,
@@ -353,7 +353,7 @@ pub(crate) struct BindgenContext {
353
353
  /// hard errors while parsing duplicated macros, as well to allow macro
354
354
  /// expression parsing.
355
355
  ///
356
- /// This needs to be an std::HashMap because the cexpr API requires it.
356
+ /// This needs to be an `std::HashMap` because the `cexpr` API requires it.
357
357
  parsed_macros: StdHashMap<Vec<u8>, cexpr::expr::EvalResult>,
358
358
 
359
359
  /// A map with all include locations.
@@ -377,12 +377,18 @@ pub(crate) struct BindgenContext {
377
377
  /// The translation unit for parsing.
378
378
  translation_unit: clang::TranslationUnit,
379
379
 
380
+ /// The translation unit for macro fallback parsing.
381
+ fallback_tu: Option<clang::FallbackTranslationUnit>,
382
+
380
383
  /// Target information that can be useful for some stuff.
381
384
  target_info: clang::TargetInfo,
382
385
 
383
386
  /// The options given by the user via cli or other medium.
384
387
  options: BindgenOptions,
385
388
 
389
+ /// Whether an opaque array was generated
390
+ generated_opaque_array: Cell<bool>,
391
+
386
392
  /// Whether a bindgen complex was generated
387
393
  generated_bindgen_complex: Cell<bool>,
388
394
 
@@ -496,7 +502,7 @@ struct AllowlistedItemsTraversal<'ctx> {
496
502
  traversal: ItemTraversal<'ctx, ItemSet, Vec<ItemId>>,
497
503
  }
498
504
 
499
- impl<'ctx> Iterator for AllowlistedItemsTraversal<'ctx> {
505
+ impl Iterator for AllowlistedItemsTraversal<'_> {
500
506
  type Item = ItemId;
501
507
 
502
508
  fn next(&mut self) -> Option<ItemId> {
@@ -585,10 +591,12 @@ If you encounter an error missing from this list, please file an issue or a PR!"
585
591
  collected_typerefs: false,
586
592
  in_codegen: false,
587
593
  translation_unit,
594
+ fallback_tu: None,
588
595
  target_info,
589
596
  options,
590
597
  generated_bindgen_complex: Cell::new(false),
591
598
  generated_bindgen_float16: Cell::new(false),
599
+ generated_opaque_array: Cell::new(false),
592
600
  allowlisted: None,
593
601
  blocklisted_types_implement_traits: Default::default(),
594
602
  codegen_items: None,
@@ -613,7 +621,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
613
621
  self.target_info.triple.starts_with("wasm32-")
614
622
  }
615
623
 
616
- /// Creates a timer for the current bindgen phase. If time_phases is `true`,
624
+ /// Creates a timer for the current bindgen phase. If `time_phases` is `true`,
617
625
  /// the timer will print to stderr when it is dropped, otherwise it will do
618
626
  /// nothing.
619
627
  pub(crate) fn timer<'a>(&self, name: &'a str) -> Timer<'a> {
@@ -692,10 +700,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
692
700
  declaration: Option<Cursor>,
693
701
  location: Option<Cursor>,
694
702
  ) {
695
- debug!(
696
- "BindgenContext::add_item({:?}, declaration: {:?}, loc: {:?}",
697
- item, declaration, location
698
- );
703
+ debug!("BindgenContext::add_item({item:?}, declaration: {declaration:?}, loc: {location:?}");
699
704
  debug_assert!(
700
705
  declaration.is_some() ||
701
706
  !item.kind().is_type() ||
@@ -747,8 +752,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
747
752
  // Fortunately, we don't care about those types being
748
753
  // duplicated, so we can just ignore them.
749
754
  debug!(
750
- "Invalid declaration {:?} found for type {:?}",
751
- declaration,
755
+ "Invalid declaration {declaration:?} found for type {:?}",
752
756
  self.resolve_item_fallible(id)
753
757
  .unwrap()
754
758
  .kind()
@@ -762,10 +766,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
762
766
  } else if let Some(usr) = declaration.usr() {
763
767
  TypeKey::Usr(usr)
764
768
  } else {
765
- warn!(
766
- "Valid declaration with no USR: {:?}, {:?}",
767
- declaration, location
768
- );
769
+ warn!("Valid declaration with no USR: {declaration:?}, {location:?}");
769
770
  TypeKey::Declaration(declaration)
770
771
  };
771
772
 
@@ -779,7 +780,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
779
780
  /// codegen'd, even if its parent is not allowlisted. See issue #769 for
780
781
  /// details.
781
782
  fn add_item_to_module(&mut self, item: &Item) {
782
- assert!(item.id() != self.root_module);
783
+ assert_ne!(item.id(), self.root_module);
783
784
  assert!(self.resolve_item_fallible(item.id()).is_none());
784
785
 
785
786
  if let Some(ref mut parent) = self.items[item.parent_id().0] {
@@ -801,7 +802,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
801
802
  self.current_module
802
803
  );
803
804
 
804
- self.items[(self.current_module.0).0]
805
+ self.items[self.current_module.0 .0]
805
806
  .as_mut()
806
807
  .expect("Should always have an item for self.current_module")
807
808
  .as_module_mut()
@@ -811,15 +812,8 @@ If you encounter an error missing from this list, please file an issue or a PR!"
811
812
  }
812
813
 
813
814
  /// Add a new named template type parameter to this context's item set.
814
- pub(crate) fn add_type_param(
815
- &mut self,
816
- item: Item,
817
- definition: clang::Cursor,
818
- ) {
819
- debug!(
820
- "BindgenContext::add_type_param: item = {:?}; definition = {:?}",
821
- item, definition
822
- );
815
+ pub(crate) fn add_type_param(&mut self, item: Item, definition: Cursor) {
816
+ debug!("BindgenContext::add_type_param: item = {item:?}; definition = {definition:?}");
823
817
 
824
818
  assert!(
825
819
  item.expect_type().is_type_param(),
@@ -850,15 +844,12 @@ If you encounter an error missing from this list, please file an issue or a PR!"
850
844
 
851
845
  /// Get the named type defined at the given cursor location, if we've
852
846
  /// already added one.
853
- pub(crate) fn get_type_param(
854
- &self,
855
- definition: &clang::Cursor,
856
- ) -> Option<TypeId> {
847
+ pub(crate) fn get_type_param(&self, definition: &Cursor) -> Option<TypeId> {
857
848
  assert_eq!(
858
849
  definition.kind(),
859
850
  clang_sys::CXCursor_TemplateTypeParameter
860
851
  );
861
- self.type_params.get(definition).cloned()
852
+ self.type_params.get(definition).copied()
862
853
  }
863
854
 
864
855
  // TODO: Move all this syntax crap to other part of the code.
@@ -874,7 +865,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
874
865
  "abstract" | "alignof" | "as" | "async" | "await" | "become" |
875
866
  "box" | "break" | "const" | "continue" | "crate" | "do" |
876
867
  "dyn" | "else" | "enum" | "extern" | "false" | "final" |
877
- "fn" | "for" | "if" | "impl" | "in" | "let" | "loop" |
868
+ "fn" | "for" | "gen" | "if" | "impl" | "in" | "let" | "loop" |
878
869
  "macro" | "match" | "mod" | "move" | "mut" | "offsetof" |
879
870
  "override" | "priv" | "proc" | "pub" | "pure" | "ref" |
880
871
  "return" | "Self" | "self" | "sizeof" | "static" |
@@ -927,23 +918,20 @@ If you encounter an error missing from this list, please file an issue or a PR!"
927
918
  /// Gather all the unresolved type references.
928
919
  fn collect_typerefs(
929
920
  &mut self,
930
- ) -> Vec<(ItemId, clang::Type, clang::Cursor, Option<ItemId>)> {
921
+ ) -> Vec<(ItemId, clang::Type, Cursor, Option<ItemId>)> {
931
922
  debug_assert!(!self.collected_typerefs);
932
923
  self.collected_typerefs = true;
933
924
  let mut typerefs = vec![];
934
925
 
935
926
  for (id, item) in self.items() {
936
927
  let kind = item.kind();
937
- let ty = match kind.as_type() {
938
- Some(ty) => ty,
939
- None => continue,
940
- };
928
+ let Some(ty) = kind.as_type() else { continue };
941
929
 
942
930
  if let TypeKind::UnresolvedTypeRef(ref ty, loc, parent_id) =
943
931
  *ty.kind()
944
932
  {
945
933
  typerefs.push((id, *ty, loc, parent_id));
946
- };
934
+ }
947
935
  }
948
936
  typerefs
949
937
  }
@@ -1074,9 +1062,8 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1074
1062
 
1075
1063
  // Calls to `canonical_name` are expensive, so eagerly filter out
1076
1064
  // items that cannot be replaced.
1077
- let ty = match item.kind().as_type() {
1078
- Some(ty) => ty,
1079
- None => continue,
1065
+ let Some(ty) = item.kind().as_type() else {
1066
+ continue;
1080
1067
  };
1081
1068
 
1082
1069
  match *ty.kind() {
@@ -1105,7 +1092,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1105
1092
  }
1106
1093
 
1107
1094
  for (id, replacement_id) in replacements {
1108
- debug!("Replacing {:?} with {:?}", id, replacement_id);
1095
+ debug!("Replacing {id:?} with {replacement_id:?}");
1109
1096
  let new_parent = {
1110
1097
  let item_id: ItemId = id.into();
1111
1098
  let item = self.items[item_id.0].as_mut().unwrap();
@@ -1142,7 +1129,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1142
1129
  .chain(Some(immut_self.root_module.into()))
1143
1130
  .find(|id| {
1144
1131
  let item = immut_self.resolve_item(*id);
1145
- item.as_module().map_or(false, |m| {
1132
+ item.as_module().is_some_and(|m| {
1146
1133
  m.children().contains(&replacement_id.into())
1147
1134
  })
1148
1135
  })
@@ -1230,7 +1217,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1230
1217
 
1231
1218
  /// When the `__testing_only_extra_assertions` feature is enabled, this
1232
1219
  /// function walks the IR graph and asserts that we do not have any edges
1233
- /// referencing an ItemId for which we do not have an associated IR item.
1220
+ /// referencing an `ItemId` for which we do not have an associated IR item.
1234
1221
  fn assert_no_dangling_references(&self) {
1235
1222
  if cfg!(feature = "__testing_only_extra_assertions") {
1236
1223
  for _ in self.assert_no_dangling_item_traversal() {
@@ -1241,9 +1228,9 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1241
1228
 
1242
1229
  fn assert_no_dangling_item_traversal(
1243
1230
  &self,
1244
- ) -> traversal::AssertNoDanglingItemsTraversal {
1231
+ ) -> traversal::AssertNoDanglingItemsTraversal<'_> {
1245
1232
  assert!(self.in_codegen_phase());
1246
- assert!(self.current_module == self.root_module);
1233
+ assert_eq!(self.current_module, self.root_module);
1247
1234
 
1248
1235
  let roots = self.items().map(|(id, _)| id);
1249
1236
  traversal::AssertNoDanglingItemsTraversal::new(
@@ -1259,7 +1246,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1259
1246
  fn assert_every_item_in_a_module(&self) {
1260
1247
  if cfg!(feature = "__testing_only_extra_assertions") {
1261
1248
  assert!(self.in_codegen_phase());
1262
- assert!(self.current_module == self.root_module);
1249
+ assert_eq!(self.current_module, self.root_module);
1263
1250
 
1264
1251
  for (id, _item) in self.items() {
1265
1252
  if id == self.root_module {
@@ -1277,19 +1264,13 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1277
1264
  id.ancestors(self)
1278
1265
  .chain(Some(self.root_module.into()))
1279
1266
  .any(|ancestor| {
1280
- debug!(
1281
- "Checking if {:?} is a child of {:?}",
1282
- id, ancestor
1283
- );
1267
+ debug!("Checking if {id:?} is a child of {ancestor:?}");
1284
1268
  self.resolve_item(ancestor)
1285
1269
  .as_module()
1286
- .map_or(false, |m| {
1287
- m.children().contains(&id)
1288
- })
1270
+ .is_some_and(|m| m.children().contains(&id))
1289
1271
  })
1290
1272
  },
1291
- "{:?} should be in some ancestor module's children set",
1292
- id
1273
+ "{id:?} should be in some ancestor module's children set"
1293
1274
  );
1294
1275
  }
1295
1276
  }
@@ -1314,7 +1295,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1314
1295
  .as_ref()
1315
1296
  .unwrap()
1316
1297
  .get(&id)
1317
- .cloned()
1298
+ .copied()
1318
1299
  .unwrap_or(SizednessResult::ZeroSized)
1319
1300
  }
1320
1301
 
@@ -1338,7 +1319,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1338
1319
  .as_ref()
1339
1320
  .unwrap()
1340
1321
  .get(&id.into())
1341
- .cloned()
1322
+ .copied()
1342
1323
  .unwrap_or(HasVtableResult::No)
1343
1324
  }
1344
1325
 
@@ -1418,8 +1399,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1418
1399
  self.used_template_parameters
1419
1400
  .as_ref()
1420
1401
  .expect("should have found template parameter usage if we're in codegen")
1421
- .get(&item)
1422
- .map_or(false, |items_used_params| items_used_params.contains(&template_param))
1402
+ .get(&item).is_some_and(|items_used_params| items_used_params.contains(&template_param))
1423
1403
  }
1424
1404
 
1425
1405
  /// Return `true` if `item` uses any unbound, generic template parameters,
@@ -1438,7 +1418,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1438
1418
  "should have template parameter usage info in codegen phase",
1439
1419
  )
1440
1420
  .get(&item)
1441
- .map_or(false, |used| !used.is_empty())
1421
+ .is_some_and(|used| !used.is_empty())
1442
1422
  }
1443
1423
 
1444
1424
  // This deserves a comment. Builtin types don't get a valid declaration, so
@@ -1450,7 +1430,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1450
1430
  // If at some point we care about the memory here, probably a map TypeKind
1451
1431
  // -> builtin type ItemId would be the best to improve that.
1452
1432
  fn add_builtin_item(&mut self, item: Item) {
1453
- debug!("add_builtin_item: item = {:?}", item);
1433
+ debug!("add_builtin_item: item = {item:?}");
1454
1434
  debug_assert!(item.kind().is_type());
1455
1435
  self.add_item_to_module(&item);
1456
1436
  let id = item.id();
@@ -1509,7 +1489,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1509
1489
  let item_id = item_id.into();
1510
1490
  match self.resolve_item_fallible(item_id) {
1511
1491
  Some(item) => item,
1512
- None => panic!("Not an item: {:?}", item_id),
1492
+ None => panic!("Not an item: {item_id:?}"),
1513
1493
  }
1514
1494
  }
1515
1495
 
@@ -1524,11 +1504,11 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1524
1504
  /// correct type definition afterwards.
1525
1505
  ///
1526
1506
  /// TODO(emilio): We could consider doing this only when
1527
- /// declaration.lexical_parent() != definition.lexical_parent(), but it's
1507
+ /// `declaration.lexical_parent() != definition.lexical_parent()`, but it's
1528
1508
  /// not sure it's worth it.
1529
1509
  pub(crate) fn add_semantic_parent(
1530
1510
  &mut self,
1531
- definition: clang::Cursor,
1511
+ definition: Cursor,
1532
1512
  parent_id: ItemId,
1533
1513
  ) {
1534
1514
  self.semantic_parents.insert(definition, parent_id);
@@ -1537,9 +1517,9 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1537
1517
  /// Returns a known semantic parent for a given definition.
1538
1518
  pub(crate) fn known_semantic_parent(
1539
1519
  &self,
1540
- definition: clang::Cursor,
1520
+ definition: Cursor,
1541
1521
  ) -> Option<ItemId> {
1542
- self.semantic_parents.get(&definition).cloned()
1522
+ self.semantic_parents.get(&definition).copied()
1543
1523
  }
1544
1524
 
1545
1525
  /// Given a cursor pointing to the location of a template instantiation,
@@ -1587,7 +1567,6 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1587
1567
  self.currently_parsed_types()
1588
1568
  .iter()
1589
1569
  .find(|partial_ty| *partial_ty.decl() == referenced)
1590
- .cloned()
1591
1570
  })
1592
1571
  .and_then(|template_decl| {
1593
1572
  let num_template_params =
@@ -1612,7 +1591,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1612
1591
  /// function template declarations(!?!??!).
1613
1592
  ///
1614
1593
  /// The only way to do this is manually inspecting the AST and looking for
1615
- /// TypeRefs and TemplateRefs inside. This, unfortunately, doesn't work for
1594
+ /// `TypeRefs` and `TemplateRefs` inside. This, unfortunately, doesn't work for
1616
1595
  /// more complex cases, see the comment on the assertion below.
1617
1596
  ///
1618
1597
  /// To add insult to injury, the AST itself has structure that doesn't make
@@ -1643,7 +1622,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1643
1622
  with_id: ItemId,
1644
1623
  template: TypeId,
1645
1624
  ty: &clang::Type,
1646
- location: clang::Cursor,
1625
+ location: Cursor,
1647
1626
  ) -> Option<TypeId> {
1648
1627
  let num_expected_args =
1649
1628
  self.resolve_type(template).num_self_template_params(self);
@@ -1787,8 +1766,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1787
1766
  }
1788
1767
  _ => {
1789
1768
  warn!(
1790
- "Found template arg cursor we can't handle: {:?}",
1791
- child
1769
+ "Found template arg cursor we can't handle: {child:?}"
1792
1770
  );
1793
1771
  found_const_arg = true;
1794
1772
  }
@@ -1839,7 +1817,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1839
1817
  );
1840
1818
 
1841
1819
  // Bypass all the validations in add_item explicitly.
1842
- debug!("instantiate_template: inserting item: {:?}", item);
1820
+ debug!("instantiate_template: inserting item: {item:?}");
1843
1821
  self.add_item_to_module(&item);
1844
1822
  debug_assert_eq!(with_id, item.id());
1845
1823
  self.items[with_id.0] = Some(item);
@@ -1859,7 +1837,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1859
1837
  .usr()
1860
1838
  .and_then(|usr| self.types.get(&TypeKey::Usr(usr)))
1861
1839
  })
1862
- .cloned()
1840
+ .copied()
1863
1841
  }
1864
1842
 
1865
1843
  /// Looks up for an already resolved type, either because it's builtin, or
@@ -1869,19 +1847,15 @@ If you encounter an error missing from this list, please file an issue or a PR!"
1869
1847
  with_id: ItemId,
1870
1848
  parent_id: Option<ItemId>,
1871
1849
  ty: &clang::Type,
1872
- location: Option<clang::Cursor>,
1850
+ location: Option<Cursor>,
1873
1851
  ) -> Option<TypeId> {
1874
1852
  use clang_sys::{CXCursor_TypeAliasTemplateDecl, CXCursor_TypeRef};
1875
- debug!(
1876
- "builtin_or_resolved_ty: {:?}, {:?}, {:?}, {:?}",
1877
- ty, location, with_id, parent_id
1878
- );
1853
+ debug!("builtin_or_resolved_ty: {ty:?}, {location:?}, {with_id:?}, {parent_id:?}");
1879
1854
 
1880
1855
  if let Some(decl) = ty.canonical_declaration(location.as_ref()) {
1881
1856
  if let Some(id) = self.get_resolved_type(&decl) {
1882
1857
  debug!(
1883
- "Already resolved ty {:?}, {:?}, {:?} {:?}",
1884
- id, decl, ty, location
1858
+ "Already resolved ty {id:?}, {decl:?}, {ty:?} {location:?}"
1885
1859
  );
1886
1860
  // If the declaration already exists, then either:
1887
1861
  //
@@ -2006,6 +1980,9 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2006
1980
  CXType_Short => TypeKind::Int(IntKind::Short),
2007
1981
  CXType_UShort => TypeKind::Int(IntKind::UShort),
2008
1982
  CXType_WChar => TypeKind::Int(IntKind::WChar),
1983
+ CXType_Char16 if self.options().use_distinct_char16_t => {
1984
+ TypeKind::Int(IntKind::Char16)
1985
+ }
2009
1986
  CXType_Char16 => TypeKind::Int(IntKind::U16),
2010
1987
  CXType_Char32 => TypeKind::Int(IntKind::U32),
2011
1988
  CXType_Long => TypeKind::Int(IntKind::Long),
@@ -2029,8 +2006,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2029
2006
  CXType_LongDouble => FloatKind::LongDouble,
2030
2007
  CXType_Float128 => FloatKind::Float128,
2031
2008
  _ => panic!(
2032
- "Non floating-type complex? {:?}, {:?}",
2033
- ty, float_type,
2009
+ "Non floating-type complex? {ty:?}, {float_type:?}",
2034
2010
  ),
2035
2011
  };
2036
2012
  TypeKind::Complex(float_kind)
@@ -2061,6 +2037,93 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2061
2037
  &self.translation_unit
2062
2038
  }
2063
2039
 
2040
+ /// Initialize fallback translation unit if it does not exist and
2041
+ /// then return a mutable reference to the fallback translation unit.
2042
+ pub(crate) fn try_ensure_fallback_translation_unit(
2043
+ &mut self,
2044
+ ) -> Option<&mut clang::FallbackTranslationUnit> {
2045
+ if self.fallback_tu.is_none() {
2046
+ let file = format!(
2047
+ "{}/.macro_eval.c",
2048
+ match self.options().clang_macro_fallback_build_dir {
2049
+ Some(ref path) => path.as_os_str().to_str()?,
2050
+ None => ".",
2051
+ }
2052
+ );
2053
+
2054
+ let index = clang::Index::new(false, false);
2055
+
2056
+ let mut header_names_to_compile = Vec::new();
2057
+ let mut header_paths = Vec::new();
2058
+ let mut header_includes = Vec::new();
2059
+ let single_header = self.options().input_headers.last().cloned()?;
2060
+ for input_header in &self.options.input_headers
2061
+ [..self.options.input_headers.len() - 1]
2062
+ {
2063
+ let path = Path::new(input_header.as_ref());
2064
+ if let Some(header_path) = path.parent() {
2065
+ if header_path == Path::new("") {
2066
+ header_paths.push(".");
2067
+ } else {
2068
+ header_paths.push(header_path.as_os_str().to_str()?);
2069
+ }
2070
+ } else {
2071
+ header_paths.push(".");
2072
+ }
2073
+ let header_name = path.file_name()?.to_str()?;
2074
+ header_includes.push(header_name.to_string());
2075
+ header_names_to_compile
2076
+ .push(header_name.split(".h").next()?.to_string());
2077
+ }
2078
+ let pch = format!(
2079
+ "{}/{}",
2080
+ match self.options().clang_macro_fallback_build_dir {
2081
+ Some(ref path) => path.as_os_str().to_str()?,
2082
+ None => ".",
2083
+ },
2084
+ header_names_to_compile.join("-") + "-precompile.h.pch"
2085
+ );
2086
+
2087
+ let mut c_args = self.options.fallback_clang_args.clone();
2088
+ c_args.push("-x".to_string().into_boxed_str());
2089
+ c_args.push("c-header".to_string().into_boxed_str());
2090
+ for header_path in header_paths {
2091
+ c_args.push(format!("-I{header_path}").into_boxed_str());
2092
+ }
2093
+ for header_include in header_includes {
2094
+ c_args.push("-include".to_string().into_boxed_str());
2095
+ c_args.push(header_include.into_boxed_str());
2096
+ }
2097
+ let mut tu = clang::TranslationUnit::parse(
2098
+ &index,
2099
+ &single_header,
2100
+ &c_args,
2101
+ &[],
2102
+ clang_sys::CXTranslationUnit_ForSerialization,
2103
+ )?;
2104
+ tu.save(&pch).ok()?;
2105
+
2106
+ let mut c_args = vec![
2107
+ "-include-pch".to_string().into_boxed_str(),
2108
+ pch.clone().into_boxed_str(),
2109
+ ];
2110
+ let mut skip_next = false;
2111
+ for arg in &self.options.fallback_clang_args {
2112
+ if arg.as_ref() == "-include" {
2113
+ skip_next = true;
2114
+ } else if skip_next {
2115
+ skip_next = false;
2116
+ } else {
2117
+ c_args.push(arg.clone());
2118
+ }
2119
+ }
2120
+ self.fallback_tu =
2121
+ Some(clang::FallbackTranslationUnit::new(file, pch, &c_args)?);
2122
+ }
2123
+
2124
+ self.fallback_tu.as_mut()
2125
+ }
2126
+
2064
2127
  /// Have we parsed the macro named `macro_name` already?
2065
2128
  pub(crate) fn parsed_macro(&self, macro_name: &[u8]) -> bool {
2066
2129
  self.parsed_macros.contains_key(macro_name)
@@ -2096,19 +2159,14 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2096
2159
  pub(crate) fn replace(&mut self, name: &[String], potential_ty: ItemId) {
2097
2160
  match self.replacements.entry(name.into()) {
2098
2161
  Entry::Vacant(entry) => {
2099
- debug!(
2100
- "Defining replacement for {:?} as {:?}",
2101
- name, potential_ty
2102
- );
2162
+ debug!("Defining replacement for {name:?} as {potential_ty:?}");
2103
2163
  entry.insert(potential_ty);
2104
2164
  }
2105
2165
  Entry::Occupied(occupied) => {
2106
2166
  warn!(
2107
- "Replacement for {:?} already defined as {:?}; \
2108
- ignoring duplicate replacement definition as {:?}",
2109
- name,
2167
+ "Replacement for {name:?} already defined as {:?}; \
2168
+ ignoring duplicate replacement definition as {potential_ty:?}",
2110
2169
  occupied.get(),
2111
- potential_ty
2112
2170
  );
2113
2171
  }
2114
2172
  }
@@ -2143,7 +2201,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2143
2201
  /// namespace.
2144
2202
  fn tokenize_namespace(
2145
2203
  &self,
2146
- cursor: &clang::Cursor,
2204
+ cursor: &Cursor,
2147
2205
  ) -> (Option<String>, ModuleKind) {
2148
2206
  assert_eq!(
2149
2207
  cursor.kind(),
@@ -2154,7 +2212,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2154
2212
  let mut module_name = None;
2155
2213
  let spelling = cursor.spelling();
2156
2214
  if !spelling.is_empty() {
2157
- module_name = Some(spelling)
2215
+ module_name = Some(spelling);
2158
2216
  }
2159
2217
 
2160
2218
  let mut kind = ModuleKind::Normal;
@@ -2194,33 +2252,31 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2194
2252
  );
2195
2253
  }
2196
2254
  break;
2197
- } else {
2198
- // This is _likely_, but not certainly, a macro that's
2199
- // been placed just before the namespace keyword.
2200
- // Unfortunately, clang tokens don't let us easily see
2201
- // through the ifdef tokens, so we don't know what this
2202
- // token should really be. Instead of panicking though,
2203
- // we warn the user that we assumed the token was blank,
2204
- // and then move on.
2205
- //
2206
- // See also https://github.com/rust-lang/rust-bindgen/issues/1676.
2207
- warn!(
2208
- "Ignored unknown namespace prefix '{}' at {:?} in {:?}",
2209
- String::from_utf8_lossy(name),
2210
- token,
2211
- cursor
2212
- );
2213
2255
  }
2256
+ // This is _likely_, but not certainly, a macro that's
2257
+ // been placed just before the namespace keyword.
2258
+ // Unfortunately, clang tokens don't let us easily see
2259
+ // through the ifdef tokens, so we don't know what this
2260
+ // token should really be. Instead of panicking though,
2261
+ // we warn the user that we assumed the token was blank,
2262
+ // and then move on.
2263
+ //
2264
+ // See also https://github.com/rust-lang/rust-bindgen/issues/1676.
2265
+ warn!("Ignored unknown namespace prefix '{}' at {token:?} in {cursor:?}", String::from_utf8_lossy(name));
2214
2266
  }
2215
2267
  }
2216
2268
  }
2217
2269
 
2270
+ if cursor.is_inline_namespace() {
2271
+ kind = ModuleKind::Inline;
2272
+ }
2273
+
2218
2274
  (module_name, kind)
2219
2275
  }
2220
2276
 
2221
- /// Given a CXCursor_Namespace cursor, return the item ID of the
2277
+ /// Given a `CXCursor_Namespace` cursor, return the item ID of the
2222
2278
  /// corresponding module, or create one on the fly.
2223
- pub(crate) fn module(&mut self, cursor: clang::Cursor) -> ModuleId {
2279
+ pub(crate) fn module(&mut self, cursor: Cursor) -> ModuleId {
2224
2280
  use clang_sys::*;
2225
2281
  assert_eq!(cursor.kind(), CXCursor_Namespace, "Be a nice person");
2226
2282
  let cursor = cursor.canonical();
@@ -2271,7 +2327,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2271
2327
  /// allowlisted.
2272
2328
  pub(crate) fn allowlisted_items(&self) -> &ItemSet {
2273
2329
  assert!(self.in_codegen_phase());
2274
- assert!(self.current_module == self.root_module);
2330
+ assert_eq!(self.current_module, self.root_module);
2275
2331
 
2276
2332
  self.allowlisted.as_ref().unwrap()
2277
2333
  }
@@ -2284,7 +2340,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2284
2340
  derive_trait: DeriveTrait,
2285
2341
  ) -> CanDerive {
2286
2342
  assert!(self.in_codegen_phase());
2287
- assert!(self.current_module == self.root_module);
2343
+ assert_eq!(self.current_module, self.root_module);
2288
2344
 
2289
2345
  *self
2290
2346
  .blocklisted_types_implement_traits
@@ -2332,14 +2388,14 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2332
2388
  /// Get a reference to the set of items we should generate.
2333
2389
  pub(crate) fn codegen_items(&self) -> &ItemSet {
2334
2390
  assert!(self.in_codegen_phase());
2335
- assert!(self.current_module == self.root_module);
2391
+ assert_eq!(self.current_module, self.root_module);
2336
2392
  self.codegen_items.as_ref().unwrap()
2337
2393
  }
2338
2394
 
2339
2395
  /// Compute the allowlisted items set and populate `self.allowlisted`.
2340
2396
  fn compute_allowlisted_and_codegen_items(&mut self) {
2341
2397
  assert!(self.in_codegen_phase());
2342
- assert!(self.current_module == self.root_module);
2398
+ assert_eq!(self.current_module, self.root_module);
2343
2399
  assert!(self.allowlisted.is_none());
2344
2400
  let _t = self.timer("compute_allowlisted_and_codegen_items");
2345
2401
 
@@ -2384,7 +2440,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2384
2440
  }
2385
2441
 
2386
2442
  let name = item.path_for_allowlisting(self)[1..].join("::");
2387
- debug!("allowlisted_items: testing {:?}", name);
2443
+ debug!("allowlisted_items: testing {name:?}");
2388
2444
 
2389
2445
  if self.options().allowlisted_items.matches(&name) {
2390
2446
  return true;
@@ -2438,9 +2494,8 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2438
2494
  return false;
2439
2495
  }
2440
2496
 
2441
- let enum_ = match *ty.kind() {
2442
- TypeKind::Enum(ref e) => e,
2443
- _ => return false,
2497
+ let TypeKind::Enum(ref enum_) = *ty.kind() else {
2498
+ return false;
2444
2499
  };
2445
2500
 
2446
2501
  if ty.name().is_some() {
@@ -2455,7 +2510,11 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2455
2510
  );
2456
2511
  let name = prefix_path[1..].join("::");
2457
2512
  prefix_path.pop().unwrap();
2458
- self.options().allowlisted_vars.matches(name)
2513
+ self.options().allowlisted_vars.matches(&name)
2514
+ || self
2515
+ .options()
2516
+ .allowlisted_items
2517
+ .matches(name)
2459
2518
  })
2460
2519
  }
2461
2520
  }
@@ -2529,9 +2588,19 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2529
2588
  }
2530
2589
  }
2531
2590
 
2591
+ /// Call if an opaque array is generated
2592
+ pub(crate) fn generated_opaque_array(&self) {
2593
+ self.generated_opaque_array.set(true);
2594
+ }
2595
+
2596
+ /// Whether we need to generate the opaque array type
2597
+ pub(crate) fn need_opaque_array_type(&self) -> bool {
2598
+ self.generated_opaque_array.get()
2599
+ }
2600
+
2532
2601
  /// Call if a bindgen complex is generated
2533
2602
  pub(crate) fn generated_bindgen_complex(&self) {
2534
- self.generated_bindgen_complex.set(true)
2603
+ self.generated_bindgen_complex.set(true);
2535
2604
  }
2536
2605
 
2537
2606
  /// Whether we need to generate the bindgen complex type
@@ -2541,7 +2610,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2541
2610
 
2542
2611
  /// Call if a bindgen float16 is generated
2543
2612
  pub(crate) fn generated_bindgen_float16(&self) {
2544
- self.generated_bindgen_float16.set(true)
2613
+ self.generated_bindgen_float16.set(true);
2545
2614
  }
2546
2615
 
2547
2616
  /// Whether we need to generate the bindgen float16 type
@@ -2714,7 +2783,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2714
2783
  !self.cannot_derive_hash.as_ref().unwrap().contains(&id)
2715
2784
  }
2716
2785
 
2717
- /// Compute whether we can derive PartialOrd, PartialEq or Eq.
2786
+ /// Compute whether we can derive `PartialOrd`, `PartialEq` or `Eq`.
2718
2787
  fn compute_cannot_derive_partialord_partialeq_or_eq(&mut self) {
2719
2788
  let _t = self.timer("compute_cannot_derive_partialord_partialeq_or_eq");
2720
2789
  assert!(self.cannot_derive_partialeq_or_partialord.is_none());
@@ -2749,7 +2818,7 @@ If you encounter an error missing from this list, please file an issue or a PR!"
2749
2818
  .as_ref()
2750
2819
  .unwrap()
2751
2820
  .get(&id)
2752
- .cloned()
2821
+ .copied()
2753
2822
  .unwrap_or(CanDerive::Yes)
2754
2823
  }
2755
2824
 
@@ -3007,7 +3076,7 @@ impl TemplateParameters for PartialType {
3007
3076
  num_params += 1;
3008
3077
  }
3009
3078
  _ => {}
3010
- };
3079
+ }
3011
3080
  clang_sys::CXChildVisit_Continue
3012
3081
  });
3013
3082
  num_params
@@ -3018,7 +3087,7 @@ impl TemplateParameters for PartialType {
3018
3087
  }
3019
3088
 
3020
3089
  fn unused_regex_diagnostic(item: &str, name: &str, _ctx: &BindgenContext) {
3021
- warn!("unused option: {} {}", name, item);
3090
+ warn!("unused option: {name} {item}");
3022
3091
 
3023
3092
  #[cfg(feature = "experimental")]
3024
3093
  if _ctx.options().emit_diagnostics {
@@ -3026,11 +3095,11 @@ fn unused_regex_diagnostic(item: &str, name: &str, _ctx: &BindgenContext) {
3026
3095
 
3027
3096
  Diagnostic::default()
3028
3097
  .with_title(
3029
- format!("Unused regular expression: `{}`.", item),
3030
- Level::Warn,
3098
+ format!("Unused regular expression: `{item}`."),
3099
+ Level::Warning,
3031
3100
  )
3032
3101
  .add_annotation(
3033
- format!("This regular expression was passed to `{}`.", name),
3102
+ format!("This regular expression was passed to `{name}`."),
3034
3103
  Level::Note,
3035
3104
  )
3036
3105
  .display();