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
@@ -19,8 +19,6 @@
19
19
  #[macro_use]
20
20
  extern crate bitflags;
21
21
  #[macro_use]
22
- extern crate lazy_static;
23
- #[macro_use]
24
22
  extern crate quote;
25
23
 
26
24
  #[cfg(feature = "logging")]
@@ -52,12 +50,11 @@ mod regex_set;
52
50
  pub use codegen::{
53
51
  AliasVariation, EnumVariation, MacroTypeVariation, NonCopyUnionStyle,
54
52
  };
55
- #[cfg(feature = "__cli")]
56
- pub use features::RUST_TARGET_STRINGS;
57
- pub use features::{RustTarget, LATEST_STABLE_RUST};
53
+ pub use features::{RustEdition, RustTarget, LATEST_STABLE_RUST};
58
54
  pub use ir::annotations::FieldVisibilityKind;
59
55
  pub use ir::function::Abi;
60
- pub use regex_set::RegexSet;
56
+ #[cfg(feature = "__cli")]
57
+ pub use options::cli::builder_from_flags;
61
58
 
62
59
  use codegen::CodegenError;
63
60
  use features::RustFeatures;
@@ -73,6 +70,7 @@ use std::env;
73
70
  use std::ffi::OsStr;
74
71
  use std::fs::{File, OpenOptions};
75
72
  use std::io::{self, Write};
73
+ use std::mem::size_of;
76
74
  use std::path::{Path, PathBuf};
77
75
  use std::process::{Command, Stdio};
78
76
  use std::rc::Rc;
@@ -88,10 +86,12 @@ pub const DEFAULT_ANON_FIELDS_PREFIX: &str = "__bindgen_anon_";
88
86
  const DEFAULT_NON_EXTERN_FNS_SUFFIX: &str = "__extern";
89
87
 
90
88
  fn file_is_cpp(name_file: &str) -> bool {
91
- name_file.ends_with(".hpp") ||
92
- name_file.ends_with(".hxx") ||
93
- name_file.ends_with(".hh") ||
94
- name_file.ends_with(".h++")
89
+ Path::new(name_file).extension().is_some_and(|ext| {
90
+ ext.eq_ignore_ascii_case("hpp") ||
91
+ ext.eq_ignore_ascii_case("hxx") ||
92
+ ext.eq_ignore_ascii_case("hh") ||
93
+ ext.eq_ignore_ascii_case("h++")
94
+ })
95
95
  }
96
96
 
97
97
  fn args_are_cpp(clang_args: &[Box<str>]) -> bool {
@@ -144,7 +144,7 @@ impl CodegenConfig {
144
144
  self.contains(CodegenConfig::VARS)
145
145
  }
146
146
 
147
- /// Returns true if methds should be generated.
147
+ /// Returns true if methods should be generated.
148
148
  pub fn methods(self) -> bool {
149
149
  self.contains(CodegenConfig::METHODS)
150
150
  }
@@ -194,7 +194,7 @@ impl FromStr for Formatter {
194
194
  "rustfmt" => Ok(Self::Rustfmt),
195
195
  #[cfg(feature = "prettyplease")]
196
196
  "prettyplease" => Ok(Self::Prettyplease),
197
- _ => Err(format!("`{}` is not a valid formatter", s)),
197
+ _ => Err(format!("`{s}` is not a valid formatter")),
198
198
  }
199
199
  }
200
200
  }
@@ -208,7 +208,7 @@ impl std::fmt::Display for Formatter {
208
208
  Self::Prettyplease => "prettyplease",
209
209
  };
210
210
 
211
- s.fmt(f)
211
+ std::fmt::Display::fmt(&s, f)
212
212
  }
213
213
  }
214
214
 
@@ -238,6 +238,7 @@ impl std::fmt::Display for Formatter {
238
238
  /// 2. [`bitfield_enum()`](#method.bitfield_enum)
239
239
  /// 3. [`newtype_enum()`](#method.newtype_enum)
240
240
  /// 4. [`rustified_enum()`](#method.rustified_enum)
241
+ /// 5. [`rustified_non_exhaustive_enum()`](#method.rustified_non_exhaustive_enum)
241
242
  ///
242
243
  /// For each C enum, bindgen tries to match the pattern in the following order:
243
244
  ///
@@ -318,6 +319,22 @@ fn get_extra_clang_args(
318
319
  impl Builder {
319
320
  /// Generate the Rust bindings using the options built up thus far.
320
321
  pub fn generate(mut self) -> Result<Bindings, BindgenError> {
322
+ // Keep rust_features synced with rust_target
323
+ self.options.rust_features = match self.options.rust_edition {
324
+ Some(edition) => {
325
+ if !edition.is_available(self.options.rust_target) {
326
+ return Err(BindgenError::UnsupportedEdition(
327
+ edition,
328
+ self.options.rust_target,
329
+ ));
330
+ }
331
+ RustFeatures::new(self.options.rust_target, edition)
332
+ }
333
+ None => {
334
+ RustFeatures::new_with_latest_edition(self.options.rust_target)
335
+ }
336
+ };
337
+
321
338
  // Add any extra arguments from the environment to the clang command line.
322
339
  self.options.clang_args.extend(
323
340
  get_extra_clang_args(&self.options.parse_callbacks)
@@ -331,6 +348,18 @@ impl Builder {
331
348
  }
332
349
 
333
350
  // Transform input headers to arguments on the clang command line.
351
+ self.options.fallback_clang_args = self
352
+ .options
353
+ .clang_args
354
+ .iter()
355
+ .filter(|arg| {
356
+ !arg.starts_with("-MMD") &&
357
+ !arg.starts_with("-MD") &&
358
+ !arg.starts_with("--write-user-dependencies") &&
359
+ !arg.starts_with("--user-dependencies")
360
+ })
361
+ .cloned()
362
+ .collect::<Vec<_>>();
334
363
  self.options.clang_args.extend(
335
364
  self.options.input_headers
336
365
  [..self.options.input_headers.len().saturating_sub(1)]
@@ -346,7 +375,7 @@ impl Builder {
346
375
  })
347
376
  .collect::<Vec<_>>();
348
377
 
349
- Bindings::generate(self.options, input_unsaved_files)
378
+ Bindings::generate(self.options, &input_unsaved_files)
350
379
  }
351
380
 
352
381
  /// Preprocess and dump the input header files to disk.
@@ -527,25 +556,11 @@ impl BindgenOptions {
527
556
  for regex_set in self.abi_overrides.values_mut().chain(regex_sets) {
528
557
  regex_set.build(record_matches);
529
558
  }
530
-
531
- let rust_target = self.rust_target;
532
- #[allow(deprecated)]
533
- if rust_target <= RustTarget::Stable_1_30 {
534
- deprecated_target_diagnostic(rust_target, self);
535
- }
536
-
537
- // Disable `untagged_union` if the target does not support it.
538
- if !self.rust_features.untagged_union {
539
- self.untagged_union = false;
540
- }
541
559
  }
542
560
 
543
561
  /// Update rust target version
544
562
  pub fn set_rust_target(&mut self, rust_target: RustTarget) {
545
563
  self.rust_target = rust_target;
546
-
547
- // Keep rust_features synced with rust_target
548
- self.rust_features = rust_target.into();
549
564
  }
550
565
 
551
566
  /// Get features supported by target Rust version
@@ -560,7 +575,7 @@ impl BindgenOptions {
560
575
  self.parse_callbacks
561
576
  .iter()
562
577
  .filter_map(|cb| f(cb.as_ref()))
563
- .last()
578
+ .next_back()
564
579
  }
565
580
 
566
581
  fn all_callbacks<T>(
@@ -579,36 +594,15 @@ impl BindgenOptions {
579
594
 
580
595
  fn process_comment(&self, comment: &str) -> String {
581
596
  let comment = comment::preprocess(comment);
582
- self.parse_callbacks
583
- .last()
584
- .and_then(|cb| cb.process_comment(&comment))
597
+ self.last_callback(|cb| cb.process_comment(&comment))
585
598
  .unwrap_or(comment)
586
599
  }
587
600
  }
588
601
 
589
- fn deprecated_target_diagnostic(target: RustTarget, _options: &BindgenOptions) {
590
- warn!("The {} Rust target is deprecated. If you have a need to use this target please report it at https://github.com/rust-lang/rust-bindgen/issues", target);
591
-
592
- #[cfg(feature = "experimental")]
593
- if _options.emit_diagnostics {
594
- use crate::diagnostics::{Diagnostic, Level};
595
-
596
- let mut diagnostic = Diagnostic::default();
597
- diagnostic.with_title(
598
- format!("The {} Rust target is deprecated.", target),
599
- Level::Warn,
600
- );
601
- diagnostic.add_annotation(
602
- "This Rust target was passed to `--rust-target`",
603
- Level::Info,
604
- );
605
- diagnostic.add_annotation("If you have a good reason to use this target please report it at https://github.com/rust-lang/rust-bindgen/issues", Level::Help);
606
- diagnostic.display();
607
- }
608
- }
609
-
610
602
  #[cfg(feature = "runtime")]
611
603
  fn ensure_libclang_is_loaded() {
604
+ use std::sync::{Arc, OnceLock};
605
+
612
606
  if clang_sys::is_loaded() {
613
607
  return;
614
608
  }
@@ -617,17 +611,14 @@ fn ensure_libclang_is_loaded() {
617
611
  // doesn't get dropped prematurely, nor is loaded multiple times
618
612
  // across different threads.
619
613
 
620
- lazy_static! {
621
- static ref LIBCLANG: std::sync::Arc<clang_sys::SharedLibrary> = {
622
- clang_sys::load().expect("Unable to find libclang");
623
- clang_sys::get_library().expect(
624
- "We just loaded libclang and it had better still be \
625
- here!",
626
- )
627
- };
628
- }
614
+ static LIBCLANG: OnceLock<Arc<clang_sys::SharedLibrary>> = OnceLock::new();
615
+ let libclang = LIBCLANG.get_or_init(|| {
616
+ clang_sys::load().expect("Unable to find libclang");
617
+ clang_sys::get_library()
618
+ .expect("We just loaded libclang and it had better still be here!")
619
+ });
629
620
 
630
- clang_sys::set_library(Some(LIBCLANG.clone()));
621
+ clang_sys::set_library(Some(libclang.clone()));
631
622
  }
632
623
 
633
624
  #[cfg(not(feature = "runtime"))]
@@ -647,6 +638,8 @@ pub enum BindgenError {
647
638
  ClangDiagnostic(String),
648
639
  /// Code generation reported an error.
649
640
  Codegen(CodegenError),
641
+ /// The passed edition is not available on that Rust target.
642
+ UnsupportedEdition(RustEdition, RustTarget),
650
643
  }
651
644
 
652
645
  impl std::fmt::Display for BindgenError {
@@ -662,10 +655,13 @@ impl std::fmt::Display for BindgenError {
662
655
  write!(f, "header '{}' does not exist.", h.display())
663
656
  }
664
657
  BindgenError::ClangDiagnostic(message) => {
665
- write!(f, "clang diagnosed error: {}", message)
658
+ write!(f, "clang diagnosed error: {message}")
666
659
  }
667
660
  BindgenError::Codegen(err) => {
668
- write!(f, "codegen error: {}", err)
661
+ write!(f, "codegen error: {err}")
662
+ }
663
+ BindgenError::UnsupportedEdition(edition, target) => {
664
+ write!(f, "edition {edition} is not available on Rust {target}")
669
665
  }
670
666
  }
671
667
  }
@@ -686,35 +682,46 @@ pub(crate) const HOST_TARGET: &str =
686
682
  // Some architecture triplets are different between rust and libclang, see #1211
687
683
  // and duplicates.
688
684
  fn rust_to_clang_target(rust_target: &str) -> Box<str> {
689
- if rust_target.starts_with("aarch64-apple-") {
690
- let mut clang_target = "arm64-apple-".to_owned();
691
- clang_target
692
- .push_str(rust_target.strip_prefix("aarch64-apple-").unwrap());
693
- return clang_target.into();
694
- } else if rust_target.starts_with("riscv64gc-") {
695
- let mut clang_target = "riscv64-".to_owned();
696
- clang_target.push_str(rust_target.strip_prefix("riscv64gc-").unwrap());
697
- return clang_target.into();
698
- } else if rust_target.ends_with("-espidf") {
699
- let mut clang_target =
700
- rust_target.strip_suffix("-espidf").unwrap().to_owned();
701
- clang_target.push_str("-elf");
702
- if clang_target.starts_with("riscv32imc-") {
703
- clang_target = "riscv32-".to_owned() +
704
- clang_target.strip_prefix("riscv32imc-").unwrap();
685
+ const TRIPLE_HYPHENS_MESSAGE: &str = "Target triple should contain hyphens";
686
+
687
+ let mut triple: Vec<&str> = rust_target.split_terminator('-').collect();
688
+
689
+ assert!(!triple.is_empty(), "{}", TRIPLE_HYPHENS_MESSAGE);
690
+ triple.resize(4, "");
691
+
692
+ // RISC-V
693
+ if triple[0].starts_with("riscv32") {
694
+ triple[0] = "riscv32";
695
+ } else if triple[0].starts_with("riscv64") {
696
+ triple[0] = "riscv64";
697
+ }
698
+
699
+ // Apple
700
+ if triple[1] == "apple" {
701
+ if triple[0] == "aarch64" {
702
+ triple[0] = "arm64";
703
+ }
704
+ if triple[3] == "sim" {
705
+ triple[3] = "simulator";
705
706
  }
706
- return clang_target.into();
707
- } else if rust_target.starts_with("riscv32imc-") {
708
- let mut clang_target = "riscv32-".to_owned();
709
- clang_target.push_str(rust_target.strip_prefix("riscv32imc-").unwrap());
710
- return clang_target.into();
711
- } else if rust_target.starts_with("riscv32imac-") {
712
- let mut clang_target = "riscv32-".to_owned();
713
- clang_target
714
- .push_str(rust_target.strip_prefix("riscv32imac-").unwrap());
715
- return clang_target.into();
716
707
  }
717
- rust_target.into()
708
+
709
+ // ESP-IDF
710
+ if triple[2] == "espidf" {
711
+ triple[2] = "elf";
712
+ }
713
+
714
+ triple
715
+ .iter()
716
+ .skip(1)
717
+ .fold(triple[0].to_string(), |triple, part| {
718
+ if part.is_empty() {
719
+ triple
720
+ } else {
721
+ triple + "-" + part
722
+ }
723
+ })
724
+ .into()
718
725
  }
719
726
 
720
727
  /// Returns the effective target, and whether it was explicitly specified on the
@@ -747,10 +754,22 @@ impl Bindings {
747
754
  /// Generate bindings for the given options.
748
755
  pub(crate) fn generate(
749
756
  mut options: BindgenOptions,
750
- input_unsaved_files: Vec<clang::UnsavedFile>,
757
+ input_unsaved_files: &[clang::UnsavedFile],
751
758
  ) -> Result<Bindings, BindgenError> {
752
759
  ensure_libclang_is_loaded();
753
760
 
761
+ #[cfg(feature = "runtime")]
762
+ match clang_sys::get_library().unwrap().version() {
763
+ None => {
764
+ warn!("Could not detect a Clang version, make sure you are using libclang 9 or newer");
765
+ }
766
+ Some(version) => {
767
+ if version < clang_sys::Version::V9_0 {
768
+ warn!("Detected Clang version {version:?} which is unsupported and can cause invalid code generation, use libclang 9 or newer");
769
+ }
770
+ }
771
+ }
772
+
754
773
  #[cfg(feature = "runtime")]
755
774
  debug!(
756
775
  "Generating bindings, libclang at {}",
@@ -775,9 +794,9 @@ impl Bindings {
775
794
  if !explicit_target && !is_host_build {
776
795
  options.clang_args.insert(
777
796
  0,
778
- format!("--target={}", effective_target).into_boxed_str(),
797
+ format!("--target={effective_target}").into_boxed_str(),
779
798
  );
780
- };
799
+ }
781
800
 
782
801
  fn detect_include_paths(options: &mut BindgenOptions) {
783
802
  if !options.detect_include_paths {
@@ -819,8 +838,7 @@ impl Bindings {
819
838
  };
820
839
 
821
840
  debug!(
822
- "Trying to find clang with flags: {:?}",
823
- clang_args_for_clang_sys
841
+ "Trying to find clang with flags: {clang_args_for_clang_sys:?}"
824
842
  );
825
843
 
826
844
  let clang = match clang_sys::support::Clang::find(
@@ -831,7 +849,7 @@ impl Bindings {
831
849
  Some(clang) => clang,
832
850
  };
833
851
 
834
- debug!("Found clang: {:?}", clang);
852
+ debug!("Found clang: {clang:?}");
835
853
 
836
854
  // Whether we are working with C or C++ inputs.
837
855
  let is_cpp = args_are_cpp(&options.clang_args) ||
@@ -844,7 +862,7 @@ impl Bindings {
844
862
  };
845
863
 
846
864
  if let Some(search_paths) = search_paths {
847
- for path in search_paths.into_iter() {
865
+ for path in search_paths {
848
866
  if let Ok(path) = path.into_os_string().into_string() {
849
867
  options.clang_args.push("-isystem".into());
850
868
  options.clang_args.push(path.into_boxed_str());
@@ -887,21 +905,19 @@ impl Bindings {
887
905
  if idx != 0 || !options.input_headers.is_empty() {
888
906
  options.clang_args.push("-include".into());
889
907
  }
890
- options.clang_args.push(f.name.to_str().unwrap().into())
908
+ options.clang_args.push(f.name.to_str().unwrap().into());
891
909
  }
892
910
 
893
- debug!("Fixed-up options: {:?}", options);
911
+ debug!("Fixed-up options: {options:?}");
894
912
 
895
913
  let time_phases = options.time_phases;
896
- let mut context = BindgenContext::new(options, &input_unsaved_files);
914
+ let mut context = BindgenContext::new(options, input_unsaved_files);
897
915
 
898
916
  if is_host_build {
899
917
  debug_assert_eq!(
900
918
  context.target_pointer_size(),
901
- std::mem::size_of::<*mut ()>(),
902
- "{:?} {:?}",
903
- effective_target,
904
- HOST_TARGET
919
+ size_of::<*mut ()>(),
920
+ "{effective_target:?} {HOST_TARGET:?}"
905
921
  );
906
922
  }
907
923
 
@@ -934,13 +950,13 @@ impl Bindings {
934
950
  if !self.options.disable_header_comment {
935
951
  let version =
936
952
  option_env!("CARGO_PKG_VERSION").unwrap_or("(unknown version)");
937
- writeln!(
953
+ write!(
938
954
  writer,
939
- "/* automatically generated by rust-bindgen {version} */{NL}",
955
+ "/* automatically generated by rust-bindgen {version} */{NL}{NL}",
940
956
  )?;
941
957
  }
942
958
 
943
- for line in self.options.raw_lines.iter() {
959
+ for line in &self.options.raw_lines {
944
960
  writer.write_all(line.as_bytes())?;
945
961
  writer.write_all(NL.as_bytes())?;
946
962
  }
@@ -955,8 +971,7 @@ impl Bindings {
955
971
  }
956
972
  Err(err) => {
957
973
  eprintln!(
958
- "Failed to run rustfmt: {} (non-fatal, continuing)",
959
- err
974
+ "Failed to run rustfmt: {err} (non-fatal, continuing)"
960
975
  );
961
976
  writer.write_all(self.module.to_string().as_bytes())?;
962
977
  }
@@ -965,7 +980,7 @@ impl Bindings {
965
980
  }
966
981
 
967
982
  /// Gets the rustfmt path to rustfmt the generated bindings.
968
- fn rustfmt_path(&self) -> io::Result<Cow<PathBuf>> {
983
+ fn rustfmt_path(&self) -> io::Result<Cow<'_, PathBuf>> {
969
984
  debug_assert!(matches!(self.options.formatter, Formatter::Rustfmt));
970
985
  if let Some(ref p) = self.options.rustfmt_path {
971
986
  return Ok(Cow::Borrowed(p));
@@ -973,14 +988,6 @@ impl Bindings {
973
988
  if let Ok(rustfmt) = env::var("RUSTFMT") {
974
989
  return Ok(Cow::Owned(rustfmt.into()));
975
990
  }
976
- #[cfg(feature = "which-rustfmt")]
977
- match which::which("rustfmt") {
978
- Ok(p) => Ok(Cow::Owned(p)),
979
- Err(e) => {
980
- Err(io::Error::new(io::ErrorKind::Other, format!("{}", e)))
981
- }
982
- }
983
- #[cfg(not(feature = "which-rustfmt"))]
984
991
  // No rustfmt binary was specified, so assume that the binary is called
985
992
  // "rustfmt" and that it is in the user's PATH.
986
993
  Ok(Cow::Owned("rustfmt".into()))
@@ -1017,6 +1024,12 @@ impl Bindings {
1017
1024
  cmd.args(["--config-path", path]);
1018
1025
  }
1019
1026
 
1027
+ let edition = self
1028
+ .options
1029
+ .rust_edition
1030
+ .unwrap_or_else(|| self.options.rust_target.latest_edition());
1031
+ cmd.args(["--edition", &format!("{edition}")]);
1032
+
1020
1033
  let mut child = cmd.spawn()?;
1021
1034
  let mut child_stdin = child.stdin.take().unwrap();
1022
1035
  let mut child_stdout = child.stdout.take().unwrap();
@@ -1065,14 +1078,14 @@ impl Bindings {
1065
1078
  }
1066
1079
 
1067
1080
  fn rustfmt_non_fatal_error_diagnostic(msg: &str, _options: &BindgenOptions) {
1068
- warn!("{}", msg);
1081
+ warn!("{msg}");
1069
1082
 
1070
1083
  #[cfg(feature = "experimental")]
1071
1084
  if _options.emit_diagnostics {
1072
1085
  use crate::diagnostics::{Diagnostic, Level};
1073
1086
 
1074
1087
  Diagnostic::default()
1075
- .with_title(msg, Level::Warn)
1088
+ .with_title(msg, Level::Warning)
1076
1089
  .add_annotation(
1077
1090
  "The bindings will be generated but not formatted.",
1078
1091
  Level::Note,
@@ -1124,7 +1137,7 @@ fn parse(context: &mut BindgenContext) -> Result<(), BindgenError> {
1124
1137
  use clang_sys::*;
1125
1138
 
1126
1139
  let mut error = None;
1127
- for d in context.translation_unit().diags().iter() {
1140
+ for d in &context.translation_unit().diags() {
1128
1141
  let msg = d.format();
1129
1142
  let is_err = d.severity() >= CXDiagnostic_Error;
1130
1143
  if is_err {
@@ -1132,7 +1145,7 @@ fn parse(context: &mut BindgenContext) -> Result<(), BindgenError> {
1132
1145
  error.push_str(&msg);
1133
1146
  error.push('\n');
1134
1147
  } else {
1135
- eprintln!("clang diag: {}", msg);
1148
+ eprintln!("clang diag: {msg}");
1136
1149
  }
1137
1150
  }
1138
1151
 
@@ -1144,10 +1157,10 @@ fn parse(context: &mut BindgenContext) -> Result<(), BindgenError> {
1144
1157
 
1145
1158
  if context.options().emit_ast {
1146
1159
  fn dump_if_not_builtin(cur: &clang::Cursor) -> CXChildVisitResult {
1147
- if !cur.is_builtin() {
1148
- clang::ast_dump(cur, 0)
1149
- } else {
1160
+ if cur.is_builtin() {
1150
1161
  CXChildVisit_Continue
1162
+ } else {
1163
+ clang::ast_dump(cur, 0)
1151
1164
  }
1152
1165
  }
1153
1166
  cursor.visit(|cur| dump_if_not_builtin(&cur));
@@ -1155,11 +1168,12 @@ fn parse(context: &mut BindgenContext) -> Result<(), BindgenError> {
1155
1168
 
1156
1169
  let root = context.root_module();
1157
1170
  context.with_module(root, |ctx| {
1158
- cursor.visit_sorted(ctx, |ctx, child| parse_one(ctx, child, None))
1171
+ cursor.visit_sorted(ctx, |ctx, child| parse_one(ctx, child, None));
1159
1172
  });
1160
1173
 
1161
- assert!(
1162
- context.current_module() == context.root_module(),
1174
+ assert_eq!(
1175
+ context.current_module(),
1176
+ context.root_module(),
1163
1177
  "How did this happen?"
1164
1178
  );
1165
1179
  Ok(())
@@ -1182,7 +1196,7 @@ pub fn clang_version() -> ClangVersion {
1182
1196
  let raw_v: String = clang::extract_clang_version();
1183
1197
  let split_v: Option<Vec<&str>> = raw_v
1184
1198
  .split_whitespace()
1185
- .find(|t| t.chars().next().map_or(false, |v| v.is_ascii_digit()))
1199
+ .find(|t| t.chars().next().is_some_and(|v| v.is_ascii_digit()))
1186
1200
  .map(|v| v.split('.').collect());
1187
1201
  if let Some(v) = split_v {
1188
1202
  if v.len() >= 2 {
@@ -1195,7 +1209,7 @@ pub fn clang_version() -> ClangVersion {
1195
1209
  };
1196
1210
  }
1197
1211
  }
1198
- };
1212
+ }
1199
1213
  ClangVersion {
1200
1214
  parsed: None,
1201
1215
  full: raw_v.clone(),
@@ -1205,11 +1219,11 @@ pub fn clang_version() -> ClangVersion {
1205
1219
  fn env_var<K: AsRef<str> + AsRef<OsStr>>(
1206
1220
  parse_callbacks: &[Rc<dyn callbacks::ParseCallbacks>],
1207
1221
  key: K,
1208
- ) -> Result<String, std::env::VarError> {
1222
+ ) -> Result<String, env::VarError> {
1209
1223
  for callback in parse_callbacks {
1210
1224
  callback.read_env_var(key.as_ref());
1211
1225
  }
1212
- std::env::var(key)
1226
+ env::var(key)
1213
1227
  }
1214
1228
 
1215
1229
  /// Looks for the env var `var_${TARGET}`, and falls back to just `var` when it is not found.
@@ -1218,12 +1232,12 @@ fn get_target_dependent_env_var(
1218
1232
  var: &str,
1219
1233
  ) -> Option<String> {
1220
1234
  if let Ok(target) = env_var(parse_callbacks, "TARGET") {
1221
- if let Ok(v) = env_var(parse_callbacks, format!("{}_{}", var, target)) {
1235
+ if let Ok(v) = env_var(parse_callbacks, format!("{var}_{target}")) {
1222
1236
  return Some(v);
1223
1237
  }
1224
1238
  if let Ok(v) = env_var(
1225
1239
  parse_callbacks,
1226
- format!("{}_{}", var, target.replace('-', "_")),
1240
+ format!("{var}_{}", target.replace('-', "_")),
1227
1241
  ) {
1228
1242
  return Some(v);
1229
1243
  }
@@ -1232,7 +1246,7 @@ fn get_target_dependent_env_var(
1232
1246
  env_var(parse_callbacks, var).ok()
1233
1247
  }
1234
1248
 
1235
- /// A ParseCallbacks implementation that will act on file includes by echoing a rerun-if-changed
1249
+ /// A `ParseCallbacks` implementation that will act on file includes by echoing a rerun-if-changed
1236
1250
  /// line and on env variable usage by echoing a rerun-if-env-changed line
1237
1251
  ///
1238
1252
  /// When running inside a `build.rs` script, this can be used to make cargo invalidate the
@@ -1285,24 +1299,24 @@ impl Default for CargoCallbacks {
1285
1299
  impl callbacks::ParseCallbacks for CargoCallbacks {
1286
1300
  fn header_file(&self, filename: &str) {
1287
1301
  if self.rerun_on_header_files {
1288
- println!("cargo:rerun-if-changed={}", filename);
1302
+ println!("cargo:rerun-if-changed={filename}");
1289
1303
  }
1290
1304
  }
1291
1305
 
1292
1306
  fn include_file(&self, filename: &str) {
1293
- println!("cargo:rerun-if-changed={}", filename);
1307
+ println!("cargo:rerun-if-changed={filename}");
1294
1308
  }
1295
1309
 
1296
1310
  fn read_env_var(&self, key: &str) {
1297
- println!("cargo:rerun-if-env-changed={}", key);
1311
+ println!("cargo:rerun-if-env-changed={key}");
1298
1312
  }
1299
1313
  }
1300
1314
 
1301
- /// Test command_line_flag function.
1315
+ /// Test `command_line_flag` function.
1302
1316
  #[test]
1303
1317
  fn commandline_flag_unit_test_function() {
1304
1318
  //Test 1
1305
- let bindings = crate::builder();
1319
+ let bindings = builder();
1306
1320
  let command_line_flags = bindings.command_line_flags();
1307
1321
 
1308
1322
  let test_cases = [
@@ -1318,7 +1332,7 @@ fn commandline_flag_unit_test_function() {
1318
1332
  assert!(test_cases.iter().all(|x| command_line_flags.contains(x)));
1319
1333
 
1320
1334
  //Test 2
1321
- let bindings = crate::builder()
1335
+ let bindings = builder()
1322
1336
  .header("input_header")
1323
1337
  .allowlist_type("Distinct_Type")
1324
1338
  .allowlist_function("safe_function");
@@ -1338,7 +1352,7 @@ fn commandline_flag_unit_test_function() {
1338
1352
  .iter()
1339
1353
  .map(|&x| x.into())
1340
1354
  .collect::<Vec<String>>();
1341
- println!("{:?}", command_line_flags);
1355
+ println!("{command_line_flags:?}");
1342
1356
 
1343
1357
  assert!(test_cases.iter().all(|x| command_line_flags.contains(x)));
1344
1358
  }
@@ -1357,6 +1371,10 @@ fn test_rust_to_clang_target_riscv() {
1357
1371
  rust_to_clang_target("riscv64gc-unknown-linux-gnu").as_ref(),
1358
1372
  "riscv64-unknown-linux-gnu"
1359
1373
  );
1374
+ assert_eq!(
1375
+ rust_to_clang_target("riscv64imac-unknown-none-elf").as_ref(),
1376
+ "riscv64-unknown-none-elf"
1377
+ );
1360
1378
  assert_eq!(
1361
1379
  rust_to_clang_target("riscv32imc-unknown-none-elf").as_ref(),
1362
1380
  "riscv32-unknown-none-elf"
@@ -1365,6 +1383,14 @@ fn test_rust_to_clang_target_riscv() {
1365
1383
  rust_to_clang_target("riscv32imac-unknown-none-elf").as_ref(),
1366
1384
  "riscv32-unknown-none-elf"
1367
1385
  );
1386
+ assert_eq!(
1387
+ rust_to_clang_target("riscv32imafc-unknown-none-elf").as_ref(),
1388
+ "riscv32-unknown-none-elf"
1389
+ );
1390
+ assert_eq!(
1391
+ rust_to_clang_target("riscv32i-unknown-none-elf").as_ref(),
1392
+ "riscv32-unknown-none-elf"
1393
+ );
1368
1394
  }
1369
1395
 
1370
1396
  #[test]
@@ -1378,3 +1404,19 @@ fn test_rust_to_clang_target_espidf() {
1378
1404
  "xtensa-esp32-elf"
1379
1405
  );
1380
1406
  }
1407
+
1408
+ #[test]
1409
+ fn test_rust_to_clang_target_simulator() {
1410
+ assert_eq!(
1411
+ rust_to_clang_target("aarch64-apple-ios-sim").as_ref(),
1412
+ "arm64-apple-ios-simulator"
1413
+ );
1414
+ assert_eq!(
1415
+ rust_to_clang_target("aarch64-apple-tvos-sim").as_ref(),
1416
+ "arm64-apple-tvos-simulator"
1417
+ );
1418
+ assert_eq!(
1419
+ rust_to_clang_target("aarch64-apple-watchos-sim").as_ref(),
1420
+ "arm64-apple-watchos-simulator"
1421
+ );
1422
+ }