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
|
@@ -9,9 +9,10 @@ use std::cmp;
|
|
|
9
9
|
use std::ops;
|
|
10
10
|
|
|
11
11
|
/// The result of the `HasVtableAnalysis` for an individual item.
|
|
12
|
-
#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
|
12
|
+
#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Default)]
|
|
13
13
|
pub(crate) enum HasVtableResult {
|
|
14
14
|
/// The item does not have a vtable pointer.
|
|
15
|
+
#[default]
|
|
15
16
|
No,
|
|
16
17
|
|
|
17
18
|
/// The item has a vtable and the actual vtable pointer is within this item.
|
|
@@ -22,12 +23,6 @@ pub(crate) enum HasVtableResult {
|
|
|
22
23
|
BaseHasVtable,
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
impl Default for HasVtableResult {
|
|
26
|
-
fn default() -> Self {
|
|
27
|
-
HasVtableResult::No
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
26
|
impl HasVtableResult {
|
|
32
27
|
/// Take the least upper bound of `self` and `rhs`.
|
|
33
28
|
pub(crate) fn join(self, rhs: Self) -> Self {
|
|
@@ -45,7 +40,7 @@ impl ops::BitOr for HasVtableResult {
|
|
|
45
40
|
|
|
46
41
|
impl ops::BitOrAssign for HasVtableResult {
|
|
47
42
|
fn bitor_assign(&mut self, rhs: HasVtableResult) {
|
|
48
|
-
*self = self.join(rhs)
|
|
43
|
+
*self = self.join(rhs);
|
|
49
44
|
}
|
|
50
45
|
}
|
|
51
46
|
|
|
@@ -77,7 +72,7 @@ pub(crate) struct HasVtableAnalysis<'ctx> {
|
|
|
77
72
|
dependencies: HashMap<ItemId, Vec<ItemId>>,
|
|
78
73
|
}
|
|
79
74
|
|
|
80
|
-
impl
|
|
75
|
+
impl HasVtableAnalysis<'_> {
|
|
81
76
|
fn consider_edge(kind: EdgeKind) -> bool {
|
|
82
77
|
// These are the only edges that can affect whether a type has a
|
|
83
78
|
// vtable or not.
|
|
@@ -123,9 +118,9 @@ impl<'ctx> HasVtableAnalysis<'ctx> {
|
|
|
123
118
|
let from = from.into();
|
|
124
119
|
let to = to.into();
|
|
125
120
|
|
|
126
|
-
match self.have_vtable.get(&from)
|
|
121
|
+
match self.have_vtable.get(&from) {
|
|
127
122
|
None => ConstrainResult::Same,
|
|
128
|
-
Some(r) => self.insert(to, r),
|
|
123
|
+
Some(r) => self.insert(to, *r),
|
|
129
124
|
}
|
|
130
125
|
}
|
|
131
126
|
}
|
|
@@ -147,11 +142,11 @@ impl<'ctx> MonotoneFramework for HasVtableAnalysis<'ctx> {
|
|
|
147
142
|
}
|
|
148
143
|
|
|
149
144
|
fn initial_worklist(&self) -> Vec<ItemId> {
|
|
150
|
-
self.ctx.allowlisted_items().iter().
|
|
145
|
+
self.ctx.allowlisted_items().iter().copied().collect()
|
|
151
146
|
}
|
|
152
147
|
|
|
153
148
|
fn constrain(&mut self, id: ItemId) -> ConstrainResult {
|
|
154
|
-
trace!("constrain {:?}"
|
|
149
|
+
trace!("constrain {id:?}");
|
|
155
150
|
|
|
156
151
|
let item = self.ctx.resolve_item(id);
|
|
157
152
|
let ty = match item.as_type() {
|
|
@@ -181,7 +176,7 @@ impl<'ctx> MonotoneFramework for HasVtableAnalysis<'ctx> {
|
|
|
181
176
|
}
|
|
182
177
|
|
|
183
178
|
let bases_has_vtable = info.base_members().iter().any(|base| {
|
|
184
|
-
trace!(" comp has a base with a vtable: {:?}"
|
|
179
|
+
trace!(" comp has a base with a vtable: {base:?}");
|
|
185
180
|
self.have_vtable.contains_key(&base.ty.into())
|
|
186
181
|
});
|
|
187
182
|
if bases_has_vtable {
|
|
@@ -205,7 +200,7 @@ impl<'ctx> MonotoneFramework for HasVtableAnalysis<'ctx> {
|
|
|
205
200
|
{
|
|
206
201
|
if let Some(edges) = self.dependencies.get(&id) {
|
|
207
202
|
for item in edges {
|
|
208
|
-
trace!("enqueue {:?} into worklist"
|
|
203
|
+
trace!("enqueue {item:?} into worklist");
|
|
209
204
|
f(*item);
|
|
210
205
|
}
|
|
211
206
|
}
|
|
@@ -228,7 +223,7 @@ impl<'ctx> From<HasVtableAnalysis<'ctx>> for HashMap<ItemId, HasVtableResult> {
|
|
|
228
223
|
/// vtable during codegen.
|
|
229
224
|
///
|
|
230
225
|
/// This is not for _computing_ whether the thing has a vtable, it is for
|
|
231
|
-
/// looking up the results of the HasVtableAnalysis's computations for a
|
|
226
|
+
/// looking up the results of the `HasVtableAnalysis`'s computations for a
|
|
232
227
|
/// specific thing.
|
|
233
228
|
pub(crate) trait HasVtable {
|
|
234
229
|
/// Return `true` if this thing has vtable, `false` otherwise.
|
|
@@ -125,22 +125,17 @@ pub(crate) trait MonotoneFramework: Sized + fmt::Debug {
|
|
|
125
125
|
|
|
126
126
|
/// Whether an analysis's `constrain` function modified the incremental results
|
|
127
127
|
/// or not.
|
|
128
|
-
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
|
128
|
+
#[derive(Debug, Copy, Clone, PartialEq, Eq, Default)]
|
|
129
129
|
pub(crate) enum ConstrainResult {
|
|
130
130
|
/// The incremental results were updated, and the fix-point computation
|
|
131
131
|
/// should continue.
|
|
132
132
|
Changed,
|
|
133
133
|
|
|
134
134
|
/// The incremental results were not updated.
|
|
135
|
+
#[default]
|
|
135
136
|
Same,
|
|
136
137
|
}
|
|
137
138
|
|
|
138
|
-
impl Default for ConstrainResult {
|
|
139
|
-
fn default() -> Self {
|
|
140
|
-
ConstrainResult::Same
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
139
|
impl ops::BitOr for ConstrainResult {
|
|
145
140
|
type Output = Self;
|
|
146
141
|
|
|
@@ -216,7 +211,7 @@ where
|
|
|
216
211
|
#[cfg(test)]
|
|
217
212
|
mod tests {
|
|
218
213
|
use super::*;
|
|
219
|
-
use crate::
|
|
214
|
+
use crate::HashSet;
|
|
220
215
|
|
|
221
216
|
// Here we find the set of nodes that are reachable from any given
|
|
222
217
|
// node. This is a lattice mapping nodes to subsets of all nodes. Our join
|
|
@@ -285,9 +280,9 @@ mod tests {
|
|
|
285
280
|
|
|
286
281
|
fn reverse(&self) -> Graph {
|
|
287
282
|
let mut reversed = Graph::default();
|
|
288
|
-
for (node, edges) in self.0
|
|
283
|
+
for (node, edges) in &self.0 {
|
|
289
284
|
reversed.0.entry(*node).or_insert_with(Vec::new);
|
|
290
|
-
for referent in edges
|
|
285
|
+
for referent in edges {
|
|
291
286
|
reversed
|
|
292
287
|
.0
|
|
293
288
|
.entry(*referent)
|
|
@@ -311,7 +306,7 @@ mod tests {
|
|
|
311
306
|
type Extra = &'a Graph;
|
|
312
307
|
type Output = HashMap<Node, HashSet<Node>>;
|
|
313
308
|
|
|
314
|
-
fn new(graph: &'a Graph) ->
|
|
309
|
+
fn new(graph: &'a Graph) -> Self {
|
|
315
310
|
let reversed = graph.reverse();
|
|
316
311
|
ReachableFrom {
|
|
317
312
|
reachable: Default::default(),
|
|
@@ -321,7 +316,7 @@ mod tests {
|
|
|
321
316
|
}
|
|
322
317
|
|
|
323
318
|
fn initial_worklist(&self) -> Vec<Node> {
|
|
324
|
-
self.graph.0.keys().
|
|
319
|
+
self.graph.0.keys().copied().collect()
|
|
325
320
|
}
|
|
326
321
|
|
|
327
322
|
fn constrain(&mut self, node: Node) -> ConstrainResult {
|
|
@@ -336,7 +331,7 @@ mod tests {
|
|
|
336
331
|
|
|
337
332
|
let original_size = self.reachable.entry(node).or_default().len();
|
|
338
333
|
|
|
339
|
-
for sub_node in self.graph.0[&node]
|
|
334
|
+
for sub_node in &self.graph.0[&node] {
|
|
340
335
|
self.reachable.get_mut(&node).unwrap().insert(*sub_node);
|
|
341
336
|
|
|
342
337
|
let sub_reachable =
|
|
@@ -348,10 +343,10 @@ mod tests {
|
|
|
348
343
|
}
|
|
349
344
|
|
|
350
345
|
let new_size = self.reachable[&node].len();
|
|
351
|
-
if original_size
|
|
352
|
-
ConstrainResult::Changed
|
|
353
|
-
} else {
|
|
346
|
+
if original_size == new_size {
|
|
354
347
|
ConstrainResult::Same
|
|
348
|
+
} else {
|
|
349
|
+
ConstrainResult::Changed
|
|
355
350
|
}
|
|
356
351
|
}
|
|
357
352
|
|
|
@@ -359,7 +354,7 @@ mod tests {
|
|
|
359
354
|
where
|
|
360
355
|
F: FnMut(Node),
|
|
361
356
|
{
|
|
362
|
-
for dep in self.reversed.0[&node]
|
|
357
|
+
for dep in &self.reversed.0[&node] {
|
|
363
358
|
f(*dep);
|
|
364
359
|
}
|
|
365
360
|
}
|
|
@@ -375,13 +370,13 @@ mod tests {
|
|
|
375
370
|
fn monotone() {
|
|
376
371
|
let g = Graph::make_test_graph();
|
|
377
372
|
let reachable = analyze::<ReachableFrom>(&g);
|
|
378
|
-
println!("reachable = {:#?}"
|
|
373
|
+
println!("reachable = {reachable:#?}");
|
|
379
374
|
|
|
380
375
|
fn nodes<A>(nodes: A) -> HashSet<Node>
|
|
381
376
|
where
|
|
382
377
|
A: AsRef<[usize]>,
|
|
383
378
|
{
|
|
384
|
-
nodes.as_ref().iter().
|
|
379
|
+
nodes.as_ref().iter().copied().map(Node).collect()
|
|
385
380
|
}
|
|
386
381
|
|
|
387
382
|
let mut expected = HashMap::default();
|
|
@@ -393,7 +388,7 @@ mod tests {
|
|
|
393
388
|
expected.insert(Node(6), nodes([8]));
|
|
394
389
|
expected.insert(Node(7), nodes([3, 4, 5, 6, 7, 8]));
|
|
395
390
|
expected.insert(Node(8), nodes([]));
|
|
396
|
-
println!("expected = {:#?}"
|
|
391
|
+
println!("expected = {expected:#?}");
|
|
397
392
|
|
|
398
393
|
assert_eq!(reachable, expected);
|
|
399
394
|
}
|
|
@@ -24,13 +24,14 @@ use std::{cmp, ops};
|
|
|
24
24
|
///
|
|
25
25
|
/// We initially assume that all types are `ZeroSized` and then update our
|
|
26
26
|
/// understanding as we learn more about each type.
|
|
27
|
-
#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
|
27
|
+
#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Default)]
|
|
28
28
|
pub(crate) enum SizednessResult {
|
|
29
29
|
/// The type is zero-sized.
|
|
30
30
|
///
|
|
31
31
|
/// This means that if it is a C++ type, and is not being used as a base
|
|
32
32
|
/// member, then we must add an `_address` byte to enforce the
|
|
33
33
|
/// unique-address-per-distinct-object-instance rule.
|
|
34
|
+
#[default]
|
|
34
35
|
ZeroSized,
|
|
35
36
|
|
|
36
37
|
/// Whether this type is zero-sized or not depends on whether a type
|
|
@@ -62,12 +63,6 @@ pub(crate) enum SizednessResult {
|
|
|
62
63
|
NonZeroSized,
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
impl Default for SizednessResult {
|
|
66
|
-
fn default() -> Self {
|
|
67
|
-
SizednessResult::ZeroSized
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
66
|
impl SizednessResult {
|
|
72
67
|
/// Take the least upper bound of `self` and `rhs`.
|
|
73
68
|
pub(crate) fn join(self, rhs: Self) -> Self {
|
|
@@ -85,20 +80,20 @@ impl ops::BitOr for SizednessResult {
|
|
|
85
80
|
|
|
86
81
|
impl ops::BitOrAssign for SizednessResult {
|
|
87
82
|
fn bitor_assign(&mut self, rhs: SizednessResult) {
|
|
88
|
-
*self = self.join(rhs)
|
|
83
|
+
*self = self.join(rhs);
|
|
89
84
|
}
|
|
90
85
|
}
|
|
91
86
|
|
|
92
87
|
/// An analysis that computes the sizedness of all types.
|
|
93
88
|
///
|
|
94
89
|
/// * For types with known sizes -- for example pointers, scalars, etc... --
|
|
95
|
-
///
|
|
90
|
+
/// they are assigned `NonZeroSized`.
|
|
96
91
|
///
|
|
97
92
|
/// * For compound structure types with one or more fields, they are assigned
|
|
98
|
-
///
|
|
93
|
+
/// `NonZeroSized`.
|
|
99
94
|
///
|
|
100
95
|
/// * For compound structure types without any fields, the results of the bases
|
|
101
|
-
///
|
|
96
|
+
/// are `join`ed.
|
|
102
97
|
///
|
|
103
98
|
/// * For type parameters, `DependsOnTypeParam` is assigned.
|
|
104
99
|
#[derive(Debug)]
|
|
@@ -110,7 +105,7 @@ pub(crate) struct SizednessAnalysis<'ctx> {
|
|
|
110
105
|
sized: HashMap<TypeId, SizednessResult>,
|
|
111
106
|
}
|
|
112
107
|
|
|
113
|
-
impl
|
|
108
|
+
impl SizednessAnalysis<'_> {
|
|
114
109
|
fn consider_edge(kind: EdgeKind) -> bool {
|
|
115
110
|
// These are the only edges that can affect whether a type is
|
|
116
111
|
// zero-sized or not.
|
|
@@ -132,7 +127,7 @@ impl<'ctx> SizednessAnalysis<'ctx> {
|
|
|
132
127
|
id: TypeId,
|
|
133
128
|
result: SizednessResult,
|
|
134
129
|
) -> ConstrainResult {
|
|
135
|
-
trace!("inserting {:?} for {:?}"
|
|
130
|
+
trace!("inserting {result:?} for {id:?}");
|
|
136
131
|
|
|
137
132
|
if let SizednessResult::ZeroSized = result {
|
|
138
133
|
return ConstrainResult::Same;
|
|
@@ -155,9 +150,9 @@ impl<'ctx> SizednessAnalysis<'ctx> {
|
|
|
155
150
|
}
|
|
156
151
|
|
|
157
152
|
fn forward(&mut self, from: TypeId, to: TypeId) -> ConstrainResult {
|
|
158
|
-
match self.sized.get(&from)
|
|
153
|
+
match self.sized.get(&from) {
|
|
159
154
|
None => ConstrainResult::Same,
|
|
160
|
-
Some(r) => self.insert(to, r),
|
|
155
|
+
Some(r) => self.insert(to, *r),
|
|
161
156
|
}
|
|
162
157
|
}
|
|
163
158
|
}
|
|
@@ -196,17 +191,14 @@ impl<'ctx> MonotoneFramework for SizednessAnalysis<'ctx> {
|
|
|
196
191
|
self.ctx
|
|
197
192
|
.allowlisted_items()
|
|
198
193
|
.iter()
|
|
199
|
-
.cloned()
|
|
200
194
|
.filter_map(|id| id.as_type_id(self.ctx))
|
|
201
195
|
.collect()
|
|
202
196
|
}
|
|
203
197
|
|
|
204
198
|
fn constrain(&mut self, id: TypeId) -> ConstrainResult {
|
|
205
|
-
trace!("constrain {:?}"
|
|
199
|
+
trace!("constrain {id:?}");
|
|
206
200
|
|
|
207
|
-
if let Some(SizednessResult::NonZeroSized) =
|
|
208
|
-
self.sized.get(&id).cloned()
|
|
209
|
-
{
|
|
201
|
+
if let Some(SizednessResult::NonZeroSized) = self.sized.get(&id) {
|
|
210
202
|
trace!(" already know it is not zero-sized");
|
|
211
203
|
return ConstrainResult::Same;
|
|
212
204
|
}
|
|
@@ -327,7 +319,7 @@ impl<'ctx> MonotoneFramework for SizednessAnalysis<'ctx> {
|
|
|
327
319
|
{
|
|
328
320
|
if let Some(edges) = self.dependencies.get(&id) {
|
|
329
321
|
for ty in edges {
|
|
330
|
-
trace!("enqueue {:?} into worklist"
|
|
322
|
+
trace!("enqueue {ty:?} into worklist");
|
|
331
323
|
f(*ty);
|
|
332
324
|
}
|
|
333
325
|
}
|
|
@@ -124,8 +124,8 @@ use crate::{HashMap, HashSet};
|
|
|
124
124
|
/// ```
|
|
125
125
|
///
|
|
126
126
|
/// * Finally, for all other IR item kinds, we use our lattice's `join`
|
|
127
|
-
///
|
|
128
|
-
///
|
|
127
|
+
/// operation: set union with each successor of the given item's template
|
|
128
|
+
/// parameter usage:
|
|
129
129
|
///
|
|
130
130
|
/// ```ignore
|
|
131
131
|
/// template_param_usage(v) =
|
|
@@ -161,7 +161,7 @@ pub(crate) struct UsedTemplateParameters<'ctx> {
|
|
|
161
161
|
allowlisted_items: HashSet<ItemId>,
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
impl
|
|
164
|
+
impl UsedTemplateParameters<'_> {
|
|
165
165
|
fn consider_edge(kind: EdgeKind) -> bool {
|
|
166
166
|
match kind {
|
|
167
167
|
// For each of these kinds of edges, if the referent uses a template
|
|
@@ -259,7 +259,6 @@ impl<'ctx> UsedTemplateParameters<'ctx> {
|
|
|
259
259
|
a's used template param set should be `Some`",
|
|
260
260
|
)
|
|
261
261
|
.iter()
|
|
262
|
-
.cloned()
|
|
263
262
|
});
|
|
264
263
|
|
|
265
264
|
used_by_this_id.extend(args);
|
|
@@ -291,10 +290,8 @@ impl<'ctx> UsedTemplateParameters<'ctx> {
|
|
|
291
290
|
|
|
292
291
|
for (arg, param) in args.iter().zip(params.iter()) {
|
|
293
292
|
trace!(
|
|
294
|
-
" instantiation's argument {:?} is used if definition's \
|
|
295
|
-
parameter {:?} is used",
|
|
296
|
-
arg,
|
|
297
|
-
param
|
|
293
|
+
" instantiation's argument {arg:?} is used if definition's \
|
|
294
|
+
parameter {param:?} is used",
|
|
298
295
|
);
|
|
299
296
|
|
|
300
297
|
if used_by_def.contains(¶m.into()) {
|
|
@@ -322,8 +319,7 @@ impl<'ctx> UsedTemplateParameters<'ctx> {
|
|
|
322
319
|
arg's used template param set should be \
|
|
323
320
|
`Some`",
|
|
324
321
|
)
|
|
325
|
-
.iter()
|
|
326
|
-
.cloned();
|
|
322
|
+
.iter();
|
|
327
323
|
used_by_this_id.extend(used_by_arg);
|
|
328
324
|
}
|
|
329
325
|
}
|
|
@@ -355,12 +351,10 @@ impl<'ctx> UsedTemplateParameters<'ctx> {
|
|
|
355
351
|
sub_id's used template param set should be \
|
|
356
352
|
`Some`",
|
|
357
353
|
)
|
|
358
|
-
.iter()
|
|
359
|
-
.cloned();
|
|
354
|
+
.iter();
|
|
360
355
|
|
|
361
356
|
trace!(
|
|
362
|
-
" union with {:?}'s usage: {:?}",
|
|
363
|
-
sub_id,
|
|
357
|
+
" union with {sub_id:?}'s usage: {:?}",
|
|
364
358
|
used_by_sub_id.clone().collect::<Vec<_>>()
|
|
365
359
|
);
|
|
366
360
|
|
|
@@ -380,11 +374,11 @@ impl<'ctx> MonotoneFramework for UsedTemplateParameters<'ctx> {
|
|
|
380
374
|
let mut used = HashMap::default();
|
|
381
375
|
let mut dependencies = HashMap::default();
|
|
382
376
|
let allowlisted_items: HashSet<_> =
|
|
383
|
-
ctx.allowlisted_items().iter().
|
|
377
|
+
ctx.allowlisted_items().iter().copied().collect();
|
|
384
378
|
|
|
385
379
|
let allowlisted_and_blocklisted_items: ItemSet = allowlisted_items
|
|
386
380
|
.iter()
|
|
387
|
-
.
|
|
381
|
+
.copied()
|
|
388
382
|
.flat_map(|i| {
|
|
389
383
|
let mut reachable = vec![i];
|
|
390
384
|
i.trace(
|
|
@@ -470,7 +464,7 @@ impl<'ctx> MonotoneFramework for UsedTemplateParameters<'ctx> {
|
|
|
470
464
|
// (This is so that every item we call `constrain` on is guaranteed
|
|
471
465
|
// to have a set of template parameters, and we can allow
|
|
472
466
|
// blocklisted templates to use all of their parameters).
|
|
473
|
-
for item in allowlisted_items
|
|
467
|
+
for item in &allowlisted_items {
|
|
474
468
|
extra_assert!(used.contains_key(item));
|
|
475
469
|
extra_assert!(dependencies.contains_key(item));
|
|
476
470
|
item.trace(
|
|
@@ -480,7 +474,7 @@ impl<'ctx> MonotoneFramework for UsedTemplateParameters<'ctx> {
|
|
|
480
474
|
extra_assert!(dependencies.contains_key(&sub_item));
|
|
481
475
|
},
|
|
482
476
|
&(),
|
|
483
|
-
)
|
|
477
|
+
);
|
|
484
478
|
}
|
|
485
479
|
}
|
|
486
480
|
|
|
@@ -498,7 +492,7 @@ impl<'ctx> MonotoneFramework for UsedTemplateParameters<'ctx> {
|
|
|
498
492
|
self.ctx
|
|
499
493
|
.allowlisted_items()
|
|
500
494
|
.iter()
|
|
501
|
-
.
|
|
495
|
+
.copied()
|
|
502
496
|
.flat_map(|i| {
|
|
503
497
|
let mut reachable = vec![i];
|
|
504
498
|
i.trace(
|
|
@@ -524,8 +518,8 @@ impl<'ctx> MonotoneFramework for UsedTemplateParameters<'ctx> {
|
|
|
524
518
|
// an analog to slice::split_at_mut.
|
|
525
519
|
let mut used_by_this_id = self.take_this_id_usage_set(id);
|
|
526
520
|
|
|
527
|
-
trace!("constrain {:?}"
|
|
528
|
-
trace!(" initially, used set is {:?}"
|
|
521
|
+
trace!("constrain {id:?}");
|
|
522
|
+
trace!(" initially, used set is {used_by_this_id:?}");
|
|
529
523
|
|
|
530
524
|
let original_len = used_by_this_id.len();
|
|
531
525
|
|
|
@@ -562,7 +556,7 @@ impl<'ctx> MonotoneFramework for UsedTemplateParameters<'ctx> {
|
|
|
562
556
|
_ => self.constrain_join(&mut used_by_this_id, item),
|
|
563
557
|
}
|
|
564
558
|
|
|
565
|
-
trace!(" finally, used set is {:?}"
|
|
559
|
+
trace!(" finally, used set is {used_by_this_id:?}");
|
|
566
560
|
|
|
567
561
|
let new_len = used_by_this_id.len();
|
|
568
562
|
assert!(
|
|
@@ -576,10 +570,10 @@ impl<'ctx> MonotoneFramework for UsedTemplateParameters<'ctx> {
|
|
|
576
570
|
self.used.insert(id, Some(used_by_this_id));
|
|
577
571
|
extra_assert!(self.used.values().all(|v| v.is_some()));
|
|
578
572
|
|
|
579
|
-
if new_len
|
|
580
|
-
ConstrainResult::Changed
|
|
581
|
-
} else {
|
|
573
|
+
if new_len == original_len {
|
|
582
574
|
ConstrainResult::Same
|
|
575
|
+
} else {
|
|
576
|
+
ConstrainResult::Changed
|
|
583
577
|
}
|
|
584
578
|
}
|
|
585
579
|
|
|
@@ -589,7 +583,7 @@ impl<'ctx> MonotoneFramework for UsedTemplateParameters<'ctx> {
|
|
|
589
583
|
{
|
|
590
584
|
if let Some(edges) = self.dependencies.get(&item) {
|
|
591
585
|
for item in edges {
|
|
592
|
-
trace!("enqueue {:?} into worklist"
|
|
586
|
+
trace!("enqueue {item:?} into worklist");
|
|
593
587
|
f(*item);
|
|
594
588
|
}
|
|
595
589
|
}
|
|
@@ -8,14 +8,15 @@ use std::str::FromStr;
|
|
|
8
8
|
|
|
9
9
|
use crate::clang;
|
|
10
10
|
|
|
11
|
-
/// What kind of visibility
|
|
12
|
-
#[derive(Copy, PartialEq, Eq, PartialOrd, Ord, Clone, Debug)]
|
|
11
|
+
/// What kind of visibility modifier should be used for a struct or field?
|
|
12
|
+
#[derive(Copy, PartialEq, Eq, PartialOrd, Ord, Clone, Debug, Default)]
|
|
13
13
|
pub enum FieldVisibilityKind {
|
|
14
14
|
/// Fields are marked as private, i.e., struct Foo {bar: bool}
|
|
15
15
|
Private,
|
|
16
16
|
/// Fields are marked as crate public, i.e., struct Foo {pub(crate) bar: bool}
|
|
17
17
|
PublicCrate,
|
|
18
18
|
/// Fields are marked as public, i.e., struct Foo {pub bar: bool}
|
|
19
|
+
#[default]
|
|
19
20
|
Public,
|
|
20
21
|
}
|
|
21
22
|
|
|
@@ -27,7 +28,7 @@ impl FromStr for FieldVisibilityKind {
|
|
|
27
28
|
"private" => Ok(Self::Private),
|
|
28
29
|
"crate" => Ok(Self::PublicCrate),
|
|
29
30
|
"public" => Ok(Self::Public),
|
|
30
|
-
_ => Err(format!("Invalid visibility kind: `{}`"
|
|
31
|
+
_ => Err(format!("Invalid visibility kind: `{s}`")),
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
}
|
|
@@ -44,12 +45,6 @@ impl std::fmt::Display for FieldVisibilityKind {
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
impl Default for FieldVisibilityKind {
|
|
48
|
-
fn default() -> Self {
|
|
49
|
-
FieldVisibilityKind::Public
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
48
|
/// What kind of accessor should we provide for a field?
|
|
54
49
|
#[derive(Copy, PartialEq, Eq, Clone, Debug)]
|
|
55
50
|
pub(crate) enum FieldAccessorKind {
|
|
@@ -107,6 +102,8 @@ pub(crate) struct Annotations {
|
|
|
107
102
|
constify_enum_variant: bool,
|
|
108
103
|
/// List of explicit derives for this type.
|
|
109
104
|
derives: Vec<String>,
|
|
105
|
+
/// List of explicit attributes for this type.
|
|
106
|
+
attributes: Vec<String>,
|
|
110
107
|
}
|
|
111
108
|
|
|
112
109
|
fn parse_accessor(s: &str) -> FieldAccessorKind {
|
|
@@ -174,6 +171,11 @@ impl Annotations {
|
|
|
174
171
|
&self.derives
|
|
175
172
|
}
|
|
176
173
|
|
|
174
|
+
/// The list of attributes that have been specified in this annotation.
|
|
175
|
+
pub(crate) fn attributes(&self) -> &[String] {
|
|
176
|
+
&self.attributes
|
|
177
|
+
}
|
|
178
|
+
|
|
177
179
|
/// Should we avoid implementing the `Copy` trait?
|
|
178
180
|
pub(crate) fn disallow_copy(&self) -> bool {
|
|
179
181
|
self.disallow_copy
|
|
@@ -211,7 +213,7 @@ impl Annotations {
|
|
|
211
213
|
comment
|
|
212
214
|
.get_tag_attrs()
|
|
213
215
|
.next()
|
|
214
|
-
.
|
|
216
|
+
.is_some_and(|attr| attr.name == "rustbindgen")
|
|
215
217
|
{
|
|
216
218
|
*matched = true;
|
|
217
219
|
for attr in comment.get_tag_attrs() {
|
|
@@ -225,18 +227,19 @@ impl Annotations {
|
|
|
225
227
|
"replaces" => {
|
|
226
228
|
self.use_instead_of = Some(
|
|
227
229
|
attr.value.split("::").map(Into::into).collect(),
|
|
228
|
-
)
|
|
230
|
+
);
|
|
229
231
|
}
|
|
230
232
|
"derive" => self.derives.push(attr.value),
|
|
233
|
+
"attribute" => self.attributes.push(attr.value),
|
|
231
234
|
"private" => {
|
|
232
|
-
self.visibility_kind = if attr.value
|
|
233
|
-
Some(FieldVisibilityKind::Private)
|
|
234
|
-
} else {
|
|
235
|
+
self.visibility_kind = if attr.value == "false" {
|
|
235
236
|
Some(FieldVisibilityKind::Public)
|
|
237
|
+
} else {
|
|
238
|
+
Some(FieldVisibilityKind::Private)
|
|
236
239
|
};
|
|
237
240
|
}
|
|
238
241
|
"accessor" => {
|
|
239
|
-
self.accessor_kind = Some(parse_accessor(&attr.value))
|
|
242
|
+
self.accessor_kind = Some(parse_accessor(&attr.value));
|
|
240
243
|
}
|
|
241
244
|
"constant" => self.constify_enum_variant = true,
|
|
242
245
|
_ => {}
|
|
@@ -13,7 +13,7 @@ enum Kind {
|
|
|
13
13
|
|
|
14
14
|
/// Preprocesses a C/C++ comment so that it is a valid Rust comment.
|
|
15
15
|
pub(crate) fn preprocess(comment: &str) -> String {
|
|
16
|
-
match
|
|
16
|
+
match kind(comment) {
|
|
17
17
|
Some(Kind::SingleLines) => preprocess_single_lines(comment),
|
|
18
18
|
Some(Kind::MultiLine) => preprocess_multi_line(comment),
|
|
19
19
|
None => comment.to_owned(),
|
|
@@ -58,7 +58,7 @@ fn preprocess_multi_line(comment: &str) -> String {
|
|
|
58
58
|
.collect();
|
|
59
59
|
|
|
60
60
|
// Remove the trailing line corresponding to the `*/`.
|
|
61
|
-
if lines.last().
|
|
61
|
+
if lines.last().is_some_and(|l| l.trim().is_empty()) {
|
|
62
62
|
lines.pop();
|
|
63
63
|
}
|
|
64
64
|
|