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.
- checksums.yaml +4 -4
- data/Cargo.lock +30 -27
- data/bin/codeownership +1 -0
- data/ext/cargo-vendor/bindgen-0.72.1/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/bindgen-0.72.1/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/bindgen-0.72.1/Cargo.lock +485 -0
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/Cargo.toml +72 -38
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/Cargo.toml.orig +26 -28
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/README.md +2 -2
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/build.rs +2 -2
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/callbacks.rs +114 -10
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/clang.rs +184 -83
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/bitfield_unit.rs +20 -10
- data/ext/cargo-vendor/bindgen-0.72.1/codegen/bitfield_unit_raw_ref_macros.rs +191 -0
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/bitfield_unit_tests.rs +4 -4
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/dyngen.rs +77 -20
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/error.rs +2 -3
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/helpers.rs +106 -66
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/impl_debug.rs +32 -34
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/impl_partialeq.rs +5 -5
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/mod.rs +1197 -679
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/postprocessing/merge_extern_blocks.rs +3 -3
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/postprocessing/sort_semantically.rs +3 -3
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/serialize.rs +33 -34
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/struct_layout.rs +33 -26
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/deps.rs +1 -1
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/diagnostics.rs +22 -65
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/extra_assertions.rs +1 -1
- data/ext/cargo-vendor/bindgen-0.72.1/features.rs +570 -0
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/derive.rs +69 -75
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/has_destructor.rs +5 -6
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/has_float.rs +13 -17
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/has_type_param_in_array.rs +22 -32
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/has_vtable.rs +11 -16
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/mod.rs +15 -20
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/sizedness.rs +13 -21
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/analysis/template_params.rs +20 -26
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/annotations.rs +18 -15
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/comment.rs +2 -2
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/comp.rs +54 -29
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/context.rs +205 -136
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/derive.rs +5 -10
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/dot.rs +3 -4
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/enum_ty.rs +5 -7
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/function.rs +27 -28
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/int.rs +7 -6
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/item.rs +92 -132
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/item_kind.rs +7 -7
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/layout.rs +11 -23
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/module.rs +2 -2
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/objc.rs +22 -33
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/template.rs +26 -33
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/traversal.rs +4 -5
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/ty.rs +63 -88
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/var.rs +73 -38
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/lib.rs +186 -144
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/log_stubs.rs +6 -0
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/options/as_args.rs +1 -1
- data/ext/cargo-vendor/bindgen-0.72.1/options/cli.rs +1151 -0
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/options/mod.rs +234 -27
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/regex_set.rs +23 -28
- data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/time.rs +4 -4
- data/ext/cargo-vendor/rb-sys-0.9.130/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/rb-sys-0.9.130/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/Cargo.lock +23 -31
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/Cargo.toml +5 -4
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/Cargo.toml.orig +5 -4
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/build/main.rs +7 -1
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/build/stable_api_config.rs +30 -6
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/build/version.rs +14 -6
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/bindings.rs +1 -0
- data/ext/cargo-vendor/rb-sys-0.9.130/src/macros.rs +701 -0
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/memory.rs +17 -6
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/stable_api/compiled.c +169 -10
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/stable_api/compiled.rs +209 -14
- data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_2_7.rs +770 -0
- data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_0.rs +773 -0
- data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_1.rs +766 -0
- data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_2.rs +764 -0
- data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_3.rs +777 -0
- data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_3_4.rs +788 -0
- data/ext/cargo-vendor/rb-sys-0.9.130/src/stable_api/ruby_4_0.rs +784 -0
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/stable_api.rs +213 -9
- data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/utils.rs +12 -7
- data/ext/cargo-vendor/rb-sys-build-0.9.130/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/.cargo_vcs_info.json +1 -1
- data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/Cargo.lock +19 -27
- data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/Cargo.toml +8 -3
- data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/Cargo.toml.orig +4 -3
- data/ext/cargo-vendor/rb-sys-build-0.9.130/src/bindings/gc_stress.rs +303 -0
- data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings/stable_api.rs +102 -11
- data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings.rs +19 -13
- data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/cc.rs +1 -1
- data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config.rs +199 -2
- data/ext/cargo-vendor/rb-sys-build-0.9.130/tests/fixtures/rubyopt_stdout.rb +1 -0
- data/ext/cargo-vendor/rb-sys-build-0.9.130/tests/rubyopt.rs +17 -0
- data/ext/cargo-vendor/rb-sys-env-0.2.3/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/rb-sys-env-0.2.3/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/rb-sys-env-0.2.3/Cargo.lock +7 -0
- data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/Cargo.toml +2 -2
- data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/Cargo.toml.orig +2 -2
- data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/readme.md +0 -2
- data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/ruby_version.rs +3 -1
- data/ext/cargo-vendor/rustc-hash-2.1.3/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/.github/workflows/rust.yml +73 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/CHANGELOG.md +41 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/CODE_OF_CONDUCT.md +3 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/Cargo.lock +90 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/Cargo.toml +50 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/Cargo.toml.orig +20 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/LICENSE-APACHE +176 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/LICENSE-MIT +23 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/README.md +42 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/src/lib.rs +472 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/src/random_state.rs +101 -0
- data/ext/cargo-vendor/rustc-hash-2.1.3/src/seeded_state.rs +76 -0
- data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/.cargo-checksum.json +1 -1
- data/ext/cargo-vendor/serde-1.0.229/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/Cargo.lock +13 -13
- data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/Cargo.toml +2 -2
- data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/Cargo.toml.orig +2 -2
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde-1.0.229}/README.md +3 -3
- data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/build.rs +2 -2
- data/ext/cargo-vendor/{serde_core-1.0.228/src → serde-1.0.229/src/core}/de/impls.rs +4 -4
- data/ext/cargo-vendor/{serde_core-1.0.228/src → serde-1.0.229/src/core}/lib.rs +2 -2
- data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/lib.rs +3 -3
- data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/.cargo-checksum.json +1 -1
- data/ext/cargo-vendor/serde_core-1.0.229/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/Cargo.lock +11 -11
- data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/Cargo.toml +2 -2
- data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/Cargo.toml.orig +2 -2
- data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/build.rs +5 -5
- data/ext/cargo-vendor/{serde-1.0.228/src/core → serde_core-1.0.229/src}/de/impls.rs +4 -4
- data/ext/cargo-vendor/{serde-1.0.228/src/core → serde_core-1.0.229/src}/lib.rs +2 -2
- data/ext/cargo-vendor/serde_derive-1.0.229/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/serde_derive-1.0.229/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/Cargo.lock +29 -18
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/Cargo.toml +3 -3
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/Cargo.toml.orig +2 -2
- data/ext/cargo-vendor/{serde-1.0.228 → serde_derive-1.0.229}/README.md +3 -3
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/bound.rs +80 -59
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_adjacently.rs +46 -45
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_externally.rs +3 -2
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de.rs +10 -7
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/ast.rs +15 -8
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/attr.rs +18 -31
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/ctxt.rs +3 -4
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/receiver.rs +2 -2
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/lib.rs +1 -1
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/pretend.rs +7 -7
- data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/ser.rs +94 -94
- data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/.cargo-checksum.json +1 -1
- data/ext/cargo-vendor/serde_magnus-0.11.0/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/Cargo.lock +71 -73
- data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/Cargo.toml +2 -2
- data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/Cargo.toml.orig +2 -2
- data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/README.md +1 -1
- data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/deserializer.rs +2 -2
- data/ext/cargo-vendor/syn-3.0.9/.cargo-checksum.json +1 -0
- data/ext/cargo-vendor/syn-3.0.9/.cargo_vcs_info.json +6 -0
- data/ext/cargo-vendor/syn-3.0.9/Cargo.lock +1948 -0
- data/ext/cargo-vendor/syn-3.0.9/Cargo.toml +268 -0
- data/ext/cargo-vendor/syn-3.0.9/Cargo.toml.orig +95 -0
- data/ext/cargo-vendor/{lazycell-1.3.0 → syn-3.0.9}/LICENSE-APACHE +0 -25
- data/ext/cargo-vendor/syn-3.0.9/README.md +297 -0
- data/ext/cargo-vendor/syn-3.0.9/benches/file.rs +59 -0
- data/ext/cargo-vendor/syn-3.0.9/benches/rust.rs +189 -0
- data/ext/cargo-vendor/syn-3.0.9/src/attr.rs +841 -0
- data/ext/cargo-vendor/syn-3.0.9/src/bigint.rs +68 -0
- data/ext/cargo-vendor/syn-3.0.9/src/buffer.rs +462 -0
- data/ext/cargo-vendor/syn-3.0.9/src/classify.rs +311 -0
- data/ext/cargo-vendor/syn-3.0.9/src/custom_keyword.rs +260 -0
- data/ext/cargo-vendor/syn-3.0.9/src/custom_punctuation.rs +305 -0
- data/ext/cargo-vendor/syn-3.0.9/src/data.rs +489 -0
- data/ext/cargo-vendor/syn-3.0.9/src/derive.rs +260 -0
- data/ext/cargo-vendor/syn-3.0.9/src/discouraged.rs +233 -0
- data/ext/cargo-vendor/syn-3.0.9/src/drops.rs +58 -0
- data/ext/cargo-vendor/syn-3.0.9/src/error.rs +552 -0
- data/ext/cargo-vendor/syn-3.0.9/src/export.rs +73 -0
- data/ext/cargo-vendor/syn-3.0.9/src/expr.rs +4249 -0
- data/ext/cargo-vendor/syn-3.0.9/src/ext.rs +180 -0
- data/ext/cargo-vendor/syn-3.0.9/src/file.rs +136 -0
- data/ext/cargo-vendor/syn-3.0.9/src/fixup.rs +773 -0
- data/ext/cargo-vendor/syn-3.0.9/src/gen/clone.rs +2394 -0
- data/ext/cargo-vendor/syn-3.0.9/src/gen/debug.rs +3399 -0
- data/ext/cargo-vendor/syn-3.0.9/src/gen/eq.rs +2459 -0
- data/ext/cargo-vendor/syn-3.0.9/src/gen/fold.rs +3934 -0
- data/ext/cargo-vendor/syn-3.0.9/src/gen/hash.rs +3040 -0
- data/ext/cargo-vendor/syn-3.0.9/src/gen/token.css +744 -0
- data/ext/cargo-vendor/syn-3.0.9/src/gen/visit.rs +4037 -0
- data/ext/cargo-vendor/syn-3.0.9/src/gen/visit_mut.rs +3824 -0
- data/ext/cargo-vendor/syn-3.0.9/src/generics.rs +1490 -0
- data/ext/cargo-vendor/syn-3.0.9/src/group.rs +294 -0
- data/ext/cargo-vendor/syn-3.0.9/src/ident.rs +109 -0
- data/ext/cargo-vendor/syn-3.0.9/src/item.rs +3923 -0
- data/ext/cargo-vendor/syn-3.0.9/src/lib.rs +1132 -0
- data/ext/cargo-vendor/syn-3.0.9/src/lifetime.rs +193 -0
- data/ext/cargo-vendor/syn-3.0.9/src/lit.rs +1881 -0
- data/ext/cargo-vendor/syn-3.0.9/src/lookahead.rs +350 -0
- data/ext/cargo-vendor/syn-3.0.9/src/mac.rs +225 -0
- data/ext/cargo-vendor/syn-3.0.9/src/macros.rs +151 -0
- data/ext/cargo-vendor/syn-3.0.9/src/meta.rs +427 -0
- data/ext/cargo-vendor/syn-3.0.9/src/op.rs +219 -0
- data/ext/cargo-vendor/syn-3.0.9/src/parse.rs +1420 -0
- data/ext/cargo-vendor/syn-3.0.9/src/parse_macro_input.rs +128 -0
- data/ext/cargo-vendor/syn-3.0.9/src/parse_quote.rs +261 -0
- data/ext/cargo-vendor/syn-3.0.9/src/pat.rs +994 -0
- data/ext/cargo-vendor/syn-3.0.9/src/path.rs +972 -0
- data/ext/cargo-vendor/syn-3.0.9/src/precedence.rs +210 -0
- data/ext/cargo-vendor/syn-3.0.9/src/print.rs +16 -0
- data/ext/cargo-vendor/syn-3.0.9/src/punctuated.rs +1200 -0
- data/ext/cargo-vendor/syn-3.0.9/src/restriction.rs +160 -0
- data/ext/cargo-vendor/syn-3.0.9/src/scan_expr.rs +270 -0
- data/ext/cargo-vendor/syn-3.0.9/src/sealed.rs +4 -0
- data/ext/cargo-vendor/syn-3.0.9/src/span.rs +63 -0
- data/ext/cargo-vendor/syn-3.0.9/src/spanned.rs +118 -0
- data/ext/cargo-vendor/syn-3.0.9/src/stmt.rs +536 -0
- data/ext/cargo-vendor/syn-3.0.9/src/thread.rs +60 -0
- data/ext/cargo-vendor/syn-3.0.9/src/token.rs +1103 -0
- data/ext/cargo-vendor/syn-3.0.9/src/tt.rs +97 -0
- data/ext/cargo-vendor/syn-3.0.9/src/ty.rs +1347 -0
- data/ext/cargo-vendor/syn-3.0.9/src/verbatim.rs +32 -0
- data/ext/cargo-vendor/syn-3.0.9/src/whitespace.rs +65 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/common/eq.rs +939 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/common/mod.rs +6 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/common/parse.rs +51 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/common/visit.rs +119 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/debug/gen.rs +5394 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/debug/mod.rs +147 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/macros/mod.rs +7 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/regression/issue1108.rs +5 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/regression/issue1235.rs +32 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/regression.rs +5 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/repo/mod.rs +789 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/repo/progress.rs +37 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/snapshot/mod.rs +68 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_attribute.rs +231 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_derive_input.rs +801 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_expr.rs +1721 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_generics.rs +363 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_grouping.rs +59 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_ident.rs +87 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_item.rs +374 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_lit.rs +335 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_meta.rs +180 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_parse_buffer.rs +104 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_parse_quote.rs +175 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_parse_stream.rs +187 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_pat.rs +158 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_path.rs +117 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_precedence.rs +560 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_punctuated.rs +92 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_receiver.rs +275 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_round_trip.rs +226 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_shebang.rs +77 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_size.rs +54 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_stmt.rs +378 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_token_trees.rs +38 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_ty.rs +479 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_unparenthesize.rs +71 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/test_visibility.rs +193 -0
- data/ext/cargo-vendor/syn-3.0.9/tests/zzz_stable.rs +33 -0
- data/ext/code_ownership/Cargo.toml +1 -1
- data/ext/code_ownership/src/lib.rs +2 -2
- data/lib/code_ownership/version.rb +1 -1
- data/lib/code_ownership.rb +1 -1
- metadata +400 -293
- data/ext/cargo-vendor/bindgen-0.69.5/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/bindgen-0.69.5/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/bindgen-0.69.5/features.rs +0 -296
- data/ext/cargo-vendor/lazycell-1.3.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/lazycell-1.3.0/.cargo_vcs_info.json +0 -5
- data/ext/cargo-vendor/lazycell-1.3.0/CHANGELOG.md +0 -197
- data/ext/cargo-vendor/lazycell-1.3.0/Cargo.toml +0 -34
- data/ext/cargo-vendor/lazycell-1.3.0/Cargo.toml.orig +0 -27
- data/ext/cargo-vendor/lazycell-1.3.0/LICENSE-MIT +0 -26
- data/ext/cargo-vendor/lazycell-1.3.0/README.md +0 -73
- data/ext/cargo-vendor/lazycell-1.3.0/src/lib.rs +0 -680
- data/ext/cargo-vendor/lazycell-1.3.0/src/serde_impl.rs +0 -86
- data/ext/cargo-vendor/rb-sys-0.9.117/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/rb-sys-0.9.117/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/rb-sys-0.9.117/src/macros.rs +0 -371
- data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_2_6.rs +0 -324
- data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_2_7.rs +0 -324
- data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_0.rs +0 -332
- data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_1.rs +0 -325
- data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_2.rs +0 -323
- data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_3.rs +0 -339
- data/ext/cargo-vendor/rb-sys-0.9.117/src/stable_api/ruby_3_4.rs +0 -339
- data/ext/cargo-vendor/rb-sys-build-0.9.117/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/rb-sys-env-0.2.2/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/rb-sys-env-0.2.2/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/rustc-hash-1.1.0/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/rustc-hash-1.1.0/.cargo_vcs_info.json +0 -5
- data/ext/cargo-vendor/rustc-hash-1.1.0/CODE_OF_CONDUCT.md +0 -40
- data/ext/cargo-vendor/rustc-hash-1.1.0/Cargo.toml +0 -25
- data/ext/cargo-vendor/rustc-hash-1.1.0/Cargo.toml.orig +0 -13
- data/ext/cargo-vendor/rustc-hash-1.1.0/LICENSE-APACHE +0 -201
- data/ext/cargo-vendor/rustc-hash-1.1.0/README.md +0 -38
- data/ext/cargo-vendor/rustc-hash-1.1.0/src/lib.rs +0 -148
- data/ext/cargo-vendor/serde-1.0.228/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/serde_core-1.0.228/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/serde_derive-1.0.228/.cargo-checksum.json +0 -1
- data/ext/cargo-vendor/serde_derive-1.0.228/.cargo_vcs_info.json +0 -6
- data/ext/cargo-vendor/serde_magnus-0.10.0/.cargo_vcs_info.json +0 -6
- /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/LICENSE +0 -0
- /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/codegen/postprocessing/mod.rs +0 -0
- /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/ir/mod.rs +0 -0
- /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/options/helpers.rs +0 -0
- /data/ext/cargo-vendor/{bindgen-0.69.5 → bindgen-0.72.1}/parse.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/LICENSE-APACHE +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/LICENSE-MIT +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/bin/release.sh +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/build/features.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/readme.md +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/hidden.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/ruby_abi_version.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/special_consts.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/symbol.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/tracking_allocator.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-0.9.117 → rb-sys-0.9.130}/src/value_type.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/LICENSE-APACHE +0 -0
- /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/LICENSE-MIT +0 -0
- /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings/sanitizer.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/bindings/wrapper.h +0 -0
- /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config/flags.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config/library.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/rb_config/search_path.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-build-0.9.117 → rb-sys-build-0.9.130}/src/utils.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/LICENSE-APACHE +0 -0
- /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/LICENSE-MIT +0 -0
- /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/build.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/defines.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/rb_env.rs +0 -0
- /data/ext/cargo-vendor/{rb-sys-env-0.2.2 → rb-sys-env-0.2.3}/src/utils.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/LICENSE-APACHE +0 -0
- /data/ext/cargo-vendor/{rustc-hash-1.1.0 → serde-1.0.229}/LICENSE-MIT +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/crates-io.md +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/crate_root.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/de/ignored_any.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/de/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/de/value.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/format.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/macros.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/content.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/doc.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/seed.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/size_hint.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/private/string.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/fmt.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/impls.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/impossible.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/ser/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/core/std_error.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/integer128.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/private/de.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/private/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde-1.0.229}/src/private/ser.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/LICENSE-APACHE +0 -0
- /data/ext/cargo-vendor/{serde-1.0.228 → serde_core-1.0.229}/LICENSE-MIT +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/README.md +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/crate_root.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/de/ignored_any.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/de/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/de/value.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/format.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/macros.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/content.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/doc.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/seed.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/size_hint.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/private/string.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/fmt.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/impls.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/impossible.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/ser/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_core-1.0.229}/src/std_error.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/LICENSE-APACHE +0 -0
- /data/ext/cargo-vendor/{serde_core-1.0.228 → serde_derive-1.0.229}/LICENSE-MIT +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/crates-io.md +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_internally.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/enum_untagged.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/identifier.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/struct_.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/tuple.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/de/unit.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/deprecated.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/dummy.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/fragment.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/case.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/check.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/name.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/respan.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/internals/symbol.rs +0 -0
- /data/ext/cargo-vendor/{serde_derive-1.0.228 → serde_derive-1.0.229}/src/this.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/LICENSE +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/array_deserializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/array_enumerator.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/enum_deserializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/hash_deserializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/de/variant_deserializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/error.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/lib.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/enums.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/map_serializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/mod.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/seq_serializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/serializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/struct_serializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/struct_variant_serializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/src/ser/tuple_variant_serializer.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_arrays.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_booleans.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_enums.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_floats.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_integers.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_maps.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_options.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_results.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_strings.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_structs.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_tuples.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/deserializing_vecs.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_arrays.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_booleans.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_enums.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_floats.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_integers.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_maps.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_options.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_results.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_strings.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_structs.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_tuples.rs +0 -0
- /data/ext/cargo-vendor/{serde_magnus-0.10.0 → serde_magnus-0.11.0}/tests/serializing_vecs.rs +0 -0
- /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
|
|
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(
|
|
200
|
-
|
|
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<
|
|
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<
|
|
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
|
|
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
|
|
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
|
-
|
|
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[
|
|
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
|
-
|
|
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).
|
|
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,
|
|
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 =
|
|
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 =
|
|
1078
|
-
|
|
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 {:?}"
|
|
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().
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
.
|
|
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
|
-
.
|
|
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
|
-
.
|
|
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
|
-
.
|
|
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 = {:?}"
|
|
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: {:?}"
|
|
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()
|
|
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:
|
|
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:
|
|
1520
|
+
definition: Cursor,
|
|
1541
1521
|
) -> Option<ItemId> {
|
|
1542
|
-
self.semantic_parents.get(&definition).
|
|
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:
|
|
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: {:?}"
|
|
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
|
-
.
|
|
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<
|
|
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: &
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 {:?}"
|
|
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_ =
|
|
2442
|
-
|
|
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
|
|
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
|
-
.
|
|
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: {} {}"
|
|
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: `{}`."
|
|
3030
|
-
Level::
|
|
3098
|
+
format!("Unused regular expression: `{item}`."),
|
|
3099
|
+
Level::Warning,
|
|
3031
3100
|
)
|
|
3032
3101
|
.add_annotation(
|
|
3033
|
-
format!("This regular expression was passed to `{}`."
|
|
3102
|
+
format!("This regular expression was passed to `{name}`."),
|
|
3034
3103
|
Level::Note,
|
|
3035
3104
|
)
|
|
3036
3105
|
.display();
|