summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Smith <justsmth@amazon.com>2022-10-06 13:30:17 -0400
committerJustin Smith <justsmth@amazon.com>2022-10-06 13:30:17 -0400
commitc1d8cfb5528e3e7d061ae7574195664bc71b5004 (patch)
treef26aa7dbe22fe9ed3b884fb3d4620b44b5138be0
parent5209ebdbdfbe0663824d2abb688ac30c2c602726 (diff)
parent576fd8d424c8248726542b0951c594a9734cd02a (diff)
Merge branch 'master' into generated_name_override
-rw-r--r--.github/workflows/bindgen.yml4
-rw-r--r--.gitignore3
-rw-r--r--CONTRIBUTING.md14
-rw-r--r--Cargo.lock364
-rw-r--r--Cargo.toml97
-rw-r--r--bindgen-cli/Cargo.toml44
-rw-r--r--bindgen-cli/main.rs (renamed from src/main.rs)46
-rw-r--r--bindgen-cli/options.rs (renamed from src/options.rs)99
-rw-r--r--bindgen-integration/Cargo.toml2
-rw-r--r--bindgen-integration/build.rs29
-rw-r--r--bindgen-tests/Cargo.toml28
-rw-r--r--bindgen-tests/build.rs49
-rw-r--r--bindgen-tests/src/lib.rs (renamed from tests/expectations/src/lib.rs)0
-rw-r--r--bindgen-tests/tests/.gitattributes (renamed from tests/.gitattributes)0
-rw-r--r--bindgen-tests/tests/expectations/Cargo.toml (renamed from tests/expectations/Cargo.toml)0
-rw-r--r--bindgen-tests/tests/expectations/build.rs (renamed from tests/expectations/build.rs)6
-rwxr-xr-xbindgen-tests/tests/expectations/lib.rs (renamed from tests/expectations/lib.rs)0
-rw-r--r--bindgen-tests/tests/expectations/src/lib.rs (renamed from tests/expectations/struct_with_anon_struct_array_float.rs)0
-rw-r--r--bindgen-tests/tests/expectations/struct_with_anon_struct_array_float.rs1
-rw-r--r--bindgen-tests/tests/expectations/tests/.gitattributes (renamed from tests/expectations/tests/.gitattributes)0
-rw-r--r--bindgen-tests/tests/expectations/tests/16-byte-alignment.rs (renamed from tests/expectations/tests/16-byte-alignment.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/16-byte-alignment_1_0.rs (renamed from tests/expectations/tests/16-byte-alignment_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/381-decltype-alias.rs (renamed from tests/expectations/tests/381-decltype-alias.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/accessors.rs (renamed from tests/expectations/tests/accessors.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlist-file.rs (renamed from tests/expectations/tests/allowlist-file.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlist-namespaces-basic.rs (renamed from tests/expectations/tests/allowlist-namespaces-basic.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlist-namespaces.rs (renamed from tests/expectations/tests/allowlist-namespaces.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlist_basic.rs (renamed from tests/expectations/tests/allowlist_basic.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlist_fix.rs (renamed from tests/expectations/tests/allowlist_fix.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlist_vars.rs (renamed from tests/expectations/tests/allowlist_vars.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlist_warnings.rs (renamed from tests/expectations/tests/allowlist_warnings.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlisted-item-references-no-hash.rs (renamed from tests/expectations/tests/allowlisted-item-references-no-hash.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlisted-item-references-no-partialeq.rs (renamed from tests/expectations/tests/allowlisted-item-references-no-partialeq.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/allowlisted_item_references_no_copy.rs (renamed from tests/expectations/tests/allowlisted_item_references_no_copy.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/annotation_hide.rs (renamed from tests/expectations/tests/annotation_hide.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/anon-fields-prefix.rs (renamed from tests/expectations/tests/anon-fields-prefix.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/anon_enum.rs (renamed from tests/expectations/tests/anon_enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/anon_enum_allowlist.rs (renamed from tests/expectations/tests/anon_enum_allowlist.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/anon_enum_trait.rs (renamed from tests/expectations/tests/anon_enum_trait.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/anon_struct_in_union.rs (renamed from tests/expectations/tests/anon_struct_in_union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/anon_struct_in_union_1_0.rs (renamed from tests/expectations/tests/anon_struct_in_union_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/anon_union.rs (renamed from tests/expectations/tests/anon_union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/anon_union_1_0.rs (renamed from tests/expectations/tests/anon_union_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/anonymous-template-types.rs (renamed from tests/expectations/tests/anonymous-template-types.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/arg_keyword.rs (renamed from tests/expectations/tests/arg_keyword.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/array-of-zero-sized-types.rs (renamed from tests/expectations/tests/array-of-zero-sized-types.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/attribute_warn_unused_result.rs (renamed from tests/expectations/tests/attribute_warn_unused_result.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs (renamed from tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/attribute_warn_unused_result_pre_1_27.rs (renamed from tests/expectations/tests/attribute_warn_unused_result_pre_1_27.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bad-namespace-parenthood-inheritance.rs (renamed from tests/expectations/tests/bad-namespace-parenthood-inheritance.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/base-to-derived.rs (renamed from tests/expectations/tests/base-to-derived.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bindgen-union-inside-namespace.rs (renamed from tests/expectations/tests/bindgen-union-inside-namespace.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield-32bit-overflow.rs (renamed from tests/expectations/tests/bitfield-32bit-overflow.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield-enum-basic.rs (renamed from tests/expectations/tests/bitfield-enum-basic.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield-enum-repr-c.rs (renamed from tests/expectations/tests/bitfield-enum-repr-c.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield-enum-repr-transparent.rs (renamed from tests/expectations/tests/bitfield-enum-repr-transparent.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield-large.rs (renamed from tests/expectations/tests/bitfield-large.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield-linux-32.rs (renamed from tests/expectations/tests/bitfield-linux-32.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield-method-same-name.rs (renamed from tests/expectations/tests/bitfield-method-same-name.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield_align.rs (renamed from tests/expectations/tests/bitfield_align.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield_align_2.rs (renamed from tests/expectations/tests/bitfield_align_2.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield_large_overflow.rs (renamed from tests/expectations/tests/bitfield_large_overflow.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield_method_mangling.rs (renamed from tests/expectations/tests/bitfield_method_mangling.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/bitfield_pragma_packed.rs (renamed from tests/expectations/tests/bitfield_pragma_packed.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/block_return_type.rs (renamed from tests/expectations/tests/block_return_type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/blocklist-and-impl-debug.rs (renamed from tests/expectations/tests/blocklist-and-impl-debug.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/blocklist-file.rs (renamed from tests/expectations/tests/blocklist-file.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/blocklist-function.rs (renamed from tests/expectations/tests/blocklist-function.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/blocklist-item.rs (renamed from tests/expectations/tests/blocklist-item.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/blocks-signature.rs (renamed from tests/expectations/tests/blocks-signature.rs)12
-rw-r--r--bindgen-tests/tests/expectations/tests/blocks.rs (renamed from tests/expectations/tests/blocks.rs)1
-rw-r--r--bindgen-tests/tests/expectations/tests/bug-1529681.rs (renamed from tests/expectations/tests/bug-1529681.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/builtin-template.rs (renamed from tests/expectations/tests/builtin-template.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/c-empty-layout.rs (renamed from tests/expectations/tests/c-empty-layout.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/c_naming.rs (renamed from tests/expectations/tests/c_naming.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/call-conv-typedef.rs (renamed from tests/expectations/tests/call-conv-typedef.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/canonical-types.rs (renamed from tests/expectations/tests/canonical-types.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/canonical_path_without_namespacing.rs (renamed from tests/expectations/tests/canonical_path_without_namespacing.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/char.rs (renamed from tests/expectations/tests/char.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class.rs (renamed from tests/expectations/tests/class.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_1_0.rs (renamed from tests/expectations/tests/class_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_nested.rs (renamed from tests/expectations/tests/class_nested.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_no_members.rs (renamed from tests/expectations/tests/class_no_members.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_static.rs (renamed from tests/expectations/tests/class_static.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_static_const.rs (renamed from tests/expectations/tests/class_static_const.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_use_as.rs (renamed from tests/expectations/tests/class_use_as.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_with_dtor.rs (renamed from tests/expectations/tests/class_with_dtor.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_with_inner_struct.rs (renamed from tests/expectations/tests/class_with_inner_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_with_inner_struct_1_0.rs (renamed from tests/expectations/tests/class_with_inner_struct_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/class_with_typedef.rs (renamed from tests/expectations/tests/class_with_typedef.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/comment-indent.rs (renamed from tests/expectations/tests/comment-indent.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/complex.rs (renamed from tests/expectations/tests/complex.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/complex_global.rs (renamed from tests/expectations/tests/complex_global.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/const-const-mut-ptr.rs (renamed from tests/expectations/tests/const-const-mut-ptr.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/const_array.rs (renamed from tests/expectations/tests/const_array.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/const_array_fn_arg.rs (renamed from tests/expectations/tests/const_array_fn_arg.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/const_enum_unnamed.rs (renamed from tests/expectations/tests/const_enum_unnamed.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/const_multidim_array_fn_arg.rs (renamed from tests/expectations/tests/const_multidim_array_fn_arg.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/const_ptr.rs (renamed from tests/expectations/tests/const_ptr.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/const_resolved_ty.rs (renamed from tests/expectations/tests/const_resolved_ty.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/const_tparam.rs (renamed from tests/expectations/tests/const_tparam.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constant-non-specialized-tp.rs (renamed from tests/expectations/tests/constant-non-specialized-tp.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constified-enum-module-overflow.rs (renamed from tests/expectations/tests/constified-enum-module-overflow.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constify-all-enums.rs (renamed from tests/expectations/tests/constify-all-enums.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constify-enum.rs (renamed from tests/expectations/tests/constify-enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constify-module-enums-basic.rs (renamed from tests/expectations/tests/constify-module-enums-basic.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constify-module-enums-namespace.rs (renamed from tests/expectations/tests/constify-module-enums-namespace.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constify-module-enums-shadow-name.rs (renamed from tests/expectations/tests/constify-module-enums-shadow-name.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constify-module-enums-simple-alias.rs (renamed from tests/expectations/tests/constify-module-enums-simple-alias.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs (renamed from tests/expectations/tests/constify-module-enums-simple-nonamespace.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constify-module-enums-types.rs (renamed from tests/expectations/tests/constify-module-enums-types.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constructor-tp.rs (renamed from tests/expectations/tests/constructor-tp.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constructors.rs (renamed from tests/expectations/tests/constructors.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/constructors_1_33.rs (renamed from tests/expectations/tests/constructors_1_33.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/contains-vs-inherits-zero-sized.rs (renamed from tests/expectations/tests/contains-vs-inherits-zero-sized.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/convert-cpp-comment-to-rust.rs (renamed from tests/expectations/tests/convert-cpp-comment-to-rust.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/convert-floats.rs (renamed from tests/expectations/tests/convert-floats.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/core_ffi_c.rs20
-rw-r--r--bindgen-tests/tests/expectations/tests/cpp-empty-layout.rs (renamed from tests/expectations/tests/cpp-empty-layout.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/crtp.rs (renamed from tests/expectations/tests/crtp.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/ctypes-prefix-path.rs (renamed from tests/expectations/tests/ctypes-prefix-path.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/dash_language.rs (renamed from tests/expectations/tests/dash_language.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/decl_extern_int_twice.rs (renamed from tests/expectations/tests/decl_extern_int_twice.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/decl_ptr_to_array.rs (renamed from tests/expectations/tests/decl_ptr_to_array.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/default-enum-style-constified-module.rs (renamed from tests/expectations/tests/default-enum-style-constified-module.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/default-macro-constant-type-signed.rs (renamed from tests/expectations/tests/default-macro-constant-type-signed.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/default-macro-constant-type-unsigned.rs (renamed from tests/expectations/tests/default-macro-constant-type-unsigned.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/default-macro-constant-type.rs (renamed from tests/expectations/tests/default-macro-constant-type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/default-template-parameter.rs (renamed from tests/expectations/tests/default-template-parameter.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/deleted-function.rs (renamed from tests/expectations/tests/deleted-function.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-bitfield-method-same-name.rs (renamed from tests/expectations/tests/derive-bitfield-method-same-name.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-clone.rs (renamed from tests/expectations/tests/derive-clone.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-clone_1_0.rs (renamed from tests/expectations/tests/derive-clone_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-custom.rs (renamed from tests/expectations/tests/derive-custom.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-debug-bitfield-core.rs (renamed from tests/expectations/tests/derive-debug-bitfield-core.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-debug-bitfield.rs (renamed from tests/expectations/tests/derive-debug-bitfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-debug-function-pointer.rs (renamed from tests/expectations/tests/derive-debug-function-pointer.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-debug-generic.rs (renamed from tests/expectations/tests/derive-debug-generic.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-debug-mangle-name.rs (renamed from tests/expectations/tests/derive-debug-mangle-name.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs (renamed from tests/expectations/tests/derive-debug-opaque-template-instantiation.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-debug-opaque.rs (renamed from tests/expectations/tests/derive-debug-opaque.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-default-and-blocklist.rs (renamed from tests/expectations/tests/derive-default-and-blocklist.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-fn-ptr.rs (renamed from tests/expectations/tests/derive-fn-ptr.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-hash-and-blocklist.rs (renamed from tests/expectations/tests/derive-hash-and-blocklist.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-hash-blocklisting.rs (renamed from tests/expectations/tests/derive-hash-blocklisting.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs (renamed from tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-hash-struct-with-float-array.rs (renamed from tests/expectations/tests/derive-hash-struct-with-float-array.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs (renamed from tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-hash-struct-with-pointer.rs (renamed from tests/expectations/tests/derive-hash-struct-with-pointer.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-hash-template-def-float.rs (renamed from tests/expectations/tests/derive-hash-template-def-float.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-hash-template-inst-float.rs (renamed from tests/expectations/tests/derive-hash-template-inst-float.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-partialeq-and-blocklist.rs (renamed from tests/expectations/tests/derive-partialeq-and-blocklist.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-partialeq-anonfield.rs (renamed from tests/expectations/tests/derive-partialeq-anonfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-partialeq-base.rs (renamed from tests/expectations/tests/derive-partialeq-base.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-partialeq-bitfield.rs (renamed from tests/expectations/tests/derive-partialeq-bitfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-partialeq-core.rs (renamed from tests/expectations/tests/derive-partialeq-core.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-partialeq-pointer.rs (renamed from tests/expectations/tests/derive-partialeq-pointer.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-partialeq-union.rs (renamed from tests/expectations/tests/derive-partialeq-union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/derive-partialeq-union_1_0.rs (renamed from tests/expectations/tests/derive-partialeq-union_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/disable-namespacing.rs (renamed from tests/expectations/tests/disable-namespacing.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/disable-nested-struct-naming.rs (renamed from tests/expectations/tests/disable-nested-struct-naming.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/disable-untagged-union.rs (renamed from tests/expectations/tests/disable-untagged-union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/divide-by-zero-in-struct-layout.rs (renamed from tests/expectations/tests/divide-by-zero-in-struct-layout.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/do-not-derive-copy.rs (renamed from tests/expectations/tests/do-not-derive-copy.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/doggo-or-null.rs (renamed from tests/expectations/tests/doggo-or-null.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/dupe-enum-variant-in-namespace.rs (renamed from tests/expectations/tests/dupe-enum-variant-in-namespace.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/duplicated-namespaces-definitions.rs (renamed from tests/expectations/tests/duplicated-namespaces-definitions.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/duplicated-namespaces.rs (renamed from tests/expectations/tests/duplicated-namespaces.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/duplicated_constants_in_ns.rs (renamed from tests/expectations/tests/duplicated_constants_in_ns.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/dynamic_loading_attributes.rs (renamed from tests/expectations/tests/dynamic_loading_attributes.rs)10
-rw-r--r--bindgen-tests/tests/expectations/tests/dynamic_loading_required.rs (renamed from tests/expectations/tests/dynamic_loading_required.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/dynamic_loading_simple.rs (renamed from tests/expectations/tests/dynamic_loading_simple.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/dynamic_loading_template.rs (renamed from tests/expectations/tests/dynamic_loading_template.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/dynamic_loading_with_allowlist.rs (renamed from tests/expectations/tests/dynamic_loading_with_allowlist.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/dynamic_loading_with_blocklist.rs (renamed from tests/expectations/tests/dynamic_loading_with_blocklist.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/dynamic_loading_with_class.rs (renamed from tests/expectations/tests/dynamic_loading_with_class.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/elaborated.rs (renamed from tests/expectations/tests/elaborated.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/empty-enum.rs (renamed from tests/expectations/tests/empty-enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/empty-union.rs (renamed from tests/expectations/tests/empty-union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/empty_template_param_name.rs (renamed from tests/expectations/tests/empty_template_param_name.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-default-bitfield.rs (renamed from tests/expectations/tests/enum-default-bitfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-default-consts.rs (renamed from tests/expectations/tests/enum-default-consts.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-default-module.rs (renamed from tests/expectations/tests/enum-default-module.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-default-rust.d (renamed from tests/expectations/tests/enum-default-rust.d)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-default-rust.rs (renamed from tests/expectations/tests/enum-default-rust.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-doc-bitfield.rs (renamed from tests/expectations/tests/enum-doc-bitfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-doc-mod.rs (renamed from tests/expectations/tests/enum-doc-mod.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-doc-rusty.rs (renamed from tests/expectations/tests/enum-doc-rusty.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-doc.rs (renamed from tests/expectations/tests/enum-doc.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-no-debug-rust.rs (renamed from tests/expectations/tests/enum-no-debug-rust.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-translate-type.rs (renamed from tests/expectations/tests/enum-translate-type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-undefault.rs (renamed from tests/expectations/tests/enum-undefault.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum-variant-replaces.rs (renamed from tests/expectations/tests/enum-variant-replaces.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum.rs (renamed from tests/expectations/tests/enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum_alias.rs (renamed from tests/expectations/tests/enum_alias.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum_and_vtable_mangling.rs (renamed from tests/expectations/tests/enum_and_vtable_mangling.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum_dupe.rs (renamed from tests/expectations/tests/enum_dupe.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum_explicit_type.rs (renamed from tests/expectations/tests/enum_explicit_type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum_explicit_type_constants.rs (renamed from tests/expectations/tests/enum_explicit_type_constants.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum_in_template.rs (renamed from tests/expectations/tests/enum_in_template.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum_in_template_with_typedef.rs (renamed from tests/expectations/tests/enum_in_template_with_typedef.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum_negative.rs (renamed from tests/expectations/tests/enum_negative.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/enum_packed.rs (renamed from tests/expectations/tests/enum_packed.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/eval-value-dependent.rs (renamed from tests/expectations/tests/eval-value-dependent.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/eval-variadic-template-parameter.rs (renamed from tests/expectations/tests/eval-variadic-template-parameter.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/explicit-padding.rs (renamed from tests/expectations/tests/explicit-padding.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/extern-const-struct.rs (renamed from tests/expectations/tests/extern-const-struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/extern.rs (renamed from tests/expectations/tests/extern.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/fit-macro-constant-types-signed.rs (renamed from tests/expectations/tests/fit-macro-constant-types-signed.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/fit-macro-constant-types.rs (renamed from tests/expectations/tests/fit-macro-constant-types.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/float128.rs (renamed from tests/expectations/tests/float128.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/forward-declaration-autoptr.rs (renamed from tests/expectations/tests/forward-declaration-autoptr.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/forward-enum-decl.rs (renamed from tests/expectations/tests/forward-enum-decl.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/forward-inherit-struct-with-fields.rs (renamed from tests/expectations/tests/forward-inherit-struct-with-fields.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/forward-inherit-struct.rs (renamed from tests/expectations/tests/forward-inherit-struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/forward_declared_complex_types.rs (renamed from tests/expectations/tests/forward_declared_complex_types.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/forward_declared_complex_types_1_0.rs (renamed from tests/expectations/tests/forward_declared_complex_types_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/forward_declared_opaque.rs (renamed from tests/expectations/tests/forward_declared_opaque.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/forward_declared_struct.rs (renamed from tests/expectations/tests/forward_declared_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/func_proto.rs (renamed from tests/expectations/tests/func_proto.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/func_ptr.rs (renamed from tests/expectations/tests/func_ptr.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/func_ptr_in_struct.rs (renamed from tests/expectations/tests/func_ptr_in_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/func_ptr_return_type.rs (renamed from tests/expectations/tests/func_ptr_return_type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/func_return_must_use.rs (renamed from tests/expectations/tests/func_return_must_use.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/func_with_array_arg.rs (renamed from tests/expectations/tests/func_with_array_arg.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/func_with_func_ptr_arg.rs (renamed from tests/expectations/tests/func_with_func_ptr_arg.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/function-typedef-stdcall.rs (renamed from tests/expectations/tests/function-typedef-stdcall.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/gen-constructors-neg.rs (renamed from tests/expectations/tests/gen-constructors-neg.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/gen-constructors.rs (renamed from tests/expectations/tests/gen-constructors.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/gen-destructors-neg.rs (renamed from tests/expectations/tests/gen-destructors-neg.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/gen-destructors.rs (renamed from tests/expectations/tests/gen-destructors.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/generate-inline.rs (renamed from tests/expectations/tests/generate-inline.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/i128.rs (renamed from tests/expectations/tests/i128.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/in_class_typedef.rs (renamed from tests/expectations/tests/in_class_typedef.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/incomplete-array-padding.rs (renamed from tests/expectations/tests/incomplete-array-padding.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/infinite-macro.rs (renamed from tests/expectations/tests/infinite-macro.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs (renamed from tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inherit-namespaced.rs (renamed from tests/expectations/tests/inherit-namespaced.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inherit_named.rs (renamed from tests/expectations/tests/inherit_named.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inherit_typedef.rs (renamed from tests/expectations/tests/inherit_typedef.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inline-function.rs (renamed from tests/expectations/tests/inline-function.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inline_namespace.rs (renamed from tests/expectations/tests/inline_namespace.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inline_namespace_allowlist.rs (renamed from tests/expectations/tests/inline_namespace_allowlist.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inline_namespace_conservative.rs (renamed from tests/expectations/tests/inline_namespace_conservative.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inline_namespace_nested.rs21
-rw-r--r--bindgen-tests/tests/expectations/tests/inline_namespace_no_ns_enabled.rs (renamed from tests/expectations/tests/inline_namespace_no_ns_enabled.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inner-typedef-gh422.rs37
-rw-r--r--bindgen-tests/tests/expectations/tests/inner_const.rs (renamed from tests/expectations/tests/inner_const.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/inner_template_self.rs (renamed from tests/expectations/tests/inner_template_self.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/int128_t.rs (renamed from tests/expectations/tests/int128_t.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1025-unknown-enum-repr.rs (renamed from tests/expectations/tests/issue-1025-unknown-enum-repr.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1034.rs (renamed from tests/expectations/tests/issue-1034.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1040.rs (renamed from tests/expectations/tests/issue-1040.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1076-unnamed-bitfield-alignment.rs (renamed from tests/expectations/tests/issue-1076-unnamed-bitfield-alignment.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1113-template-references.rs (renamed from tests/expectations/tests/issue-1113-template-references.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1118-using-forward-decl.rs (renamed from tests/expectations/tests/issue-1118-using-forward-decl.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1197-pure-virtual-stuff.rs (renamed from tests/expectations/tests/issue-1197-pure-virtual-stuff.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-bitfield-enum.rs (renamed from tests/expectations/tests/issue-1198-alias-rust-bitfield-enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-const-mod-bitfield-enum.rs (renamed from tests/expectations/tests/issue-1198-alias-rust-const-mod-bitfield-enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-const-mod-enum.rs (renamed from tests/expectations/tests/issue-1198-alias-rust-const-mod-enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-enum.rs (renamed from tests/expectations/tests/issue-1198-alias-rust-enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1216-variadic-member.rs (renamed from tests/expectations/tests/issue-1216-variadic-member.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1238-fwd-no-copy.rs (renamed from tests/expectations/tests/issue-1238-fwd-no-copy.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1281.rs (renamed from tests/expectations/tests/issue-1281.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1285.rs (renamed from tests/expectations/tests/issue-1285.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1291.rs (renamed from tests/expectations/tests/issue-1291.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1350-attribute-overloadable.rs (renamed from tests/expectations/tests/issue-1350-attribute-overloadable.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1375-prefixed-functions.rs (renamed from tests/expectations/tests/issue-1375-prefixed-functions.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1382-rust-primitive-types.rs (renamed from tests/expectations/tests/issue-1382-rust-primitive-types.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1435.rs (renamed from tests/expectations/tests/issue-1435.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1443.rs (renamed from tests/expectations/tests/issue-1443.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1454.rs (renamed from tests/expectations/tests/issue-1454.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1464.rs (renamed from tests/expectations/tests/issue-1464.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1488-enum-new-type.rs (renamed from tests/expectations/tests/issue-1488-enum-new-type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1488-options.rs (renamed from tests/expectations/tests/issue-1488-options.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1488-template-alias-new-type.rs (renamed from tests/expectations/tests/issue-1488-template-alias-new-type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1498.rs (renamed from tests/expectations/tests/issue-1498.rs)3
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1514.rs (renamed from tests/expectations/tests/issue-1514.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1554.rs (renamed from tests/expectations/tests/issue-1554.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1599-opaque-typedef-to-enum.rs (renamed from tests/expectations/tests/issue-1599-opaque-typedef-to-enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1676-macro-namespace-prefix.rs (renamed from tests/expectations/tests/issue-1676-macro-namespace-prefix.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1947.rs (renamed from tests/expectations/tests/issue-1947.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1977-larger-arrays.rs (renamed from tests/expectations/tests/issue-1977-larger-arrays.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-1995.rs (renamed from tests/expectations/tests/issue-1995.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-2019.rs (renamed from tests/expectations/tests/issue-2019.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-2239-template-dependent-bit-width.rs (renamed from tests/expectations/tests/issue-2239-template-dependent-bit-width.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-358.rs (renamed from tests/expectations/tests/issue-358.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-372.rs (renamed from tests/expectations/tests/issue-372.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-410.rs (renamed from tests/expectations/tests/issue-410.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-446.rs (renamed from tests/expectations/tests/issue-446.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-447.rs (renamed from tests/expectations/tests/issue-447.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-493.rs (renamed from tests/expectations/tests/issue-493.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-493_1_0.rs (renamed from tests/expectations/tests/issue-493_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-511.rs (renamed from tests/expectations/tests/issue-511.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-537-repr-packed-n.rs (renamed from tests/expectations/tests/issue-537-repr-packed-n.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-537.rs (renamed from tests/expectations/tests/issue-537.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-544-stylo-creduce-2.rs (renamed from tests/expectations/tests/issue-544-stylo-creduce-2.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-544-stylo-creduce.rs (renamed from tests/expectations/tests/issue-544-stylo-creduce.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs (renamed from tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-573-layout-test-failures.rs (renamed from tests/expectations/tests/issue-573-layout-test-failures.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs (renamed from tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs (renamed from tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs (renamed from tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-639-typedef-anon-field.rs (renamed from tests/expectations/tests/issue-639-typedef-anon-field.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-643-inner-struct.rs (renamed from tests/expectations/tests/issue-643-inner-struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs (renamed from tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-648-derive-debug-with-padding.rs (renamed from tests/expectations/tests/issue-648-derive-debug-with-padding.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-654-struct-fn-collision.rs (renamed from tests/expectations/tests/issue-654-struct-fn-collision.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs (renamed from tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-662-part-2.rs (renamed from tests/expectations/tests/issue-662-part-2.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-674-1.rs (renamed from tests/expectations/tests/issue-674-1.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-674-2.rs (renamed from tests/expectations/tests/issue-674-2.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-674-3.rs (renamed from tests/expectations/tests/issue-674-3.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-677-nested-ns-specifier.rs (renamed from tests/expectations/tests/issue-677-nested-ns-specifier.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-691-template-parameter-virtual.rs (renamed from tests/expectations/tests/issue-691-template-parameter-virtual.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-710-must-use-type.rs (renamed from tests/expectations/tests/issue-710-must-use-type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-739-pointer-wide-bitfield.rs (renamed from tests/expectations/tests/issue-739-pointer-wide-bitfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-801-opaque-sloppiness.rs (renamed from tests/expectations/tests/issue-801-opaque-sloppiness.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs (renamed from tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-816.rs (renamed from tests/expectations/tests/issue-816.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-820-unused-template-param-in-alias.rs (renamed from tests/expectations/tests/issue-820-unused-template-param-in-alias.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-826-generating-methods-when-asked-not-to.rs (renamed from tests/expectations/tests/issue-826-generating-methods-when-asked-not-to.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-833-1.rs (renamed from tests/expectations/tests/issue-833-1.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-833-2.rs (renamed from tests/expectations/tests/issue-833-2.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-833.rs (renamed from tests/expectations/tests/issue-833.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-834.rs (renamed from tests/expectations/tests/issue-834.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-848-replacement-system-include.rs (renamed from tests/expectations/tests/issue-848-replacement-system-include.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-888-enum-var-decl-jump.rs (renamed from tests/expectations/tests/issue-888-enum-var-decl-jump.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs (renamed from tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue-946.rs (renamed from tests/expectations/tests/issue-946.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue_311.rs (renamed from tests/expectations/tests/issue_311.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/issue_315.rs (renamed from tests/expectations/tests/issue_315.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/jsval_layout_opaque.rs (renamed from tests/expectations/tests/jsval_layout_opaque.rs)3
-rw-r--r--bindgen-tests/tests/expectations/tests/jsval_layout_opaque_1_0.rs (renamed from tests/expectations/tests/jsval_layout_opaque_1_0.rs)3
-rw-r--r--bindgen-tests/tests/expectations/tests/keywords.rs (renamed from tests/expectations/tests/keywords.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout.rs (renamed from tests/expectations/tests/layout.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_align.rs (renamed from tests/expectations/tests/layout_align.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_arp.rs (renamed from tests/expectations/tests/layout_arp.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_array.rs (renamed from tests/expectations/tests/layout_array.rs)3
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_array_too_long.rs (renamed from tests/expectations/tests/layout_array_too_long.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_cmdline_token.rs (renamed from tests/expectations/tests/layout_cmdline_token.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_eth_conf.rs (renamed from tests/expectations/tests/layout_eth_conf.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_eth_conf_1_0.rs (renamed from tests/expectations/tests/layout_eth_conf_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_kni_mbuf.rs (renamed from tests/expectations/tests/layout_kni_mbuf.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_large_align_field.rs (renamed from tests/expectations/tests/layout_large_align_field.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_mbuf.rs (renamed from tests/expectations/tests/layout_mbuf.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/layout_mbuf_1_0.rs (renamed from tests/expectations/tests/layout_mbuf_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/abi_variadic_function.rs (renamed from tests/expectations/tests/libclang-5/abi_variadic_function.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/auto.rs (renamed from tests/expectations/tests/libclang-5/auto.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/call-conv-field.rs (renamed from tests/expectations/tests/libclang-5/call-conv-field.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/const_bool.rs (renamed from tests/expectations/tests/libclang-5/const_bool.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/constant-evaluate.rs (renamed from tests/expectations/tests/libclang-5/constant-evaluate.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/error-E0600-cannot-apply-unary-negation-to-u32.rs (renamed from tests/expectations/tests/libclang-5/error-E0600-cannot-apply-unary-negation-to-u32.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/inline_namespace_nested.rs1
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs (renamed from tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/mangling-win32.rs (renamed from tests/expectations/tests/libclang-5/mangling-win32.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/objc_inheritance.rs (renamed from tests/expectations/tests/libclang-5/objc_inheritance.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/objc_template.rs (renamed from tests/expectations/tests/libclang-5/objc_template.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/partial-specialization-and-inheritance.rs (renamed from tests/expectations/tests/libclang-5/partial-specialization-and-inheritance.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs (renamed from tests/expectations/tests/libclang-5/type_alias_template_specialized.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/abi_variadic_function.rs (renamed from tests/expectations/tests/libclang-9/abi_variadic_function.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/auto.rs (renamed from tests/expectations/tests/libclang-9/auto.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/call-conv-field.rs (renamed from tests/expectations/tests/libclang-9/call-conv-field.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/class.rs (renamed from tests/expectations/tests/libclang-9/class.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/class_1_0.rs (renamed from tests/expectations/tests/libclang-9/class_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/const_bool.rs (renamed from tests/expectations/tests/libclang-9/const_bool.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/constant-evaluate.rs (renamed from tests/expectations/tests/libclang-9/constant-evaluate.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs (renamed from tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/error-E0600-cannot-apply-unary-negation-to-u32.rs (renamed from tests/expectations/tests/libclang-9/error-E0600-cannot-apply-unary-negation-to-u32.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/incomplete-array-padding.rs (renamed from tests/expectations/tests/libclang-9/incomplete-array-padding.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs (renamed from tests/expectations/tests/libclang-9/issue-643-inner-struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs (renamed from tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/layout_align.rs (renamed from tests/expectations/tests/libclang-9/layout_align.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/mangling-win32.rs (renamed from tests/expectations/tests/libclang-9/mangling-win32.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/objc_inheritance.rs (renamed from tests/expectations/tests/libclang-9/objc_inheritance.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/objc_template.rs (renamed from tests/expectations/tests/libclang-9/objc_template.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/partial-specialization-and-inheritance.rs (renamed from tests/expectations/tests/libclang-9/partial-specialization-and-inheritance.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs (renamed from tests/expectations/tests/libclang-9/type_alias_template_specialized.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang-9/zero-sized-array.rs (renamed from tests/expectations/tests/libclang-9/zero-sized-array.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/libclang_version_specific_generated_tests.rs (renamed from tests/expectations/tests/libclang_version_specific_generated_tests.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/long_double.rs (renamed from tests/expectations/tests/long_double.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/macro-expr-basic.rs (renamed from tests/expectations/tests/macro-expr-basic.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/macro-expr-uncommon-token.rs (renamed from tests/expectations/tests/macro-expr-uncommon-token.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/macro-redef.rs (renamed from tests/expectations/tests/macro-redef.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/macro_const.rs (renamed from tests/expectations/tests/macro_const.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/macro_const_1_0.rs (renamed from tests/expectations/tests/macro_const_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/maddness-is-avoidable.rs (renamed from tests/expectations/tests/maddness-is-avoidable.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/mangling-ios.rs (renamed from tests/expectations/tests/mangling-ios.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/mangling-linux32.rs (renamed from tests/expectations/tests/mangling-linux32.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/mangling-linux64.rs (renamed from tests/expectations/tests/mangling-linux64.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/mangling-macos.rs (renamed from tests/expectations/tests/mangling-macos.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/mangling-win64.rs (renamed from tests/expectations/tests/mangling-win64.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/merge-extern-blocks.rs37
-rw-r--r--bindgen-tests/tests/expectations/tests/method-mangling.rs (renamed from tests/expectations/tests/method-mangling.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/module-allowlisted.rs (renamed from tests/expectations/tests/module-allowlisted.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/msvc-no-usr.rs (renamed from tests/expectations/tests/msvc-no-usr.rs)3
-rw-r--r--bindgen-tests/tests/expectations/tests/multiple-inherit-empty-correct-layout.rs (renamed from tests/expectations/tests/multiple-inherit-empty-correct-layout.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/mutable.rs (renamed from tests/expectations/tests/mutable.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/namespace.rs (renamed from tests/expectations/tests/namespace.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/nested-template-typedef.rs (renamed from tests/expectations/tests/nested-template-typedef.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/nested.rs (renamed from tests/expectations/tests/nested.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/nested_vtable.rs (renamed from tests/expectations/tests/nested_vtable.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/nested_within_namespace.rs (renamed from tests/expectations/tests/nested_within_namespace.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/newtype-enum.rs (renamed from tests/expectations/tests/newtype-enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/newtype-global-enum.rs14
-rw-r--r--bindgen-tests/tests/expectations/tests/no-comments.rs (renamed from tests/expectations/tests/no-comments.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no-derive-debug.rs (renamed from tests/expectations/tests/no-derive-debug.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no-derive-default.rs (renamed from tests/expectations/tests/no-derive-default.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no-hash-allowlisted.rs (renamed from tests/expectations/tests/no-hash-allowlisted.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no-hash-opaque.rs (renamed from tests/expectations/tests/no-hash-opaque.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no-partialeq-allowlisted.rs (renamed from tests/expectations/tests/no-partialeq-allowlisted.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no-partialeq-opaque.rs (renamed from tests/expectations/tests/no-partialeq-opaque.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no-recursive-allowlisting.rs (renamed from tests/expectations/tests/no-recursive-allowlisting.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no-std.rs (renamed from tests/expectations/tests/no-std.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_copy.rs (renamed from tests/expectations/tests/no_copy.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_copy_allowlisted.rs (renamed from tests/expectations/tests/no_copy_allowlisted.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_copy_opaque.rs (renamed from tests/expectations/tests/no_copy_opaque.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_debug.rs (renamed from tests/expectations/tests/no_debug.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_debug_allowlisted.rs (renamed from tests/expectations/tests/no_debug_allowlisted.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_debug_bypass_impl_debug.rs (renamed from tests/expectations/tests/no_debug_bypass_impl_debug.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_debug_opaque.rs (renamed from tests/expectations/tests/no_debug_opaque.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_default.rs (renamed from tests/expectations/tests/no_default.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_default_allowlisted.rs (renamed from tests/expectations/tests/no_default_allowlisted.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_default_bypass_derive_default.rs (renamed from tests/expectations/tests/no_default_bypass_derive_default.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_default_opaque.rs (renamed from tests/expectations/tests/no_default_opaque.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/no_size_t_is_usize.rs (renamed from tests/expectations/tests/size_t_is_usize.rs)6
-rw-r--r--bindgen-tests/tests/expectations/tests/non-type-params.rs (renamed from tests/expectations/tests/non-type-params.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/noreturn.rs19
-rw-r--r--bindgen-tests/tests/expectations/tests/nsBaseHashtable.rs (renamed from tests/expectations/tests/nsBaseHashtable.rs)1
-rw-r--r--bindgen-tests/tests/expectations/tests/nsStyleAutoArray.rs (renamed from tests/expectations/tests/nsStyleAutoArray.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_allowlist.rs (renamed from tests/expectations/tests/objc_allowlist.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_blocklist.rs42
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_category.rs (renamed from tests/expectations/tests/objc_category.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_class.rs (renamed from tests/expectations/tests/objc_class.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_class_method.rs (renamed from tests/expectations/tests/objc_class_method.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_interface.rs (renamed from tests/expectations/tests/objc_interface.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_interface_type.rs (renamed from tests/expectations/tests/objc_interface_type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_method.rs (renamed from tests/expectations/tests/objc_method.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_method_clash.rs (renamed from tests/expectations/tests/objc_method_clash.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_pointer_return_types.rs (renamed from tests/expectations/tests/objc_pointer_return_types.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_property_fnptr.rs (renamed from tests/expectations/tests/objc_property_fnptr.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_protocol.rs (renamed from tests/expectations/tests/objc_protocol.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_protocol_inheritance.rs (renamed from tests/expectations/tests/objc_protocol_inheritance.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/objc_sel_and_id.rs (renamed from tests/expectations/tests/objc_sel_and_id.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/only_bitfields.rs (renamed from tests/expectations/tests/only_bitfields.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/opaque-template-inst-member-2.rs (renamed from tests/expectations/tests/opaque-template-inst-member-2.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/opaque-template-inst-member.rs (renamed from tests/expectations/tests/opaque-template-inst-member.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/opaque-template-instantiation-namespaced.rs (renamed from tests/expectations/tests/opaque-template-instantiation-namespaced.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/opaque-template-instantiation.rs (renamed from tests/expectations/tests/opaque-template-instantiation.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/opaque-tracing.rs (renamed from tests/expectations/tests/opaque-tracing.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/opaque_in_struct.rs (renamed from tests/expectations/tests/opaque_in_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/opaque_pointer.rs (renamed from tests/expectations/tests/opaque_pointer.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/opaque_typedef.rs (renamed from tests/expectations/tests/opaque_typedef.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/operator.rs (renamed from tests/expectations/tests/operator.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/ord-enum.rs (renamed from tests/expectations/tests/ord-enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/overflowed_enum.rs (renamed from tests/expectations/tests/overflowed_enum.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/overloading.rs (renamed from tests/expectations/tests/overloading.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/packed-bitfield.rs (renamed from tests/expectations/tests/packed-bitfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/packed-n-with-padding.rs (renamed from tests/expectations/tests/packed-n-with-padding.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/packed-vtable.rs (renamed from tests/expectations/tests/packed-vtable.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/parm-union.rs (renamed from tests/expectations/tests/parm-union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/parsecb-anonymous-enum-variant-rename.rs (renamed from tests/expectations/tests/parsecb-anonymous-enum-variant-rename.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/pointer-attr.rs (renamed from tests/expectations/tests/pointer-attr.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/prepend-enum-constified-variant.rs (renamed from tests/expectations/tests/prepend-enum-constified-variant.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/prepend_enum_name.rs (renamed from tests/expectations/tests/prepend_enum_name.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/private.rs (renamed from tests/expectations/tests/private.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/private_fields.rs (renamed from tests/expectations/tests/private_fields.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/public-dtor.rs (renamed from tests/expectations/tests/public-dtor.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/qualified-dependent-types.rs (renamed from tests/expectations/tests/qualified-dependent-types.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/redeclaration.rs (renamed from tests/expectations/tests/redeclaration.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/ref_argument_array.rs (renamed from tests/expectations/tests/ref_argument_array.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/reparented_replacement.rs (renamed from tests/expectations/tests/reparented_replacement.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/replace_template_alias.rs (renamed from tests/expectations/tests/replace_template_alias.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/replace_use.rs (renamed from tests/expectations/tests/replace_use.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/replaces_double.rs (renamed from tests/expectations/tests/replaces_double.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/repr-align.rs (renamed from tests/expectations/tests/repr-align.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/resolved_type_def_function.rs (renamed from tests/expectations/tests/resolved_type_def_function.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/same_struct_name_in_different_namespaces.rs (renamed from tests/expectations/tests/same_struct_name_in_different_namespaces.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/sentry-defined-multiple-times.rs (renamed from tests/expectations/tests/sentry-defined-multiple-times.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/short-enums.rs (renamed from tests/expectations/tests/short-enums.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/size_t_template.rs (renamed from tests/expectations/tests/size_t_template.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/sorted-items.rs (renamed from tests/expectations/tests/sorted-items.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/stdint_typedef.rs41
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_containing_forward_declared_struct.rs (renamed from tests/expectations/tests/struct_containing_forward_declared_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_typedef.rs (renamed from tests/expectations/tests/struct_typedef.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_typedef_ns.rs (renamed from tests/expectations/tests/struct_typedef_ns.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_anon_struct.rs (renamed from tests/expectations/tests/struct_with_anon_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_anon_struct_array.rs (renamed from tests/expectations/tests/struct_with_anon_struct_array.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_anon_struct_pointer.rs (renamed from tests/expectations/tests/struct_with_anon_struct_pointer.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_anon_union.rs (renamed from tests/expectations/tests/struct_with_anon_union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_anon_union_1_0.rs (renamed from tests/expectations/tests/struct_with_anon_union_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_anon_unnamed_struct.rs (renamed from tests/expectations/tests/struct_with_anon_unnamed_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_anon_unnamed_union.rs (renamed from tests/expectations/tests/struct_with_anon_unnamed_union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs (renamed from tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_bitfields.rs (renamed from tests/expectations/tests/struct_with_bitfields.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_derive_debug.rs (renamed from tests/expectations/tests/struct_with_derive_debug.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_large_array.rs (renamed from tests/expectations/tests/struct_with_large_array.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_nesting.rs (renamed from tests/expectations/tests/struct_with_nesting.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_nesting_1_0.rs (renamed from tests/expectations/tests/struct_with_nesting_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_packing.rs (renamed from tests/expectations/tests/struct_with_packing.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_struct.rs (renamed from tests/expectations/tests/struct_with_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/struct_with_typedef_template_arg.rs (renamed from tests/expectations/tests/struct_with_typedef_template_arg.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-fun-ty.rs (renamed from tests/expectations/tests/template-fun-ty.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-0.rs (renamed from tests/expectations/tests/template-param-usage-0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-1.rs (renamed from tests/expectations/tests/template-param-usage-1.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-10.rs (renamed from tests/expectations/tests/template-param-usage-10.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-11.rs (renamed from tests/expectations/tests/template-param-usage-11.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-12.rs (renamed from tests/expectations/tests/template-param-usage-12.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-13.rs (renamed from tests/expectations/tests/template-param-usage-13.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-14.rs (renamed from tests/expectations/tests/template-param-usage-14.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-15.rs (renamed from tests/expectations/tests/template-param-usage-15.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-2.rs (renamed from tests/expectations/tests/template-param-usage-2.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-3.rs (renamed from tests/expectations/tests/template-param-usage-3.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-4.rs (renamed from tests/expectations/tests/template-param-usage-4.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-5.rs (renamed from tests/expectations/tests/template-param-usage-5.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-6.rs (renamed from tests/expectations/tests/template-param-usage-6.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-7.rs (renamed from tests/expectations/tests/template-param-usage-7.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-8.rs (renamed from tests/expectations/tests/template-param-usage-8.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-param-usage-9.rs (renamed from tests/expectations/tests/template-param-usage-9.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template-with-var.rs (renamed from tests/expectations/tests/template-with-var.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template.rs (renamed from tests/expectations/tests/template.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template_alias.rs (renamed from tests/expectations/tests/template_alias.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template_alias_basic.rs (renamed from tests/expectations/tests/template_alias_basic.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template_alias_namespace.rs (renamed from tests/expectations/tests/template_alias_namespace.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template_fun.rs (renamed from tests/expectations/tests/template_fun.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template_instantiation_with_fn_local_type.rs (renamed from tests/expectations/tests/template_instantiation_with_fn_local_type.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template_partial_specification.rs (renamed from tests/expectations/tests/template_partial_specification.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template_typedef_transitive_param.rs (renamed from tests/expectations/tests/template_typedef_transitive_param.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/template_typedefs.rs (renamed from tests/expectations/tests/template_typedefs.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/templateref_opaque.rs (renamed from tests/expectations/tests/templateref_opaque.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/templatized-bitfield.rs (renamed from tests/expectations/tests/templatized-bitfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/test_mixed_header_and_header_contents.rs (renamed from tests/expectations/tests/test_mixed_header_and_header_contents.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/test_multiple_header_calls_in_builder.rs (renamed from tests/expectations/tests/test_multiple_header_calls_in_builder.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/timex.rs (renamed from tests/expectations/tests/timex.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/transform-op.rs (renamed from tests/expectations/tests/transform-op.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/type-referenced-by-allowlisted-function.rs (renamed from tests/expectations/tests/type-referenced-by-allowlisted-function.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/type_alias_empty.rs (renamed from tests/expectations/tests/type_alias_empty.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/type_alias_partial_template_especialization.rs (renamed from tests/expectations/tests/type_alias_partial_template_especialization.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/typedefd-array-as-function-arg.rs (renamed from tests/expectations/tests/typedefd-array-as-function-arg.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/typeref.rs (renamed from tests/expectations/tests/typeref.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/typeref_1_0.rs (renamed from tests/expectations/tests/typeref_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/underscore.rs (renamed from tests/expectations/tests/underscore.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union-align.rs (renamed from tests/expectations/tests/union-align.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union-in-ns.rs (renamed from tests/expectations/tests/union-in-ns.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union-in-ns_1_0.rs (renamed from tests/expectations/tests/union-in-ns_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_bitfield.rs (renamed from tests/expectations/tests/union_bitfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_bitfield_1_0.rs (renamed from tests/expectations/tests/union_bitfield_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_dtor.rs (renamed from tests/expectations/tests/union_dtor.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_dtor_1_0.rs (renamed from tests/expectations/tests/union_dtor_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_fields.rs (renamed from tests/expectations/tests/union_fields.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_fields_1_0.rs (renamed from tests/expectations/tests/union_fields_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_template.rs (renamed from tests/expectations/tests/union_template.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_template_1_0.rs (renamed from tests/expectations/tests/union_template_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_struct.rs (renamed from tests/expectations/tests/union_with_anon_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_struct_1_0.rs (renamed from tests/expectations/tests/union_with_anon_struct_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield.rs (renamed from tests/expectations/tests/union_with_anon_struct_bitfield.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs (renamed from tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_union.rs (renamed from tests/expectations/tests/union_with_anon_union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_union_1_0.rs (renamed from tests/expectations/tests/union_with_anon_union_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_struct.rs (renamed from tests/expectations/tests/union_with_anon_unnamed_struct.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs (renamed from tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_union.rs (renamed from tests/expectations/tests/union_with_anon_unnamed_union.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs (renamed from tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_big_member.rs (renamed from tests/expectations/tests/union_with_big_member.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_big_member_1_0.rs (renamed from tests/expectations/tests/union_with_big_member_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_nesting.rs (renamed from tests/expectations/tests/union_with_nesting.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_nesting_1_0.rs (renamed from tests/expectations/tests/union_with_nesting_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/union_with_non_copy_member.rs239
-rw-r--r--bindgen-tests/tests/expectations/tests/unknown_attr.rs (renamed from tests/expectations/tests/unknown_attr.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/unsorted-items.rs (renamed from tests/expectations/tests/unsorted-items.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/use-core.rs (renamed from tests/expectations/tests/use-core.rs)10
-rw-r--r--bindgen-tests/tests/expectations/tests/use-core_1_0.rs (renamed from tests/expectations/tests/use-core_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/using.rs (renamed from tests/expectations/tests/using.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/var-tracing.rs (renamed from tests/expectations/tests/var-tracing.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/variadic-method.rs (renamed from tests/expectations/tests/variadic-method.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/variadic_template_function.rs (renamed from tests/expectations/tests/variadic_template_function.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/vector.rs (renamed from tests/expectations/tests/vector.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/virtual_dtor.rs (renamed from tests/expectations/tests/virtual_dtor.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/virtual_inheritance.rs (renamed from tests/expectations/tests/virtual_inheritance.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/virtual_interface.rs (renamed from tests/expectations/tests/virtual_interface.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/virtual_overloaded.rs (renamed from tests/expectations/tests/virtual_overloaded.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/vtable_recursive_sig.rs (renamed from tests/expectations/tests/vtable_recursive_sig.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/wasm-constructor-returns.rs (renamed from tests/expectations/tests/wasm-constructor-returns.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/wasm-import-module.rs (renamed from tests/expectations/tests/wasm-import-module.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/weird_bitfields.rs (renamed from tests/expectations/tests/weird_bitfields.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/what_is_going_on.rs (renamed from tests/expectations/tests/what_is_going_on.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/win32-thiscall_1_0.rs (renamed from tests/expectations/tests/win32-thiscall_1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/win32-thiscall_nightly.rs (renamed from tests/expectations/tests/win32-thiscall_nightly.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/win32-vectorcall-1_0.rs (renamed from tests/expectations/tests/win32-vectorcall-1_0.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/win32-vectorcall-nightly.rs (renamed from tests/expectations/tests/win32-vectorcall-nightly.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/with_array_pointers_arguments.rs (renamed from tests/expectations/tests/with_array_pointers_arguments.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/without_array_pointers_arguments.rs (renamed from tests/expectations/tests/without_array_pointers_arguments.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/zero-size-array-align.rs (renamed from tests/expectations/tests/zero-size-array-align.rs)0
-rw-r--r--bindgen-tests/tests/expectations/tests/zero-sized-array.rs (renamed from tests/expectations/tests/zero-sized-array.rs)0
-rw-r--r--bindgen-tests/tests/headers/16-byte-alignment.h (renamed from tests/headers/16-byte-alignment.h)0
-rw-r--r--bindgen-tests/tests/headers/16-byte-alignment_1_0.h (renamed from tests/headers/16-byte-alignment_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/381-decltype-alias.hpp (renamed from tests/headers/381-decltype-alias.hpp)0
-rw-r--r--bindgen-tests/tests/headers/abi_variadic_function.hpp (renamed from tests/headers/abi_variadic_function.hpp)0
-rw-r--r--bindgen-tests/tests/headers/accessors.hpp (renamed from tests/headers/accessors.hpp)0
-rw-r--r--bindgen-tests/tests/headers/allowlist-file.hpp (renamed from tests/headers/allowlist-file.hpp)0
-rw-r--r--bindgen-tests/tests/headers/allowlist-namespaces-basic.hpp (renamed from tests/headers/allowlist-namespaces-basic.hpp)0
-rw-r--r--bindgen-tests/tests/headers/allowlist-namespaces.hpp (renamed from tests/headers/allowlist-namespaces.hpp)0
-rw-r--r--bindgen-tests/tests/headers/allowlist_basic.hpp (renamed from tests/headers/allowlist_basic.hpp)0
-rw-r--r--bindgen-tests/tests/headers/allowlist_fix.hpp (renamed from tests/headers/allowlist_fix.hpp)0
-rw-r--r--bindgen-tests/tests/headers/allowlist_vars.h (renamed from tests/headers/allowlist_vars.h)0
-rw-r--r--bindgen-tests/tests/headers/allowlist_warnings.h (renamed from tests/headers/allowlist_warnings.h)0
-rw-r--r--bindgen-tests/tests/headers/allowlisted-item-references-no-hash.hpp (renamed from tests/headers/allowlisted-item-references-no-hash.hpp)0
-rw-r--r--bindgen-tests/tests/headers/allowlisted-item-references-no-partialeq.hpp (renamed from tests/headers/allowlisted-item-references-no-partialeq.hpp)0
-rw-r--r--bindgen-tests/tests/headers/allowlisted/file.hpp (renamed from tests/headers/allowlisted/file.hpp)0
-rw-r--r--bindgen-tests/tests/headers/allowlisted_item_references_no_copy.hpp (renamed from tests/headers/allowlisted_item_references_no_copy.hpp)0
-rw-r--r--bindgen-tests/tests/headers/annotation_hide.hpp (renamed from tests/headers/annotation_hide.hpp)0
-rw-r--r--bindgen-tests/tests/headers/anon-fields-prefix.h (renamed from tests/headers/anon-fields-prefix.h)0
-rw-r--r--bindgen-tests/tests/headers/anon_enum.hpp (renamed from tests/headers/anon_enum.hpp)0
-rw-r--r--bindgen-tests/tests/headers/anon_enum_allowlist.h (renamed from tests/headers/anon_enum_allowlist.h)0
-rw-r--r--bindgen-tests/tests/headers/anon_enum_trait.hpp (renamed from tests/headers/anon_enum_trait.hpp)0
-rw-r--r--bindgen-tests/tests/headers/anon_struct_in_union.h (renamed from tests/headers/anon_struct_in_union.h)0
-rw-r--r--bindgen-tests/tests/headers/anon_struct_in_union_1_0.h (renamed from tests/headers/anon_struct_in_union_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/anon_union.hpp (renamed from tests/headers/anon_union.hpp)0
-rw-r--r--bindgen-tests/tests/headers/anon_union_1_0.hpp (renamed from tests/headers/anon_union_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/anonymous-template-types.hpp (renamed from tests/headers/anonymous-template-types.hpp)0
-rw-r--r--bindgen-tests/tests/headers/arg_keyword.hpp (renamed from tests/headers/arg_keyword.hpp)0
-rw-r--r--bindgen-tests/tests/headers/array-of-zero-sized-types.hpp (renamed from tests/headers/array-of-zero-sized-types.hpp)0
-rw-r--r--bindgen-tests/tests/headers/attribute_warn_unused_result.hpp (renamed from tests/headers/attribute_warn_unused_result.hpp)0
-rw-r--r--bindgen-tests/tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp (renamed from tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp)0
-rw-r--r--bindgen-tests/tests/headers/attribute_warn_unused_result_pre_1_27.hpp (renamed from tests/headers/attribute_warn_unused_result_pre_1_27.hpp)0
-rw-r--r--bindgen-tests/tests/headers/auto.hpp (renamed from tests/headers/auto.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bad-namespace-parenthood-inheritance.hpp (renamed from tests/headers/bad-namespace-parenthood-inheritance.hpp)0
-rw-r--r--bindgen-tests/tests/headers/base-to-derived.hpp (renamed from tests/headers/base-to-derived.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bindgen-union-inside-namespace.hpp (renamed from tests/headers/bindgen-union-inside-namespace.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bitfield-32bit-overflow.h (renamed from tests/headers/bitfield-32bit-overflow.h)0
-rw-r--r--bindgen-tests/tests/headers/bitfield-enum-basic.hpp (renamed from tests/headers/bitfield-enum-basic.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bitfield-enum-repr-c.hpp (renamed from tests/headers/bitfield-enum-repr-c.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bitfield-enum-repr-transparent.hpp (renamed from tests/headers/bitfield-enum-repr-transparent.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bitfield-large.hpp (renamed from tests/headers/bitfield-large.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bitfield-linux-32.hpp (renamed from tests/headers/bitfield-linux-32.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bitfield-method-same-name.hpp (renamed from tests/headers/bitfield-method-same-name.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bitfield_align.h (renamed from tests/headers/bitfield_align.h)0
-rw-r--r--bindgen-tests/tests/headers/bitfield_align_2.h (renamed from tests/headers/bitfield_align_2.h)0
-rw-r--r--bindgen-tests/tests/headers/bitfield_large_overflow.hpp (renamed from tests/headers/bitfield_large_overflow.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bitfield_method_mangling.h (renamed from tests/headers/bitfield_method_mangling.h)0
-rw-r--r--bindgen-tests/tests/headers/bitfield_pragma_packed.h (renamed from tests/headers/bitfield_pragma_packed.h)0
-rw-r--r--bindgen-tests/tests/headers/block_return_type.h (renamed from tests/headers/block_return_type.h)0
-rw-r--r--bindgen-tests/tests/headers/blocklist-and-impl-debug.hpp (renamed from tests/headers/blocklist-and-impl-debug.hpp)0
-rw-r--r--bindgen-tests/tests/headers/blocklist-file.hpp (renamed from tests/headers/blocklist-file.hpp)0
-rw-r--r--bindgen-tests/tests/headers/blocklist-function.hpp (renamed from tests/headers/blocklist-function.hpp)0
-rw-r--r--bindgen-tests/tests/headers/blocklist-item.hpp (renamed from tests/headers/blocklist-item.hpp)0
-rw-r--r--bindgen-tests/tests/headers/blocklisted/fake-stdint.h (renamed from tests/headers/blocklisted/fake-stdint.h)0
-rw-r--r--bindgen-tests/tests/headers/blocklisted/file.hpp (renamed from tests/headers/blocklisted/file.hpp)0
-rw-r--r--bindgen-tests/tests/headers/blocks-signature.hpp (renamed from tests/headers/blocks-signature.hpp)0
-rw-r--r--bindgen-tests/tests/headers/blocks.hpp (renamed from tests/headers/blocks.hpp)0
-rw-r--r--bindgen-tests/tests/headers/bug-1529681.hpp (renamed from tests/headers/bug-1529681.hpp)0
-rw-r--r--bindgen-tests/tests/headers/builtin-template.hpp (renamed from tests/headers/builtin-template.hpp)0
-rw-r--r--bindgen-tests/tests/headers/c-empty-layout.h (renamed from tests/headers/c-empty-layout.h)0
-rw-r--r--bindgen-tests/tests/headers/c_naming.h (renamed from tests/headers/c_naming.h)0
-rw-r--r--bindgen-tests/tests/headers/call-conv-field.h (renamed from tests/headers/call-conv-field.h)0
-rw-r--r--bindgen-tests/tests/headers/call-conv-typedef.h (renamed from tests/headers/call-conv-typedef.h)0
-rw-r--r--bindgen-tests/tests/headers/canonical-types.hpp (renamed from tests/headers/canonical-types.hpp)0
-rw-r--r--bindgen-tests/tests/headers/canonical_path_without_namespacing.hpp (renamed from tests/headers/canonical_path_without_namespacing.hpp)0
-rw-r--r--bindgen-tests/tests/headers/char.h (renamed from tests/headers/char.h)0
-rw-r--r--bindgen-tests/tests/headers/class.hpp (renamed from tests/headers/class.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_1_0.hpp (renamed from tests/headers/class_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_nested.hpp (renamed from tests/headers/class_nested.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_no_members.hpp (renamed from tests/headers/class_no_members.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_static.hpp (renamed from tests/headers/class_static.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_static_const.hpp (renamed from tests/headers/class_static_const.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_use_as.hpp (renamed from tests/headers/class_use_as.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_with_dtor.hpp (renamed from tests/headers/class_with_dtor.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_with_inner_struct.hpp (renamed from tests/headers/class_with_inner_struct.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_with_inner_struct_1_0.hpp (renamed from tests/headers/class_with_inner_struct_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/class_with_typedef.hpp (renamed from tests/headers/class_with_typedef.hpp)0
-rw-r--r--bindgen-tests/tests/headers/comment-indent.hpp (renamed from tests/headers/comment-indent.hpp)0
-rw-r--r--bindgen-tests/tests/headers/complex.h (renamed from tests/headers/complex.h)0
-rw-r--r--bindgen-tests/tests/headers/complex_global.h (renamed from tests/headers/complex_global.h)0
-rw-r--r--bindgen-tests/tests/headers/const-const-mut-ptr.h (renamed from tests/headers/const-const-mut-ptr.h)0
-rw-r--r--bindgen-tests/tests/headers/const_array.h (renamed from tests/headers/const_array.h)0
-rw-r--r--bindgen-tests/tests/headers/const_array_fn_arg.h (renamed from tests/headers/const_array_fn_arg.h)0
-rw-r--r--bindgen-tests/tests/headers/const_bool.hpp (renamed from tests/headers/const_bool.hpp)0
-rw-r--r--bindgen-tests/tests/headers/const_enum_unnamed.hpp (renamed from tests/headers/const_enum_unnamed.hpp)0
-rw-r--r--bindgen-tests/tests/headers/const_multidim_array_fn_arg.h (renamed from tests/headers/const_multidim_array_fn_arg.h)0
-rw-r--r--bindgen-tests/tests/headers/const_ptr.hpp (renamed from tests/headers/const_ptr.hpp)0
-rw-r--r--bindgen-tests/tests/headers/const_resolved_ty.h (renamed from tests/headers/const_resolved_ty.h)0
-rw-r--r--bindgen-tests/tests/headers/const_tparam.hpp (renamed from tests/headers/const_tparam.hpp)0
-rw-r--r--bindgen-tests/tests/headers/constant-evaluate.h (renamed from tests/headers/constant-evaluate.h)0
-rw-r--r--bindgen-tests/tests/headers/constant-non-specialized-tp.hpp (renamed from tests/headers/constant-non-specialized-tp.hpp)0
-rw-r--r--bindgen-tests/tests/headers/constified-enum-module-overflow.hpp (renamed from tests/headers/constified-enum-module-overflow.hpp)0
-rw-r--r--bindgen-tests/tests/headers/constify-all-enums.h (renamed from tests/headers/constify-all-enums.h)0
-rw-r--r--bindgen-tests/tests/headers/constify-enum.h (renamed from tests/headers/constify-enum.h)0
-rw-r--r--bindgen-tests/tests/headers/constify-module-enums-basic.h (renamed from tests/headers/constify-module-enums-basic.h)0
-rw-r--r--bindgen-tests/tests/headers/constify-module-enums-namespace.hpp (renamed from tests/headers/constify-module-enums-namespace.hpp)0
-rw-r--r--bindgen-tests/tests/headers/constify-module-enums-shadow-name.h (renamed from tests/headers/constify-module-enums-shadow-name.h)0
-rw-r--r--bindgen-tests/tests/headers/constify-module-enums-simple-alias.hpp (renamed from tests/headers/constify-module-enums-simple-alias.hpp)0
-rw-r--r--bindgen-tests/tests/headers/constify-module-enums-simple-nonamespace.hpp (renamed from tests/headers/constify-module-enums-simple-nonamespace.hpp)0
-rw-r--r--bindgen-tests/tests/headers/constify-module-enums-types.hpp (renamed from tests/headers/constify-module-enums-types.hpp)0
-rw-r--r--bindgen-tests/tests/headers/constructor-tp.hpp (renamed from tests/headers/constructor-tp.hpp)0
-rw-r--r--bindgen-tests/tests/headers/constructors.hpp (renamed from tests/headers/constructors.hpp)0
-rw-r--r--bindgen-tests/tests/headers/constructors_1_33.hpp (renamed from tests/headers/constructors_1_33.hpp)0
-rw-r--r--bindgen-tests/tests/headers/contains-vs-inherits-zero-sized.hpp (renamed from tests/headers/contains-vs-inherits-zero-sized.hpp)0
-rw-r--r--bindgen-tests/tests/headers/convert-cpp-comment-to-rust.hpp (renamed from tests/headers/convert-cpp-comment-to-rust.hpp)0
-rw-r--r--bindgen-tests/tests/headers/convert-floats.h (renamed from tests/headers/convert-floats.h)0
-rw-r--r--bindgen-tests/tests/headers/core_ffi_c.h14
-rw-r--r--bindgen-tests/tests/headers/cpp-empty-layout.hpp (renamed from tests/headers/cpp-empty-layout.hpp)0
-rw-r--r--bindgen-tests/tests/headers/crtp.hpp (renamed from tests/headers/crtp.hpp)0
-rw-r--r--bindgen-tests/tests/headers/ctypes-prefix-path.h (renamed from tests/headers/ctypes-prefix-path.h)0
-rw-r--r--bindgen-tests/tests/headers/dash_language.h (renamed from tests/headers/dash_language.h)0
-rw-r--r--bindgen-tests/tests/headers/decl_extern_int_twice.h (renamed from tests/headers/decl_extern_int_twice.h)0
-rw-r--r--bindgen-tests/tests/headers/decl_ptr_to_array.h (renamed from tests/headers/decl_ptr_to_array.h)0
-rw-r--r--bindgen-tests/tests/headers/default-enum-style-constified-module.h (renamed from tests/headers/default-enum-style-constified-module.h)0
-rw-r--r--bindgen-tests/tests/headers/default-macro-constant-type-signed.h (renamed from tests/headers/default-macro-constant-type-signed.h)0
-rw-r--r--bindgen-tests/tests/headers/default-macro-constant-type-unsigned.h (renamed from tests/headers/default-macro-constant-type-unsigned.h)0
-rw-r--r--bindgen-tests/tests/headers/default-macro-constant-type.h (renamed from tests/headers/default-macro-constant-type.h)0
-rw-r--r--bindgen-tests/tests/headers/default-template-parameter.hpp (renamed from tests/headers/default-template-parameter.hpp)0
-rw-r--r--bindgen-tests/tests/headers/deleted-function.hpp (renamed from tests/headers/deleted-function.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-bitfield-method-same-name.hpp (renamed from tests/headers/derive-bitfield-method-same-name.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-clone.h (renamed from tests/headers/derive-clone.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-clone_1_0.h (renamed from tests/headers/derive-clone_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-custom.h (renamed from tests/headers/derive-custom.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-debug-bitfield-core.hpp (renamed from tests/headers/derive-debug-bitfield-core.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-debug-bitfield.hpp (renamed from tests/headers/derive-debug-bitfield.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-debug-function-pointer.hpp (renamed from tests/headers/derive-debug-function-pointer.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-debug-generic.hpp (renamed from tests/headers/derive-debug-generic.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-debug-mangle-name.h (renamed from tests/headers/derive-debug-mangle-name.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-debug-opaque-template-instantiation.hpp (renamed from tests/headers/derive-debug-opaque-template-instantiation.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-debug-opaque.hpp (renamed from tests/headers/derive-debug-opaque.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-default-and-blocklist.hpp (renamed from tests/headers/derive-default-and-blocklist.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-fn-ptr.h (renamed from tests/headers/derive-fn-ptr.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-hash-and-blocklist.hpp (renamed from tests/headers/derive-hash-and-blocklist.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-hash-blocklisting.hpp (renamed from tests/headers/derive-hash-blocklisting.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-hash-struct-with-anon-struct-float.h (renamed from tests/headers/derive-hash-struct-with-anon-struct-float.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-hash-struct-with-float-array.h (renamed from tests/headers/derive-hash-struct-with-float-array.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-hash-struct-with-incomplete-array.h (renamed from tests/headers/derive-hash-struct-with-incomplete-array.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-hash-struct-with-pointer.h (renamed from tests/headers/derive-hash-struct-with-pointer.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-hash-template-def-float.hpp (renamed from tests/headers/derive-hash-template-def-float.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-hash-template-inst-float.hpp (renamed from tests/headers/derive-hash-template-inst-float.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-partialeq-and-blocklist.hpp (renamed from tests/headers/derive-partialeq-and-blocklist.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-partialeq-anonfield.h (renamed from tests/headers/derive-partialeq-anonfield.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-partialeq-base.hpp (renamed from tests/headers/derive-partialeq-base.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-partialeq-bitfield.hpp (renamed from tests/headers/derive-partialeq-bitfield.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-partialeq-core.h (renamed from tests/headers/derive-partialeq-core.h)0
-rw-r--r--bindgen-tests/tests/headers/derive-partialeq-pointer.hpp (renamed from tests/headers/derive-partialeq-pointer.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-partialeq-union.hpp (renamed from tests/headers/derive-partialeq-union.hpp)0
-rw-r--r--bindgen-tests/tests/headers/derive-partialeq-union_1_0.hpp (renamed from tests/headers/derive-partialeq-union_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/disable-namespacing.hpp (renamed from tests/headers/disable-namespacing.hpp)0
-rw-r--r--bindgen-tests/tests/headers/disable-nested-struct-naming.h (renamed from tests/headers/disable-nested-struct-naming.h)0
-rw-r--r--bindgen-tests/tests/headers/disable-untagged-union.hpp (renamed from tests/headers/disable-untagged-union.hpp)0
-rw-r--r--bindgen-tests/tests/headers/divide-by-zero-in-struct-layout.h (renamed from tests/headers/divide-by-zero-in-struct-layout.h)0
-rw-r--r--bindgen-tests/tests/headers/do-not-derive-copy.hpp (renamed from tests/headers/do-not-derive-copy.hpp)0
-rw-r--r--bindgen-tests/tests/headers/doggo-or-null.hpp (renamed from tests/headers/doggo-or-null.hpp)0
-rw-r--r--bindgen-tests/tests/headers/dupe-enum-variant-in-namespace.h (renamed from tests/headers/dupe-enum-variant-in-namespace.h)0
-rw-r--r--bindgen-tests/tests/headers/duplicated-namespaces-definitions.hpp (renamed from tests/headers/duplicated-namespaces-definitions.hpp)0
-rw-r--r--bindgen-tests/tests/headers/duplicated-namespaces.hpp (renamed from tests/headers/duplicated-namespaces.hpp)0
-rw-r--r--bindgen-tests/tests/headers/duplicated_constants_in_ns.hpp (renamed from tests/headers/duplicated_constants_in_ns.hpp)0
-rw-r--r--bindgen-tests/tests/headers/dynamic_loading_attributes.h (renamed from tests/headers/dynamic_loading_attributes.h)0
-rw-r--r--bindgen-tests/tests/headers/dynamic_loading_required.h (renamed from tests/headers/dynamic_loading_required.h)0
-rw-r--r--bindgen-tests/tests/headers/dynamic_loading_simple.h (renamed from tests/headers/dynamic_loading_simple.h)0
-rw-r--r--bindgen-tests/tests/headers/dynamic_loading_template.hpp (renamed from tests/headers/dynamic_loading_template.hpp)0
-rw-r--r--bindgen-tests/tests/headers/dynamic_loading_with_allowlist.hpp (renamed from tests/headers/dynamic_loading_with_allowlist.hpp)0
-rw-r--r--bindgen-tests/tests/headers/dynamic_loading_with_blocklist.hpp (renamed from tests/headers/dynamic_loading_with_blocklist.hpp)0
-rw-r--r--bindgen-tests/tests/headers/dynamic_loading_with_class.hpp (renamed from tests/headers/dynamic_loading_with_class.hpp)0
-rw-r--r--bindgen-tests/tests/headers/elaborated.hpp (renamed from tests/headers/elaborated.hpp)0
-rw-r--r--bindgen-tests/tests/headers/empty-enum.h (renamed from tests/headers/empty-enum.h)0
-rw-r--r--bindgen-tests/tests/headers/empty-union.hpp (renamed from tests/headers/empty-union.hpp)0
-rw-r--r--bindgen-tests/tests/headers/empty_template_param_name.hpp (renamed from tests/headers/empty_template_param_name.hpp)0
-rw-r--r--bindgen-tests/tests/headers/enum-default-bitfield.h (renamed from tests/headers/enum-default-bitfield.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-default-consts.h (renamed from tests/headers/enum-default-consts.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-default-module.h (renamed from tests/headers/enum-default-module.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-default-rust.h (renamed from tests/headers/enum-default-rust.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-doc-bitfield.h (renamed from tests/headers/enum-doc-bitfield.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-doc-mod.h (renamed from tests/headers/enum-doc-mod.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-doc-rusty.h (renamed from tests/headers/enum-doc-rusty.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-doc.h (renamed from tests/headers/enum-doc.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-no-debug-rust.h (renamed from tests/headers/enum-no-debug-rust.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-translate-type.hpp (renamed from tests/headers/enum-translate-type.hpp)0
-rw-r--r--bindgen-tests/tests/headers/enum-undefault.h (renamed from tests/headers/enum-undefault.h)0
-rw-r--r--bindgen-tests/tests/headers/enum-variant-replaces.h (renamed from tests/headers/enum-variant-replaces.h)0
-rw-r--r--bindgen-tests/tests/headers/enum.h (renamed from tests/headers/enum.h)0
-rw-r--r--bindgen-tests/tests/headers/enum_alias.hpp (renamed from tests/headers/enum_alias.hpp)0
-rw-r--r--bindgen-tests/tests/headers/enum_and_vtable_mangling.hpp (renamed from tests/headers/enum_and_vtable_mangling.hpp)0
-rw-r--r--bindgen-tests/tests/headers/enum_dupe.h (renamed from tests/headers/enum_dupe.h)0
-rw-r--r--bindgen-tests/tests/headers/enum_explicit_type.hpp (renamed from tests/headers/enum_explicit_type.hpp)0
-rw-r--r--bindgen-tests/tests/headers/enum_explicit_type_constants.hpp (renamed from tests/headers/enum_explicit_type_constants.hpp)0
-rw-r--r--bindgen-tests/tests/headers/enum_in_template.hpp (renamed from tests/headers/enum_in_template.hpp)0
-rw-r--r--bindgen-tests/tests/headers/enum_in_template_with_typedef.hpp (renamed from tests/headers/enum_in_template_with_typedef.hpp)0
-rw-r--r--bindgen-tests/tests/headers/enum_negative.h (renamed from tests/headers/enum_negative.h)0
-rw-r--r--bindgen-tests/tests/headers/enum_packed.h (renamed from tests/headers/enum_packed.h)0
-rw-r--r--bindgen-tests/tests/headers/error-E0600-cannot-apply-unary-negation-to-u32.h (renamed from tests/headers/error-E0600-cannot-apply-unary-negation-to-u32.h)0
-rw-r--r--bindgen-tests/tests/headers/eval-value-dependent.hpp (renamed from tests/headers/eval-value-dependent.hpp)0
-rw-r--r--bindgen-tests/tests/headers/eval-variadic-template-parameter.hpp (renamed from tests/headers/eval-variadic-template-parameter.hpp)0
-rw-r--r--bindgen-tests/tests/headers/explicit-padding.h (renamed from tests/headers/explicit-padding.h)0
-rw-r--r--bindgen-tests/tests/headers/extern-const-struct.h (renamed from tests/headers/extern-const-struct.h)0
-rw-r--r--bindgen-tests/tests/headers/extern.hpp (renamed from tests/headers/extern.hpp)0
-rw-r--r--bindgen-tests/tests/headers/fit-macro-constant-types-signed.h (renamed from tests/headers/fit-macro-constant-types-signed.h)0
-rw-r--r--bindgen-tests/tests/headers/fit-macro-constant-types.h (renamed from tests/headers/fit-macro-constant-types.h)0
-rw-r--r--bindgen-tests/tests/headers/float128.hpp (renamed from tests/headers/float128.hpp)0
-rw-r--r--bindgen-tests/tests/headers/forward-declaration-autoptr.hpp (renamed from tests/headers/forward-declaration-autoptr.hpp)0
-rw-r--r--bindgen-tests/tests/headers/forward-enum-decl.hpp (renamed from tests/headers/forward-enum-decl.hpp)0
-rw-r--r--bindgen-tests/tests/headers/forward-inherit-struct-with-fields.hpp (renamed from tests/headers/forward-inherit-struct-with-fields.hpp)0
-rw-r--r--bindgen-tests/tests/headers/forward-inherit-struct.hpp (renamed from tests/headers/forward-inherit-struct.hpp)0
-rw-r--r--bindgen-tests/tests/headers/forward_declared_complex_types.hpp (renamed from tests/headers/forward_declared_complex_types.hpp)0
-rw-r--r--bindgen-tests/tests/headers/forward_declared_complex_types_1_0.hpp (renamed from tests/headers/forward_declared_complex_types_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/forward_declared_opaque.h (renamed from tests/headers/forward_declared_opaque.h)0
-rw-r--r--bindgen-tests/tests/headers/forward_declared_struct.h (renamed from tests/headers/forward_declared_struct.h)0
-rw-r--r--bindgen-tests/tests/headers/func_proto.h (renamed from tests/headers/func_proto.h)0
-rw-r--r--bindgen-tests/tests/headers/func_ptr.h (renamed from tests/headers/func_ptr.h)0
-rw-r--r--bindgen-tests/tests/headers/func_ptr_in_struct.h (renamed from tests/headers/func_ptr_in_struct.h)0
-rw-r--r--bindgen-tests/tests/headers/func_ptr_return_type.h (renamed from tests/headers/func_ptr_return_type.h)0
-rw-r--r--bindgen-tests/tests/headers/func_return_must_use.h (renamed from tests/headers/func_return_must_use.h)0
-rw-r--r--bindgen-tests/tests/headers/func_with_array_arg.h (renamed from tests/headers/func_with_array_arg.h)0
-rw-r--r--bindgen-tests/tests/headers/func_with_func_ptr_arg.h (renamed from tests/headers/func_with_func_ptr_arg.h)0
-rw-r--r--bindgen-tests/tests/headers/function-typedef-stdcall.h (renamed from tests/headers/function-typedef-stdcall.h)0
-rw-r--r--bindgen-tests/tests/headers/gen-constructors-neg.hpp (renamed from tests/headers/gen-constructors-neg.hpp)0
-rw-r--r--bindgen-tests/tests/headers/gen-constructors.hpp (renamed from tests/headers/gen-constructors.hpp)0
-rw-r--r--bindgen-tests/tests/headers/gen-destructors-neg.hpp (renamed from tests/headers/gen-destructors-neg.hpp)0
-rw-r--r--bindgen-tests/tests/headers/gen-destructors.hpp (renamed from tests/headers/gen-destructors.hpp)0
-rw-r--r--bindgen-tests/tests/headers/generate-inline.hpp (renamed from tests/headers/generate-inline.hpp)0
-rw-r--r--bindgen-tests/tests/headers/i128.h (renamed from tests/headers/i128.h)0
-rw-r--r--bindgen-tests/tests/headers/in_class_typedef.hpp (renamed from tests/headers/in_class_typedef.hpp)0
-rw-r--r--bindgen-tests/tests/headers/incomplete-array-padding.h (renamed from tests/headers/incomplete-array-padding.h)0
-rw-r--r--bindgen-tests/tests/headers/infinite-macro.h (renamed from tests/headers/infinite-macro.h)0
-rw-r--r--bindgen-tests/tests/headers/inherit-from-template-instantiation-with-vtable.hpp (renamed from tests/headers/inherit-from-template-instantiation-with-vtable.hpp)0
-rw-r--r--bindgen-tests/tests/headers/inherit-namespaced.hpp (renamed from tests/headers/inherit-namespaced.hpp)0
-rw-r--r--bindgen-tests/tests/headers/inherit_named.hpp (renamed from tests/headers/inherit_named.hpp)0
-rw-r--r--bindgen-tests/tests/headers/inherit_typedef.hpp (renamed from tests/headers/inherit_typedef.hpp)0
-rw-r--r--bindgen-tests/tests/headers/inline-function.h (renamed from tests/headers/inline-function.h)0
-rw-r--r--bindgen-tests/tests/headers/inline_namespace.hpp (renamed from tests/headers/inline_namespace.hpp)0
-rw-r--r--bindgen-tests/tests/headers/inline_namespace_allowlist.hpp (renamed from tests/headers/inline_namespace_allowlist.hpp)0
-rw-r--r--bindgen-tests/tests/headers/inline_namespace_conservative.hpp (renamed from tests/headers/inline_namespace_conservative.hpp)0
-rw-r--r--bindgen-tests/tests/headers/inline_namespace_nested.hpp5
-rw-r--r--bindgen-tests/tests/headers/inline_namespace_no_ns_enabled.hpp (renamed from tests/headers/inline_namespace_no_ns_enabled.hpp)0
-rw-r--r--bindgen-tests/tests/headers/inner-typedef-gh422.hpp11
-rw-r--r--bindgen-tests/tests/headers/inner_const.hpp (renamed from tests/headers/inner_const.hpp)0
-rw-r--r--bindgen-tests/tests/headers/inner_template_self.hpp (renamed from tests/headers/inner_template_self.hpp)0
-rw-r--r--bindgen-tests/tests/headers/int128_t.h (renamed from tests/headers/int128_t.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1025-unknown-enum-repr.hpp (renamed from tests/headers/issue-1025-unknown-enum-repr.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1034.h (renamed from tests/headers/issue-1034.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1040.h (renamed from tests/headers/issue-1040.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1076-unnamed-bitfield-alignment.h (renamed from tests/headers/issue-1076-unnamed-bitfield-alignment.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1113-template-references.hpp (renamed from tests/headers/issue-1113-template-references.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1118-using-forward-decl.hpp (renamed from tests/headers/issue-1118-using-forward-decl.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1197-pure-virtual-stuff.hpp (renamed from tests/headers/issue-1197-pure-virtual-stuff.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1198-alias-rust-bitfield-enum.h (renamed from tests/headers/issue-1198-alias-rust-bitfield-enum.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1198-alias-rust-const-mod-bitfield-enum.h (renamed from tests/headers/issue-1198-alias-rust-const-mod-bitfield-enum.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1198-alias-rust-const-mod-enum.h (renamed from tests/headers/issue-1198-alias-rust-const-mod-enum.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1198-alias-rust-enum.h (renamed from tests/headers/issue-1198-alias-rust-enum.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1216-variadic-member.h (renamed from tests/headers/issue-1216-variadic-member.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1238-fwd-no-copy.h (renamed from tests/headers/issue-1238-fwd-no-copy.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1281.h (renamed from tests/headers/issue-1281.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1285.h (renamed from tests/headers/issue-1285.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1291.hpp (renamed from tests/headers/issue-1291.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1350-attribute-overloadable.h (renamed from tests/headers/issue-1350-attribute-overloadable.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1375-prefixed-functions.h (renamed from tests/headers/issue-1375-prefixed-functions.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1382-rust-primitive-types.h (renamed from tests/headers/issue-1382-rust-primitive-types.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1435.hpp (renamed from tests/headers/issue-1435.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1443.hpp (renamed from tests/headers/issue-1443.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1454.h (renamed from tests/headers/issue-1454.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1464.hpp (renamed from tests/headers/issue-1464.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1488-enum-new-type.h (renamed from tests/headers/issue-1488-enum-new-type.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1488-options.h (renamed from tests/headers/issue-1488-options.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1488-template-alias-new-type.hpp (renamed from tests/headers/issue-1488-template-alias-new-type.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1498.h (renamed from tests/headers/issue-1498.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1514.hpp (renamed from tests/headers/issue-1514.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1554.h (renamed from tests/headers/issue-1554.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1599-opaque-typedef-to-enum.h (renamed from tests/headers/issue-1599-opaque-typedef-to-enum.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1676-macro-namespace-prefix.hpp (renamed from tests/headers/issue-1676-macro-namespace-prefix.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1947.h (renamed from tests/headers/issue-1947.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-1977-larger-arrays.hpp (renamed from tests/headers/issue-1977-larger-arrays.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-1995.h (renamed from tests/headers/issue-1995.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-2019.hpp (renamed from tests/headers/issue-2019.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-2239-template-dependent-bit-width.hpp (renamed from tests/headers/issue-2239-template-dependent-bit-width.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-358.hpp (renamed from tests/headers/issue-358.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-372.hpp (renamed from tests/headers/issue-372.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-410.hpp (renamed from tests/headers/issue-410.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-446.hpp (renamed from tests/headers/issue-446.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-447.hpp (renamed from tests/headers/issue-447.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-493.hpp (renamed from tests/headers/issue-493.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-493_1_0.hpp (renamed from tests/headers/issue-493_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-511.h (renamed from tests/headers/issue-511.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-537-repr-packed-n.h (renamed from tests/headers/issue-537-repr-packed-n.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-537.h (renamed from tests/headers/issue-537.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-544-stylo-creduce-2.hpp (renamed from tests/headers/issue-544-stylo-creduce-2.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-544-stylo-creduce.hpp (renamed from tests/headers/issue-544-stylo-creduce.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-569-non-type-template-params-causing-layout-test-failures.hpp (renamed from tests/headers/issue-569-non-type-template-params-causing-layout-test-failures.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-573-layout-test-failures.hpp (renamed from tests/headers/issue-573-layout-test-failures.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-574-assertion-failure-in-codegen.hpp (renamed from tests/headers/issue-574-assertion-failure-in-codegen.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-584-stylo-template-analysis-panic.hpp (renamed from tests/headers/issue-584-stylo-template-analysis-panic.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-638-stylo-cannot-find-T-in-this-scope.hpp (renamed from tests/headers/issue-638-stylo-cannot-find-T-in-this-scope.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-639-typedef-anon-field.hpp (renamed from tests/headers/issue-639-typedef-anon-field.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-643-inner-struct.h (renamed from tests/headers/issue-643-inner-struct.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-645-cannot-find-type-T-in-this-scope.hpp (renamed from tests/headers/issue-645-cannot-find-type-T-in-this-scope.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-648-derive-debug-with-padding.h (renamed from tests/headers/issue-648-derive-debug-with-padding.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-654-struct-fn-collision.h (renamed from tests/headers/issue-654-struct-fn-collision.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-662-cannot-find-T-in-this-scope.hpp (renamed from tests/headers/issue-662-cannot-find-T-in-this-scope.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-662-part-2.hpp (renamed from tests/headers/issue-662-part-2.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-674-1.hpp (renamed from tests/headers/issue-674-1.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-674-2.hpp (renamed from tests/headers/issue-674-2.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-674-3.hpp (renamed from tests/headers/issue-674-3.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-677-nested-ns-specifier.hpp (renamed from tests/headers/issue-677-nested-ns-specifier.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-691-template-parameter-virtual.hpp (renamed from tests/headers/issue-691-template-parameter-virtual.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-710-must-use-type.h (renamed from tests/headers/issue-710-must-use-type.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-739-pointer-wide-bitfield.h (renamed from tests/headers/issue-739-pointer-wide-bitfield.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-769-bad-instantiation-test.hpp (renamed from tests/headers/issue-769-bad-instantiation-test.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-801-opaque-sloppiness.hpp (renamed from tests/headers/issue-801-opaque-sloppiness.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-807-opaque-types-methods-being-generated.hpp (renamed from tests/headers/issue-807-opaque-types-methods-being-generated.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-816.h (renamed from tests/headers/issue-816.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-820-unused-template-param-in-alias.hpp (renamed from tests/headers/issue-820-unused-template-param-in-alias.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-826-generating-methods-when-asked-not-to.hpp (renamed from tests/headers/issue-826-generating-methods-when-asked-not-to.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-833-1.hpp (renamed from tests/headers/issue-833-1.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-833-2.hpp (renamed from tests/headers/issue-833-2.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-833.hpp (renamed from tests/headers/issue-833.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-834.hpp (renamed from tests/headers/issue-834.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-848-replacement-system-include.hpp (renamed from tests/headers/issue-848-replacement-system-include.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-848/an-include.h (renamed from tests/headers/issue-848/an-include.h)0
-rw-r--r--bindgen-tests/tests/headers/issue-888-enum-var-decl-jump.hpp (renamed from tests/headers/issue-888-enum-var-decl-jump.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-944-derive-copy-and-blocklisting.hpp (renamed from tests/headers/issue-944-derive-copy-and-blocklisting.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue-946.h (renamed from tests/headers/issue-946.h)0
-rw-r--r--bindgen-tests/tests/headers/issue_311.hpp (renamed from tests/headers/issue_311.hpp)0
-rw-r--r--bindgen-tests/tests/headers/issue_315.hpp (renamed from tests/headers/issue_315.hpp)0
-rw-r--r--bindgen-tests/tests/headers/jsval_layout_opaque.hpp (renamed from tests/headers/jsval_layout_opaque.hpp)0
-rw-r--r--bindgen-tests/tests/headers/jsval_layout_opaque_1_0.hpp (renamed from tests/headers/jsval_layout_opaque_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/keywords.h (renamed from tests/headers/keywords.h)0
-rw-r--r--bindgen-tests/tests/headers/layout.h (renamed from tests/headers/layout.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_align.h (renamed from tests/headers/layout_align.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_arp.h (renamed from tests/headers/layout_arp.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_array.h (renamed from tests/headers/layout_array.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_array_too_long.h (renamed from tests/headers/layout_array_too_long.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_cmdline_token.h (renamed from tests/headers/layout_cmdline_token.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_eth_conf.h (renamed from tests/headers/layout_eth_conf.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_eth_conf_1_0.h (renamed from tests/headers/layout_eth_conf_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_kni_mbuf.h (renamed from tests/headers/layout_kni_mbuf.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_large_align_field.h (renamed from tests/headers/layout_large_align_field.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_mbuf.h (renamed from tests/headers/layout_mbuf.h)0
-rw-r--r--bindgen-tests/tests/headers/layout_mbuf_1_0.h (renamed from tests/headers/layout_mbuf_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/long_double.h (renamed from tests/headers/long_double.h)0
-rw-r--r--bindgen-tests/tests/headers/macro-expr-basic.h (renamed from tests/headers/macro-expr-basic.h)0
-rw-r--r--bindgen-tests/tests/headers/macro-expr-uncommon-token.h (renamed from tests/headers/macro-expr-uncommon-token.h)0
-rw-r--r--bindgen-tests/tests/headers/macro-redef.h (renamed from tests/headers/macro-redef.h)0
-rw-r--r--bindgen-tests/tests/headers/macro_const.h (renamed from tests/headers/macro_const.h)0
-rw-r--r--bindgen-tests/tests/headers/macro_const_1_0.h (renamed from tests/headers/macro_const_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/maddness-is-avoidable.hpp (renamed from tests/headers/maddness-is-avoidable.hpp)0
-rw-r--r--bindgen-tests/tests/headers/mangling-ios.h (renamed from tests/headers/mangling-ios.h)0
-rw-r--r--bindgen-tests/tests/headers/mangling-linux32.hpp (renamed from tests/headers/mangling-linux32.hpp)0
-rw-r--r--bindgen-tests/tests/headers/mangling-linux64.hpp (renamed from tests/headers/mangling-linux64.hpp)0
-rw-r--r--bindgen-tests/tests/headers/mangling-macos.hpp (renamed from tests/headers/mangling-macos.hpp)0
-rw-r--r--bindgen-tests/tests/headers/mangling-win32.hpp (renamed from tests/headers/mangling-win32.hpp)0
-rw-r--r--bindgen-tests/tests/headers/mangling-win64.hpp (renamed from tests/headers/mangling-win64.hpp)0
-rw-r--r--bindgen-tests/tests/headers/merge-extern-blocks.h6
-rw-r--r--bindgen-tests/tests/headers/method-mangling.hpp (renamed from tests/headers/method-mangling.hpp)0
-rw-r--r--bindgen-tests/tests/headers/module-allowlisted.hpp (renamed from tests/headers/module-allowlisted.hpp)0
-rw-r--r--bindgen-tests/tests/headers/msvc-no-usr.hpp (renamed from tests/headers/msvc-no-usr.hpp)0
-rw-r--r--bindgen-tests/tests/headers/multiple-inherit-empty-correct-layout.hpp (renamed from tests/headers/multiple-inherit-empty-correct-layout.hpp)0
-rw-r--r--bindgen-tests/tests/headers/mutable.hpp (renamed from tests/headers/mutable.hpp)0
-rw-r--r--bindgen-tests/tests/headers/namespace.hpp (renamed from tests/headers/namespace.hpp)0
-rw-r--r--bindgen-tests/tests/headers/namespace/nsbegin.h (renamed from tests/headers/namespace/nsbegin.h)0
-rw-r--r--bindgen-tests/tests/headers/namespace/nsend.h (renamed from tests/headers/namespace/nsend.h)0
-rw-r--r--bindgen-tests/tests/headers/nested-template-typedef.hpp (renamed from tests/headers/nested-template-typedef.hpp)0
-rw-r--r--bindgen-tests/tests/headers/nested.hpp (renamed from tests/headers/nested.hpp)0
-rw-r--r--bindgen-tests/tests/headers/nested_vtable.hpp (renamed from tests/headers/nested_vtable.hpp)0
-rw-r--r--bindgen-tests/tests/headers/nested_within_namespace.hpp (renamed from tests/headers/nested_within_namespace.hpp)0
-rw-r--r--bindgen-tests/tests/headers/newtype-enum.hpp (renamed from tests/headers/newtype-enum.hpp)0
-rw-r--r--bindgen-tests/tests/headers/newtype-global-enum.hpp8
-rw-r--r--bindgen-tests/tests/headers/no-comments.h (renamed from tests/headers/no-comments.h)0
-rw-r--r--bindgen-tests/tests/headers/no-derive-debug.h (renamed from tests/headers/no-derive-debug.h)0
-rw-r--r--bindgen-tests/tests/headers/no-derive-default.h (renamed from tests/headers/no-derive-default.h)0
-rw-r--r--bindgen-tests/tests/headers/no-hash-allowlisted.hpp (renamed from tests/headers/no-hash-allowlisted.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no-hash-opaque.hpp (renamed from tests/headers/no-hash-opaque.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no-partialeq-allowlisted.hpp (renamed from tests/headers/no-partialeq-allowlisted.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no-partialeq-opaque.hpp (renamed from tests/headers/no-partialeq-opaque.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no-recursive-allowlisting.h (renamed from tests/headers/no-recursive-allowlisting.h)0
-rw-r--r--bindgen-tests/tests/headers/no-std.h (renamed from tests/headers/no-std.h)0
-rw-r--r--bindgen-tests/tests/headers/no_copy.hpp (renamed from tests/headers/no_copy.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_copy_allowlisted.hpp (renamed from tests/headers/no_copy_allowlisted.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_copy_opaque.hpp (renamed from tests/headers/no_copy_opaque.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_debug.hpp (renamed from tests/headers/no_debug.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_debug_allowlisted.hpp (renamed from tests/headers/no_debug_allowlisted.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_debug_bypass_impl_debug.hpp (renamed from tests/headers/no_debug_bypass_impl_debug.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_debug_opaque.hpp (renamed from tests/headers/no_debug_opaque.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_default.hpp (renamed from tests/headers/no_default.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_default_allowlisted.hpp (renamed from tests/headers/no_default_allowlisted.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_default_bypass_derive_default.hpp (renamed from tests/headers/no_default_bypass_derive_default.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_default_opaque.hpp (renamed from tests/headers/no_default_opaque.hpp)0
-rw-r--r--bindgen-tests/tests/headers/no_size_t_is_usize.h (renamed from tests/headers/size_t_is_usize.h)2
-rw-r--r--bindgen-tests/tests/headers/non-type-params.hpp (renamed from tests/headers/non-type-params.hpp)0
-rw-r--r--bindgen-tests/tests/headers/noreturn.hpp4
-rw-r--r--bindgen-tests/tests/headers/nsBaseHashtable.hpp (renamed from tests/headers/nsBaseHashtable.hpp)0
-rw-r--r--bindgen-tests/tests/headers/nsStyleAutoArray.hpp (renamed from tests/headers/nsStyleAutoArray.hpp)0
-rw-r--r--bindgen-tests/tests/headers/objc_allowlist.h (renamed from tests/headers/objc_allowlist.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_blocklist.h9
-rw-r--r--bindgen-tests/tests/headers/objc_category.h (renamed from tests/headers/objc_category.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_class.h (renamed from tests/headers/objc_class.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_class_method.h (renamed from tests/headers/objc_class_method.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_inheritance.h (renamed from tests/headers/objc_inheritance.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_interface.h (renamed from tests/headers/objc_interface.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_interface_type.h (renamed from tests/headers/objc_interface_type.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_method.h (renamed from tests/headers/objc_method.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_method_clash.h (renamed from tests/headers/objc_method_clash.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_pointer_return_types.h (renamed from tests/headers/objc_pointer_return_types.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_property_fnptr.h (renamed from tests/headers/objc_property_fnptr.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_protocol.h (renamed from tests/headers/objc_protocol.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_protocol_inheritance.h (renamed from tests/headers/objc_protocol_inheritance.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_sel_and_id.h (renamed from tests/headers/objc_sel_and_id.h)0
-rw-r--r--bindgen-tests/tests/headers/objc_template.h (renamed from tests/headers/objc_template.h)0
-rw-r--r--bindgen-tests/tests/headers/only_bitfields.hpp (renamed from tests/headers/only_bitfields.hpp)0
-rw-r--r--bindgen-tests/tests/headers/opaque-template-inst-member-2.hpp (renamed from tests/headers/opaque-template-inst-member-2.hpp)0
-rw-r--r--bindgen-tests/tests/headers/opaque-template-inst-member.hpp (renamed from tests/headers/opaque-template-inst-member.hpp)0
-rw-r--r--bindgen-tests/tests/headers/opaque-template-instantiation-namespaced.hpp (renamed from tests/headers/opaque-template-instantiation-namespaced.hpp)0
-rw-r--r--bindgen-tests/tests/headers/opaque-template-instantiation.hpp (renamed from tests/headers/opaque-template-instantiation.hpp)0
-rw-r--r--bindgen-tests/tests/headers/opaque-tracing.hpp (renamed from tests/headers/opaque-tracing.hpp)0
-rw-r--r--bindgen-tests/tests/headers/opaque_in_struct.hpp (renamed from tests/headers/opaque_in_struct.hpp)0
-rw-r--r--bindgen-tests/tests/headers/opaque_pointer.hpp (renamed from tests/headers/opaque_pointer.hpp)0
-rw-r--r--bindgen-tests/tests/headers/opaque_typedef.hpp (renamed from tests/headers/opaque_typedef.hpp)0
-rw-r--r--bindgen-tests/tests/headers/operator.hpp (renamed from tests/headers/operator.hpp)0
-rw-r--r--bindgen-tests/tests/headers/ord-enum.h (renamed from tests/headers/ord-enum.h)0
-rw-r--r--bindgen-tests/tests/headers/overflowed_enum.hpp (renamed from tests/headers/overflowed_enum.hpp)0
-rw-r--r--bindgen-tests/tests/headers/overloading.hpp (renamed from tests/headers/overloading.hpp)0
-rw-r--r--bindgen-tests/tests/headers/packed-bitfield.h (renamed from tests/headers/packed-bitfield.h)0
-rw-r--r--bindgen-tests/tests/headers/packed-n-with-padding.h (renamed from tests/headers/packed-n-with-padding.h)0
-rw-r--r--bindgen-tests/tests/headers/packed-vtable.h (renamed from tests/headers/packed-vtable.h)0
-rw-r--r--bindgen-tests/tests/headers/parm-union.hpp (renamed from tests/headers/parm-union.hpp)0
-rw-r--r--bindgen-tests/tests/headers/parsecb-anonymous-enum-variant-rename.h (renamed from tests/headers/parsecb-anonymous-enum-variant-rename.h)0
-rw-r--r--bindgen-tests/tests/headers/partial-specialization-and-inheritance.hpp (renamed from tests/headers/partial-specialization-and-inheritance.hpp)0
-rw-r--r--bindgen-tests/tests/headers/pointer-attr.h (renamed from tests/headers/pointer-attr.h)0
-rw-r--r--bindgen-tests/tests/headers/prepend-enum-constified-variant.h (renamed from tests/headers/prepend-enum-constified-variant.h)0
-rw-r--r--bindgen-tests/tests/headers/prepend_enum_name.hpp (renamed from tests/headers/prepend_enum_name.hpp)0
-rw-r--r--bindgen-tests/tests/headers/private.hpp (renamed from tests/headers/private.hpp)0
-rw-r--r--bindgen-tests/tests/headers/private_fields.hpp (renamed from tests/headers/private_fields.hpp)0
-rw-r--r--bindgen-tests/tests/headers/public-dtor.hpp (renamed from tests/headers/public-dtor.hpp)0
-rw-r--r--bindgen-tests/tests/headers/qualified-dependent-types.hpp (renamed from tests/headers/qualified-dependent-types.hpp)0
-rw-r--r--bindgen-tests/tests/headers/redeclaration.hpp (renamed from tests/headers/redeclaration.hpp)0
-rw-r--r--bindgen-tests/tests/headers/ref_argument_array.hpp (renamed from tests/headers/ref_argument_array.hpp)0
-rw-r--r--bindgen-tests/tests/headers/reparented_replacement.hpp (renamed from tests/headers/reparented_replacement.hpp)0
-rw-r--r--bindgen-tests/tests/headers/replace_template_alias.hpp (renamed from tests/headers/replace_template_alias.hpp)0
-rw-r--r--bindgen-tests/tests/headers/replace_use.hpp (renamed from tests/headers/replace_use.hpp)0
-rw-r--r--bindgen-tests/tests/headers/replaces_double.hpp (renamed from tests/headers/replaces_double.hpp)0
-rw-r--r--bindgen-tests/tests/headers/repr-align.hpp (renamed from tests/headers/repr-align.hpp)0
-rw-r--r--bindgen-tests/tests/headers/resolved_type_def_function.h (renamed from tests/headers/resolved_type_def_function.h)0
-rw-r--r--bindgen-tests/tests/headers/same_struct_name_in_different_namespaces.hpp (renamed from tests/headers/same_struct_name_in_different_namespaces.hpp)0
-rw-r--r--bindgen-tests/tests/headers/sentry-defined-multiple-times.hpp (renamed from tests/headers/sentry-defined-multiple-times.hpp)0
-rw-r--r--bindgen-tests/tests/headers/short-enums.hpp (renamed from tests/headers/short-enums.hpp)0
-rw-r--r--bindgen-tests/tests/headers/size_t_template.hpp (renamed from tests/headers/size_t_template.hpp)0
-rw-r--r--bindgen-tests/tests/headers/sorted-items.h (renamed from tests/headers/sorted-items.h)0
-rw-r--r--bindgen-tests/tests/headers/stdint_typedef.h10
-rw-r--r--bindgen-tests/tests/headers/struct_containing_forward_declared_struct.h (renamed from tests/headers/struct_containing_forward_declared_struct.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_typedef.h (renamed from tests/headers/struct_typedef.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_typedef_ns.hpp (renamed from tests/headers/struct_typedef_ns.hpp)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_anon_struct.h (renamed from tests/headers/struct_with_anon_struct.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_anon_struct_array.h (renamed from tests/headers/struct_with_anon_struct_array.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_anon_struct_pointer.h (renamed from tests/headers/struct_with_anon_struct_pointer.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_anon_union.h (renamed from tests/headers/struct_with_anon_union.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_anon_union_1_0.h (renamed from tests/headers/struct_with_anon_union_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_anon_unnamed_struct.h (renamed from tests/headers/struct_with_anon_unnamed_struct.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_anon_unnamed_union.h (renamed from tests/headers/struct_with_anon_unnamed_union.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_anon_unnamed_union_1_0.h (renamed from tests/headers/struct_with_anon_unnamed_union_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_bitfields.h (renamed from tests/headers/struct_with_bitfields.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_derive_debug.h (renamed from tests/headers/struct_with_derive_debug.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_large_array.hpp (renamed from tests/headers/struct_with_large_array.hpp)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_nesting.h (renamed from tests/headers/struct_with_nesting.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_nesting_1_0.h (renamed from tests/headers/struct_with_nesting_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_packing.h (renamed from tests/headers/struct_with_packing.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_struct.h (renamed from tests/headers/struct_with_struct.h)0
-rw-r--r--bindgen-tests/tests/headers/struct_with_typedef_template_arg.hpp (renamed from tests/headers/struct_with_typedef_template_arg.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-fun-ty.hpp (renamed from tests/headers/template-fun-ty.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-0.hpp (renamed from tests/headers/template-param-usage-0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-1.hpp (renamed from tests/headers/template-param-usage-1.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-10.hpp (renamed from tests/headers/template-param-usage-10.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-11.hpp (renamed from tests/headers/template-param-usage-11.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-12.hpp (renamed from tests/headers/template-param-usage-12.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-13.hpp (renamed from tests/headers/template-param-usage-13.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-14.hpp (renamed from tests/headers/template-param-usage-14.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-15.hpp (renamed from tests/headers/template-param-usage-15.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-2.hpp (renamed from tests/headers/template-param-usage-2.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-3.hpp (renamed from tests/headers/template-param-usage-3.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-4.hpp (renamed from tests/headers/template-param-usage-4.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-5.hpp (renamed from tests/headers/template-param-usage-5.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-6.hpp (renamed from tests/headers/template-param-usage-6.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-7.hpp (renamed from tests/headers/template-param-usage-7.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-8.hpp (renamed from tests/headers/template-param-usage-8.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-param-usage-9.hpp (renamed from tests/headers/template-param-usage-9.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template-with-var.hpp (renamed from tests/headers/template-with-var.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template.hpp (renamed from tests/headers/template.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template_alias.hpp (renamed from tests/headers/template_alias.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template_alias_basic.hpp (renamed from tests/headers/template_alias_basic.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template_alias_namespace.hpp (renamed from tests/headers/template_alias_namespace.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template_fun.hpp (renamed from tests/headers/template_fun.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template_instantiation_with_fn_local_type.hpp (renamed from tests/headers/template_instantiation_with_fn_local_type.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template_partial_specification.hpp (renamed from tests/headers/template_partial_specification.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template_typedef_transitive_param.hpp (renamed from tests/headers/template_typedef_transitive_param.hpp)0
-rw-r--r--bindgen-tests/tests/headers/template_typedefs.hpp (renamed from tests/headers/template_typedefs.hpp)0
-rw-r--r--bindgen-tests/tests/headers/templateref_opaque.hpp (renamed from tests/headers/templateref_opaque.hpp)0
-rw-r--r--bindgen-tests/tests/headers/templatized-bitfield.hpp (renamed from tests/headers/templatized-bitfield.hpp)0
-rw-r--r--bindgen-tests/tests/headers/timex.h (renamed from tests/headers/timex.h)0
-rw-r--r--bindgen-tests/tests/headers/transform-op.hpp (renamed from tests/headers/transform-op.hpp)0
-rw-r--r--bindgen-tests/tests/headers/type-referenced-by-allowlisted-function.h (renamed from tests/headers/type-referenced-by-allowlisted-function.h)0
-rw-r--r--bindgen-tests/tests/headers/type_alias_empty.hpp (renamed from tests/headers/type_alias_empty.hpp)0
-rw-r--r--bindgen-tests/tests/headers/type_alias_partial_template_especialization.hpp (renamed from tests/headers/type_alias_partial_template_especialization.hpp)0
-rw-r--r--bindgen-tests/tests/headers/type_alias_template_specialized.hpp (renamed from tests/headers/type_alias_template_specialized.hpp)0
-rw-r--r--bindgen-tests/tests/headers/typedefd-array-as-function-arg.h (renamed from tests/headers/typedefd-array-as-function-arg.h)0
-rw-r--r--bindgen-tests/tests/headers/typeref.hpp (renamed from tests/headers/typeref.hpp)0
-rw-r--r--bindgen-tests/tests/headers/typeref_1_0.hpp (renamed from tests/headers/typeref_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/underscore.hpp (renamed from tests/headers/underscore.hpp)0
-rw-r--r--bindgen-tests/tests/headers/union-align.h (renamed from tests/headers/union-align.h)0
-rw-r--r--bindgen-tests/tests/headers/union-in-ns.hpp (renamed from tests/headers/union-in-ns.hpp)0
-rw-r--r--bindgen-tests/tests/headers/union-in-ns_1_0.hpp (renamed from tests/headers/union-in-ns_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/union_bitfield.h (renamed from tests/headers/union_bitfield.h)0
-rw-r--r--bindgen-tests/tests/headers/union_bitfield_1_0.h (renamed from tests/headers/union_bitfield_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/union_dtor.hpp (renamed from tests/headers/union_dtor.hpp)0
-rw-r--r--bindgen-tests/tests/headers/union_dtor_1_0.hpp (renamed from tests/headers/union_dtor_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/union_fields.hpp (renamed from tests/headers/union_fields.hpp)0
-rw-r--r--bindgen-tests/tests/headers/union_fields_1_0.hpp (renamed from tests/headers/union_fields_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/union_template.hpp (renamed from tests/headers/union_template.hpp)0
-rw-r--r--bindgen-tests/tests/headers/union_template_1_0.hpp (renamed from tests/headers/union_template_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_struct.h (renamed from tests/headers/union_with_anon_struct.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_struct_1_0.h (renamed from tests/headers/union_with_anon_struct_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_struct_bitfield.h (renamed from tests/headers/union_with_anon_struct_bitfield.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_struct_bitfield_1_0.h (renamed from tests/headers/union_with_anon_struct_bitfield_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_union.h (renamed from tests/headers/union_with_anon_union.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_union_1_0.h (renamed from tests/headers/union_with_anon_union_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_unnamed_struct.h (renamed from tests/headers/union_with_anon_unnamed_struct.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_unnamed_struct_1_0.h (renamed from tests/headers/union_with_anon_unnamed_struct_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_unnamed_union.h (renamed from tests/headers/union_with_anon_unnamed_union.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_anon_unnamed_union_1_0.h (renamed from tests/headers/union_with_anon_unnamed_union_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_big_member.h (renamed from tests/headers/union_with_big_member.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_big_member_1_0.h (renamed from tests/headers/union_with_big_member_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_nesting.h (renamed from tests/headers/union_with_nesting.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_nesting_1_0.h (renamed from tests/headers/union_with_nesting_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/union_with_non_copy_member.h20
-rw-r--r--bindgen-tests/tests/headers/unknown_attr.h (renamed from tests/headers/unknown_attr.h)0
-rw-r--r--bindgen-tests/tests/headers/unsorted-items.h (renamed from tests/headers/unsorted-items.h)0
-rw-r--r--bindgen-tests/tests/headers/use-core.h (renamed from tests/headers/use-core.h)0
-rw-r--r--bindgen-tests/tests/headers/use-core_1_0.h (renamed from tests/headers/use-core_1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/using.hpp (renamed from tests/headers/using.hpp)0
-rw-r--r--bindgen-tests/tests/headers/var-tracing.hpp (renamed from tests/headers/var-tracing.hpp)0
-rw-r--r--bindgen-tests/tests/headers/variadic-method.hpp (renamed from tests/headers/variadic-method.hpp)0
-rw-r--r--bindgen-tests/tests/headers/variadic_template_function.hpp (renamed from tests/headers/variadic_template_function.hpp)0
-rw-r--r--bindgen-tests/tests/headers/vector.hpp (renamed from tests/headers/vector.hpp)0
-rw-r--r--bindgen-tests/tests/headers/virtual_dtor.hpp (renamed from tests/headers/virtual_dtor.hpp)0
-rw-r--r--bindgen-tests/tests/headers/virtual_inheritance.hpp (renamed from tests/headers/virtual_inheritance.hpp)0
-rw-r--r--bindgen-tests/tests/headers/virtual_interface.hpp (renamed from tests/headers/virtual_interface.hpp)0
-rw-r--r--bindgen-tests/tests/headers/virtual_overloaded.hpp (renamed from tests/headers/virtual_overloaded.hpp)0
-rw-r--r--bindgen-tests/tests/headers/vtable_recursive_sig.hpp (renamed from tests/headers/vtable_recursive_sig.hpp)0
-rw-r--r--bindgen-tests/tests/headers/wasm-constructor-returns.hpp (renamed from tests/headers/wasm-constructor-returns.hpp)0
-rw-r--r--bindgen-tests/tests/headers/wasm-import-module.h (renamed from tests/headers/wasm-import-module.h)0
-rw-r--r--bindgen-tests/tests/headers/weird_bitfields.hpp (renamed from tests/headers/weird_bitfields.hpp)0
-rw-r--r--bindgen-tests/tests/headers/what_is_going_on.hpp (renamed from tests/headers/what_is_going_on.hpp)0
-rw-r--r--bindgen-tests/tests/headers/win32-thiscall_1_0.hpp (renamed from tests/headers/win32-thiscall_1_0.hpp)0
-rw-r--r--bindgen-tests/tests/headers/win32-thiscall_nightly.hpp (renamed from tests/headers/win32-thiscall_nightly.hpp)0
-rw-r--r--bindgen-tests/tests/headers/win32-vectorcall-1_0.h (renamed from tests/headers/win32-vectorcall-1_0.h)0
-rw-r--r--bindgen-tests/tests/headers/win32-vectorcall-nightly.h (renamed from tests/headers/win32-vectorcall-nightly.h)0
-rw-r--r--bindgen-tests/tests/headers/with_array_pointers_arguments.h (renamed from tests/headers/with_array_pointers_arguments.h)0
-rw-r--r--bindgen-tests/tests/headers/without_array_pointers_arguments.h (renamed from tests/headers/without_array_pointers_arguments.h)0
-rw-r--r--bindgen-tests/tests/headers/zero-size-array-align.h (renamed from tests/headers/zero-size-array-align.h)0
-rw-r--r--bindgen-tests/tests/headers/zero-sized-array.hpp (renamed from tests/headers/zero-sized-array.hpp)0
-rw-r--r--bindgen-tests/tests/parse_callbacks/mod.rs (renamed from tests/parse_callbacks/mod.rs)0
-rw-r--r--bindgen-tests/tests/quickchecking/.gitignore (renamed from tests/quickchecking/.gitignore)0
-rw-r--r--bindgen-tests/tests/quickchecking/Cargo.toml (renamed from tests/quickchecking/Cargo.toml)4
-rw-r--r--bindgen-tests/tests/quickchecking/README.md (renamed from tests/quickchecking/README.md)0
-rw-r--r--bindgen-tests/tests/quickchecking/src/bin.rs (renamed from tests/quickchecking/src/bin.rs)6
-rw-r--r--bindgen-tests/tests/quickchecking/src/fuzzers.rs (renamed from tests/quickchecking/src/fuzzers.rs)22
-rw-r--r--bindgen-tests/tests/quickchecking/src/lib.rs (renamed from tests/quickchecking/src/lib.rs)23
-rw-r--r--bindgen-tests/tests/quickchecking/tests/fuzzed-c-headers.rs (renamed from tests/quickchecking/tests/fuzzed-c-headers.rs)11
-rw-r--r--bindgen-tests/tests/rustfmt.toml (renamed from tests/rustfmt.toml)0
-rw-r--r--bindgen-tests/tests/stylo.hpp (renamed from tests/stylo.hpp)0
-rwxr-xr-xbindgen-tests/tests/stylo_sanity.rs (renamed from tests/stylo_sanity.rs)0
-rwxr-xr-xbindgen-tests/tests/test-one.sh (renamed from tests/test-one.sh)0
-rw-r--r--bindgen-tests/tests/tests.rs (renamed from tests/tests.rs)47
-rw-r--r--bindgen-tests/tests/uses/.gitignore (renamed from tests/uses/.gitignore)0
-rw-r--r--bindgen/Cargo.toml69
-rw-r--r--bindgen/build.rs29
-rw-r--r--bindgen/callbacks.rs (renamed from src/callbacks.rs)0
-rw-r--r--bindgen/clang.rs (renamed from src/clang.rs)86
-rw-r--r--bindgen/codegen/bitfield_unit.rs (renamed from src/codegen/bitfield_unit.rs)0
-rw-r--r--bindgen/codegen/bitfield_unit_tests.rs (renamed from src/codegen/bitfield_unit_tests.rs)0
-rw-r--r--bindgen/codegen/dyngen.rs (renamed from src/codegen/dyngen.rs)0
-rw-r--r--bindgen/codegen/error.rs (renamed from src/codegen/error.rs)0
-rw-r--r--bindgen/codegen/helpers.rs (renamed from src/codegen/helpers.rs)16
-rw-r--r--bindgen/codegen/impl_debug.rs (renamed from src/codegen/impl_debug.rs)0
-rw-r--r--bindgen/codegen/impl_partialeq.rs (renamed from src/codegen/impl_partialeq.rs)0
-rw-r--r--bindgen/codegen/mod.rs (renamed from src/codegen/mod.rs)216
-rw-r--r--bindgen/codegen/postprocessing/merge_extern_blocks.rs46
-rw-r--r--bindgen/codegen/postprocessing/mod.rs66
-rw-r--r--bindgen/codegen/postprocessing/sort_semantically.rs24
-rw-r--r--bindgen/codegen/struct_layout.rs (renamed from src/codegen/struct_layout.rs)10
-rw-r--r--bindgen/csmith-fuzzing/README.md (renamed from csmith-fuzzing/README.md)0
-rw-r--r--bindgen/csmith-fuzzing/csmith.h (renamed from csmith-fuzzing/csmith.h)0
-rwxr-xr-xbindgen/csmith-fuzzing/driver.py (renamed from csmith-fuzzing/driver.py)0
-rwxr-xr-xbindgen/csmith-fuzzing/predicate.py (renamed from csmith-fuzzing/predicate.py)0
-rw-r--r--bindgen/deps.rs (renamed from src/deps.rs)2
-rw-r--r--bindgen/extra_assertions.rs (renamed from src/extra_assertions.rs)0
-rw-r--r--bindgen/features.rs (renamed from src/features.rs)8
-rw-r--r--bindgen/ir/analysis/derive.rs (renamed from src/ir/analysis/derive.rs)0
-rw-r--r--bindgen/ir/analysis/has_destructor.rs (renamed from src/ir/analysis/has_destructor.rs)0
-rw-r--r--bindgen/ir/analysis/has_float.rs (renamed from src/ir/analysis/has_float.rs)0
-rw-r--r--bindgen/ir/analysis/has_type_param_in_array.rs (renamed from src/ir/analysis/has_type_param_in_array.rs)0
-rw-r--r--bindgen/ir/analysis/has_vtable.rs (renamed from src/ir/analysis/has_vtable.rs)0
-rw-r--r--bindgen/ir/analysis/mod.rs (renamed from src/ir/analysis/mod.rs)0
-rw-r--r--bindgen/ir/analysis/sizedness.rs (renamed from src/ir/analysis/sizedness.rs)0
-rw-r--r--bindgen/ir/analysis/template_params.rs (renamed from src/ir/analysis/template_params.rs)0
-rw-r--r--bindgen/ir/annotations.rs (renamed from src/ir/annotations.rs)0
-rw-r--r--bindgen/ir/comment.rs (renamed from src/ir/comment.rs)0
-rw-r--r--bindgen/ir/comp.rs (renamed from src/ir/comp.rs)35
-rw-r--r--bindgen/ir/context.rs (renamed from src/ir/context.rs)112
-rw-r--r--bindgen/ir/derive.rs (renamed from src/ir/derive.rs)0
-rw-r--r--bindgen/ir/dot.rs (renamed from src/ir/dot.rs)0
-rw-r--r--bindgen/ir/enum_ty.rs (renamed from src/ir/enum_ty.rs)21
-rw-r--r--bindgen/ir/function.rs (renamed from src/ir/function.rs)37
-rw-r--r--bindgen/ir/int.rs (renamed from src/ir/int.rs)0
-rw-r--r--bindgen/ir/item.rs (renamed from src/ir/item.rs)0
-rw-r--r--bindgen/ir/item_kind.rs (renamed from src/ir/item_kind.rs)0
-rw-r--r--bindgen/ir/layout.rs (renamed from src/ir/layout.rs)0
-rw-r--r--bindgen/ir/mod.rs (renamed from src/ir/mod.rs)0
-rw-r--r--bindgen/ir/module.rs (renamed from src/ir/module.rs)0
-rw-r--r--bindgen/ir/objc.rs (renamed from src/ir/objc.rs)0
-rw-r--r--bindgen/ir/template.rs (renamed from src/ir/template.rs)0
-rw-r--r--bindgen/ir/traversal.rs (renamed from src/ir/traversal.rs)0
-rw-r--r--bindgen/ir/ty.rs (renamed from src/ir/ty.rs)7
-rw-r--r--bindgen/ir/var.rs (renamed from src/ir/var.rs)10
-rw-r--r--bindgen/lib.rs (renamed from src/lib.rs)212
-rw-r--r--bindgen/log_stubs.rs (renamed from src/log_stubs.rs)0
-rw-r--r--bindgen/parse.rs (renamed from src/parse.rs)0
-rw-r--r--bindgen/regex_set.rs (renamed from src/regex_set.rs)2
-rw-r--r--bindgen/time.rs (renamed from src/time.rs)0
-rw-r--r--book/src/command-line-usage.md2
-rw-r--r--book/src/objc.md2
-rw-r--r--build.rs90
-rwxr-xr-xci/no-includes.sh2
-rwxr-xr-xci/test.sh4
1224 files changed, 2039 insertions, 583 deletions
diff --git a/.github/workflows/bindgen.yml b/.github/workflows/bindgen.yml
index 6adbb5da..94a338bf 100644
--- a/.github/workflows/bindgen.yml
+++ b/.github/workflows/bindgen.yml
@@ -68,7 +68,7 @@ jobs:
# TODO: Actually run quickchecks once `bindgen` is reliable enough.
- name: Build quickcheck tests
- run: cd tests/quickchecking && cargo test
+ run: cd bindgen-tests/tests/quickchecking && cargo test
test-expectations:
runs-on: ${{matrix.os}}
@@ -88,7 +88,7 @@ jobs:
override: true
- name: Test expectations
- run: cd tests/expectations && cargo test
+ run: cd bindgen-tests/tests/expectations && cargo test
test:
runs-on: ${{matrix.os}}
diff --git a/.gitignore b/.gitignore
index f5c3381c..a924030c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,8 @@
target/
*~
bindgen-integration/Cargo.lock
-tests/expectations/Cargo.lock
+bindgen-tests/tests/expectations/Cargo.lock
+bindgen-tests/tests/quickchecking/Cargo.lock
#*#
# Test script output
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3fe7539f..48e4a402 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -318,7 +318,19 @@ parameters a given type uses. The analyses are defined in
The final phase is generating Rust source text from the analyzed IR, and it is
defined in `src/codegen/*`. We use the `quote` crate, which provides the `quote!
-{ ... }` macro for quasi-quoting Rust forms.
+{ ... }` macro for quasi-quoting Rust forms. Some options that affect the
+generated Rust code are implemented using the [`syn`](https://docs.rs/syn) crate.
+
+### Implementing new options using `syn`
+
+If a new option can be implemented using the `syn` crate it should be added to
+the `codegen::postprocessing` module by following these steps:
+
+- Introduce a new field to `BindgenOptions` for the option.
+- Write a free function inside `codegen::postprocessing` implementing the
+ option. This function with the same name of the `BindgenOptions` field.
+- Add a new value to the `codegen::postprocessing::PASSES` for the option using
+ the `pass!` macro.
## Pull Requests and Code Reviews
diff --git a/Cargo.lock b/Cargo.lock
index fa908ea9..b9deb405 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4,11 +4,29 @@ version = 3
[[package]]
name = "aho-corasick"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66"
+dependencies = [
+ "memchr 0.1.11",
+]
+
+[[package]]
+name = "aho-corasick"
version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
dependencies = [
- "memchr",
+ "memchr 2.5.0",
+]
+
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi 0.3.9",
]
[[package]]
@@ -19,7 +37,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi",
"libc",
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -35,30 +53,68 @@ dependencies = [
"bitflags",
"cexpr",
"clang-sys",
- "clap",
- "diff",
- "env_logger",
"lazy_static",
"lazycell",
- "log",
+ "log 0.4.14",
"peeking_take_while",
"proc-macro2",
"quote",
- "regex",
+ "regex 1.5.5",
"rustc-hash",
"shlex",
"syn",
- "tempfile",
"which",
]
[[package]]
+name = "bindgen-cli"
+version = "0.60.1"
+dependencies = [
+ "bindgen",
+ "clap 3.2.12",
+ "env_logger 0.9.0",
+ "log 0.4.14",
+ "shlex",
+]
+
+[[package]]
+name = "bindgen-integration"
+version = "0.1.0"
+dependencies = [
+ "bindgen",
+ "cc",
+]
+
+[[package]]
+name = "bindgen-tests"
+version = "0.1.0"
+dependencies = [
+ "bindgen",
+ "clap 3.2.12",
+ "diff",
+ "shlex",
+ "tempfile",
+]
+
+[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
+name = "block"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
+
+[[package]]
+name = "cc"
+version = "1.0.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+
+[[package]]
name = "cexpr"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -81,7 +137,22 @@ checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b"
dependencies = [
"glob",
"libc",
- "libloading",
+ "libloading 0.7.0",
+]
+
+[[package]]
+name = "clap"
+version = "2.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+dependencies = [
+ "ansi_term",
+ "atty",
+ "bitflags",
+ "strsim 0.8.0",
+ "textwrap 0.11.0",
+ "unicode-width",
+ "vec_map",
]
[[package]]
@@ -94,9 +165,9 @@ dependencies = [
"bitflags",
"clap_lex",
"indexmap",
- "strsim",
+ "strsim 0.10.0",
"termcolor",
- "textwrap",
+ "textwrap 0.15.0",
]
[[package]]
@@ -122,18 +193,34 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
[[package]]
name = "env_logger"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15abd780e45b3ea4f76b4e9a26ff4843258dd8a3eed2775a0e7368c2e7936c2f"
+dependencies = [
+ "log 0.3.9",
+ "regex 0.1.80",
+]
+
+[[package]]
+name = "env_logger"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
dependencies = [
"atty",
"humantime",
- "log",
- "regex",
+ "log 0.4.14",
+ "regex 1.5.5",
"termcolor",
]
[[package]]
+name = "fuchsia-cprng"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+
+[[package]]
name = "getrandom"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -182,6 +269,16 @@ dependencies = [
]
[[package]]
+name = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
+[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -201,12 +298,31 @@ checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
[[package]]
name = "libloading"
+version = "0.6.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883"
+dependencies = [
+ "cfg-if",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "libloading"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a"
dependencies = [
"cfg-if",
- "winapi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "log"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
+dependencies = [
+ "log 0.4.14",
]
[[package]]
@@ -219,6 +335,24 @@ dependencies = [
]
[[package]]
+name = "malloc_buf"
+version = "0.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memchr"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20"
+dependencies = [
+ "libc",
+]
+
+[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -236,12 +370,21 @@ version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ffd9d26838a953b4af82cbeb9f1592c6798916983959be223a7124e992742c1"
dependencies = [
- "memchr",
+ "memchr 2.5.0",
"minimal-lexical",
"version_check",
]
[[package]]
+name = "objc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+dependencies = [
+ "malloc_buf",
+]
+
+[[package]]
name = "os_str_bytes"
version = "6.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -269,6 +412,28 @@ dependencies = [
]
[[package]]
+name = "quickcheck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02c2411d418cea2364325b18a205664f9ef8252e06b2e911db97c0b0d98b1406"
+dependencies = [
+ "env_logger 0.3.5",
+ "log 0.3.9",
+ "rand 0.3.23",
+]
+
+[[package]]
+name = "quickchecking"
+version = "0.1.0"
+dependencies = [
+ "clap 2.34.0",
+ "lazy_static",
+ "quickcheck",
+ "rand 0.3.23",
+ "tempdir",
+]
+
+[[package]]
name = "quote"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -279,13 +444,36 @@ dependencies = [
[[package]]
name = "rand"
+version = "0.3.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
+dependencies = [
+ "libc",
+ "rand 0.4.6",
+]
+
+[[package]]
+name = "rand"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
+dependencies = [
+ "fuchsia-cprng",
+ "libc",
+ "rand_core 0.3.1",
+ "rdrand",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "rand"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
dependencies = [
"libc",
"rand_chacha",
- "rand_core",
+ "rand_core 0.6.3",
"rand_hc",
]
@@ -296,11 +484,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
- "rand_core",
+ "rand_core 0.6.3",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+dependencies = [
+ "rand_core 0.4.2",
]
[[package]]
name = "rand_core"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+
+[[package]]
+name = "rand_core"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
@@ -314,7 +517,16 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
dependencies = [
- "rand_core",
+ "rand_core 0.6.3",
+]
+
+[[package]]
+name = "rdrand"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+dependencies = [
+ "rand_core 0.3.1",
]
[[package]]
@@ -328,17 +540,36 @@ dependencies = [
[[package]]
name = "regex"
+version = "0.1.80"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f"
+dependencies = [
+ "aho-corasick 0.5.3",
+ "memchr 0.1.11",
+ "regex-syntax 0.3.9",
+ "thread_local",
+ "utf8-ranges",
+]
+
+[[package]]
+name = "regex"
version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
+ "aho-corasick 0.7.18",
+ "memchr 2.5.0",
+ "regex-syntax 0.6.25",
]
[[package]]
name = "regex-syntax"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957"
+
+[[package]]
+name = "regex-syntax"
version = "0.6.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
@@ -349,7 +580,7 @@ version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
dependencies = [
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -366,6 +597,12 @@ checksum = "42a568c8f2cd051a4d283bd6eb0343ac214c1b0f1ac19f93e1175b2dee38c73d"
[[package]]
name = "strsim"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+
+[[package]]
+name = "strsim"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
@@ -382,6 +619,16 @@ dependencies = [
]
[[package]]
+name = "tempdir"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
+dependencies = [
+ "rand 0.4.6",
+ "remove_dir_all",
+]
+
+[[package]]
name = "tempfile"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -389,10 +636,10 @@ checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
dependencies = [
"cfg-if",
"libc",
- "rand",
+ "rand 0.8.4",
"redox_syscall",
"remove_dir_all",
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -405,18 +652,73 @@ dependencies = [
]
[[package]]
+name = "tests_expectations"
+version = "0.1.0"
+dependencies = [
+ "block",
+ "libloading 0.6.7",
+ "objc",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
name = "textwrap"
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
[[package]]
+name = "thread-id"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03"
+dependencies = [
+ "kernel32-sys",
+ "libc",
+]
+
+[[package]]
+name = "thread_local"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5"
+dependencies = [
+ "thread-id",
+]
+
+[[package]]
name = "unicode-ident"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "utf8-ranges"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f"
+
+[[package]]
+name = "vec_map"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+
+[[package]]
name = "version_check"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -441,6 +743,12 @@ dependencies = [
[[package]]
name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+[[package]]
+name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
@@ -450,6 +758,12 @@ dependencies = [
]
[[package]]
+name = "winapi-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -461,7 +775,7 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
dependencies = [
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index 311110b3..a9d9d41e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,88 +1,15 @@
-[package]
-authors = [
- "Jyun-Yan You <jyyou.tw@gmail.com>",
- "Emilio Cobos Álvarez <emilio@crisal.io>",
- "Nick Fitzgerald <fitzgen@gmail.com>",
- "The Servo project developers",
+[workspace]
+members = [
+ "bindgen",
+ "bindgen-cli",
+ "bindgen-integration",
+ "bindgen-tests",
+ "bindgen-tests/tests/quickchecking",
+ "bindgen-tests/tests/expectations",
]
-description = "Automatically generates Rust FFI bindings to C and C++ libraries."
-keywords = ["bindings", "ffi", "code-generation"]
-categories = ["external-ffi-bindings", "development-tools::ffi"]
-license = "BSD-3-Clause"
-name = "bindgen"
-readme = "README.md"
-repository = "https://github.com/rust-lang/rust-bindgen"
-documentation = "https://docs.rs/bindgen"
-homepage = "https://rust-lang.github.io/rust-bindgen/"
-version = "0.60.1"
-edition = "2018"
-build = "build.rs"
-# If you change this, also update README.md and msrv in .github/workflows/bindgen.yml
-rust-version = "1.57.0"
-include = [
- "LICENSE",
- "README.md",
- "Cargo.toml",
- "build.rs",
- "src/*.rs",
- "src/**/*.rs",
+default-members = [
+ "bindgen",
+ "bindgen-cli",
+ "bindgen-tests",
]
-
-[badges]
-travis-ci = { repository = "rust-lang/rust-bindgen" }
-
-[lib]
-path = "src/lib.rs"
-
-[[bin]]
-name = "bindgen"
-path = "src/main.rs"
-doc = false
-required-features = ["clap"]
-
-[dev-dependencies]
-diff = "0.1"
-clap = "3"
-shlex = "1"
-tempfile = "3"
-
-[dependencies]
-bitflags = "1.0.3"
-cexpr = "0.6"
-# This kinda sucks: https://github.com/rust-lang/cargo/issues/1982
-clap = { version = "3", optional = true }
-clang-sys = { version = "1", features = ["clang_6_0"] }
-lazycell = "1"
-lazy_static = "1"
-peeking_take_while = "0.1.2"
-quote = { version = "1", default-features = false }
-syn = { version = "1.0.99", features = ["full", "extra-traits"]}
-regex = { version = "1.5", default-features = false , features = ["std", "unicode"] }
-which = { version = "4.2.1", optional = true, default-features = false }
-shlex = "1"
-rustc-hash = "1.0.1"
-proc-macro2 = { version = "1", default-features = false }
-
-[dependencies.env_logger]
-optional = true
-version = "0.9.0"
-
-[dependencies.log]
-optional = true
-version = "0.4"
-
-[features]
-default = ["logging", "clap", "runtime", "which-rustfmt"]
-logging = ["env_logger", "log"]
-static = ["clang-sys/static"]
-runtime = ["clang-sys/runtime"]
-# Dynamically discover a `rustfmt` binary using the `which` crate
-which-rustfmt = ["which"]
-
-# These features only exist for CI testing -- don't use them if you're not hacking
-# on bindgen!
-testing_only_docs = []
-testing_only_extra_assertions = []
-testing_only_libclang_9 = []
-testing_only_libclang_5 = []
diff --git a/bindgen-cli/Cargo.toml b/bindgen-cli/Cargo.toml
new file mode 100644
index 00000000..3ebf4a3f
--- /dev/null
+++ b/bindgen-cli/Cargo.toml
@@ -0,0 +1,44 @@
+[package]
+authors = [
+ "The rust-bindgen project contributors",
+]
+description = "Automatically generates Rust FFI bindings to C and C++ libraries."
+keywords = ["bindings", "ffi", "code-generation"]
+categories = ["external-ffi-bindings", "development-tools::ffi"]
+license = "BSD-3-Clause"
+name = "bindgen-cli"
+readme = "README.md"
+repository = "https://github.com/rust-lang/rust-bindgen"
+documentation = "https://docs.rs/bindgen"
+homepage = "https://rust-lang.github.io/rust-bindgen/"
+version = "0.60.1"
+edition = "2018"
+# If you change this, also update README.md and msrv in .github/workflows/bindgen.yml
+rust-version = "1.57.0"
+
+include = [
+ "Cargo.toml",
+ "build.rs",
+]
+
+[[bin]]
+path = "main.rs"
+name = "bindgen"
+
+[badges]
+travis-ci = { repository = "rust-lang/rust-bindgen" }
+
+[dependencies]
+bindgen = { path = "../bindgen" }
+shlex = "1"
+clap = "3"
+env_logger = { version = "0.9.0", optional = true }
+log = { version = "0.4", optional = true }
+
+[features]
+default = ["logging", "runtime", "which-rustfmt"]
+logging = ["bindgen/logging", "env_logger", "log"]
+static = ["bindgen/static"]
+runtime = ["bindgen/runtime"]
+# Dynamically discover a `rustfmt` binary using the `which` crate
+which-rustfmt = ["bindgen/which-rustfmt"]
diff --git a/src/main.rs b/bindgen-cli/main.rs
index 50f3e714..a61f67ad 100644
--- a/src/main.rs
+++ b/bindgen-cli/main.rs
@@ -1,24 +1,19 @@
extern crate bindgen;
+extern crate clap;
#[cfg(feature = "logging")]
extern crate env_logger;
-#[macro_use]
#[cfg(feature = "logging")]
extern crate log;
-extern crate clap;
-use bindgen::clang_version;
use std::env;
use std::panic;
-#[macro_use]
-#[cfg(not(feature = "logging"))]
-mod log_stubs;
-
mod options;
use crate::options::builder_from_flags;
+#[cfg(feature = "logging")]
fn clang_version_check() {
- let version = clang_version();
+ let version = bindgen::clang_version();
let expected_version = if cfg!(feature = "testing_only_libclang_9") {
Some((9, 0))
} else if cfg!(feature = "testing_only_libclang_5") {
@@ -27,9 +22,10 @@ fn clang_version_check() {
None
};
- info!(
+ log::info!(
"Clang Version: {}, parsed: {:?}",
- version.full, version.parsed
+ version.full,
+ version.parsed
);
if expected_version.is_some() {
@@ -43,6 +39,7 @@ pub fn main() {
match builder_from_flags(env::args()) {
Ok((builder, output, verbose)) => {
+ #[cfg(feature = "logging")]
clang_version_check();
let builder_result = panic::catch_unwind(|| {
builder.generate().expect("Unable to generate bindings")
@@ -78,32 +75,3 @@ fn print_verbose_err() {
https://github.com/rust-lang/rust-bindgen/issues/new"
);
}
-
-#[cfg(test)]
-mod test {
- fn build_flags_output_helper(builder: &bindgen::Builder) {
- let mut command_line_flags = builder.command_line_flags();
- command_line_flags.insert(0, "bindgen".to_string());
-
- let flags_quoted: Vec<String> = command_line_flags
- .iter()
- .map(|x| format!("{}", shlex::quote(x)))
- .collect();
- let flags_str = flags_quoted.join(" ");
- println!("{}", flags_str);
-
- let (builder, _output, _verbose) =
- crate::options::builder_from_flags(command_line_flags.into_iter())
- .unwrap();
- builder.generate().expect("failed to generate bindings");
- }
-
- #[test]
- fn commandline_multiple_headers() {
- let bindings = bindgen::Builder::default()
- .header("tests/headers/char.h")
- .header("tests/headers/func_ptr.h")
- .header("tests/headers/16-byte-alignment.h");
- build_flags_output_helper(&bindings);
- }
-}
diff --git a/src/options.rs b/bindgen-cli/options.rs
index 83da21f4..5c3960e9 100644
--- a/src/options.rs
+++ b/bindgen-cli/options.rs
@@ -1,7 +1,7 @@
use bindgen::{
builder, AliasVariation, Builder, CodegenConfig, EnumVariation,
- MacroTypeVariation, RustTarget, DEFAULT_ANON_FIELDS_PREFIX,
- RUST_TARGET_STRINGS,
+ MacroTypeVariation, NonCopyUnionStyle, RustTarget,
+ DEFAULT_ANON_FIELDS_PREFIX, RUST_TARGET_STRINGS,
};
use clap::{App, Arg};
use std::fs::File;
@@ -39,7 +39,7 @@ where
.help("The default style of code used to generate enums.")
.value_name("variant")
.default_value("consts")
- .possible_values(&[
+ .possible_values([
"consts",
"moduleconsts",
"bitfield",
@@ -63,6 +63,12 @@ where
.value_name("regex")
.multiple_occurrences(true)
.number_of_values(1),
+ Arg::new("newtype-global-enum")
+ .long("newtype-global-enum")
+ .help("Mark any enum whose name matches <regex> as a global newtype.")
+ .value_name("regex")
+ .multiple_occurrences(true)
+ .number_of_values(1),
Arg::new("rustified-enum")
.long("rustified-enum")
.help("Mark any enum whose name matches <regex> as a Rust enum.")
@@ -92,14 +98,14 @@ where
.help("The default signed/unsigned type for C macro constants.")
.value_name("variant")
.default_value("unsigned")
- .possible_values(&["signed", "unsigned"])
+ .possible_values(["signed", "unsigned"])
.multiple_occurrences(false),
Arg::new("default-alias-style")
.long("default-alias-style")
.help("The default style of code used to generate typedefs.")
.value_name("variant")
.default_value("type_alias")
- .possible_values(&[
+ .possible_values([
"type_alias",
"new_type",
"new_type_deref",
@@ -132,6 +138,42 @@ where
.value_name("regex")
.multiple_occurrences(true)
.number_of_values(1),
+ Arg::new("default-non-copy-union-style")
+ .long("default-non-copy-union-style")
+ .help(
+ "The default style of code used to generate unions with \
+ non-Copy members. Note that ManuallyDrop was first \
+ stabilized in Rust 1.20.0.",
+ )
+ .value_name("style")
+ .default_value("bindgen_wrapper")
+ .possible_values([
+ "bindgen_wrapper",
+ "manually_drop",
+ ])
+ .multiple_occurrences(false),
+ Arg::new("bindgen-wrapper-union")
+ .long("bindgen-wrapper-union")
+ .help(
+ "Mark any union whose name matches <regex> and who has a \
+ non-Copy member to use a bindgen-generated wrapper for \
+ fields.",
+ )
+ .value_name("regex")
+ .takes_value(true)
+ .multiple_occurrences(true)
+ .number_of_values(1),
+ Arg::new("manually-drop-union")
+ .long("manually-drop-union")
+ .help(
+ "Mark any union whose name matches <regex> and who has a \
+ non-Copy member to use ManuallyDrop (stabilized in Rust \
+ 1.20.0) for fields.",
+ )
+ .value_name("regex")
+ .takes_value(true)
+ .multiple_occurrences(true)
+ .number_of_values(1),
Arg::new("blocklist-type")
.alias("blacklist-type")
.long("blocklist-type")
@@ -423,7 +465,12 @@ where
),
Arg::new("size_t-is-usize")
.long("size_t-is-usize")
- .help("Translate size_t to usize."),
+ .help("Ignored - this is enabled by default.")
+ .hidden(true),
+ Arg::with_name("no-size_t-is-usize")
+ .long("no-size_t-is-usize")
+ .help("Do not bind size_t as usize (useful on platforms \
+ where those types are incompatible)."),
Arg::new("no-rustfmt-bindings")
.long("no-rustfmt-bindings")
.help("Do not format the generated bindings with rustfmt."),
@@ -518,6 +565,9 @@ where
Arg::new("sort-semantically")
.long("sort-semantically")
.help("Enables sorting of code generation in a predefined manner."),
+ Arg::new("merge-extern-blocks")
+ .long("merge-extern-blocks")
+ .help("Deduplicates extern blocks."),
Arg::new("V")
.long("version")
.help("Prints the version, and exits"),
@@ -531,7 +581,7 @@ where
option_env!("CARGO_PKG_VERSION").unwrap_or("unknown")
);
if verbose {
- println!("Clang: {}", crate::clang_version().full);
+ println!("Clang: {}", bindgen::clang_version().full);
}
std::process::exit(0);
}
@@ -573,6 +623,12 @@ where
}
}
+ if let Some(newtypes) = matches.values_of("newtype-global-enum") {
+ for regex in newtypes {
+ builder = builder.newtype_global_enum(regex);
+ }
+ }
+
if let Some(rustifieds) = matches.values_of("rustified-enum") {
for regex in rustifieds {
builder = builder.rustified_enum(regex);
@@ -619,6 +675,27 @@ where
}
}
+ if let Some(variant) = matches.value_of("default-non-copy-union-style") {
+ builder = builder.default_non_copy_union_style(
+ NonCopyUnionStyle::from_str(variant)?,
+ );
+ }
+
+ if let Some(bindgen_wrapper_union) =
+ matches.values_of("bindgen-wrapper-union")
+ {
+ for regex in bindgen_wrapper_union {
+ builder = builder.bindgen_wrapper_union(regex);
+ }
+ }
+
+ if let Some(manually_drop_union) = matches.values_of("manually-drop-union")
+ {
+ for regex in manually_drop_union {
+ builder = builder.manually_drop_union(regex);
+ }
+ }
+
if let Some(hidden_types) = matches.values_of("blocklist-type") {
for ty in hidden_types {
builder = builder.blocklist_type(ty);
@@ -903,8 +980,8 @@ where
builder = builder.record_matches(false);
}
- if matches.is_present("size_t-is-usize") {
- builder = builder.size_t_is_usize(true);
+ if matches.is_present("no-size_t-is-usize") {
+ builder = builder.size_t_is_usize(false);
}
let no_rustfmt_bindings = matches.is_present("no-rustfmt-bindings");
@@ -1007,5 +1084,9 @@ where
builder = builder.sort_semantically(true);
}
+ if matches.is_present("merge-extern-blocks") {
+ builder = builder.merge_extern_blocks(true);
+ }
+
Ok((builder, output, verbose))
}
diff --git a/bindgen-integration/Cargo.toml b/bindgen-integration/Cargo.toml
index 733fba58..e2abb6e2 100644
--- a/bindgen-integration/Cargo.toml
+++ b/bindgen-integration/Cargo.toml
@@ -7,7 +7,7 @@ publish = false
build = "build.rs"
[build-dependencies]
-bindgen = { path = ".." }
+bindgen = { path = "../bindgen" }
cc = "1.0"
[features]
diff --git a/bindgen-integration/build.rs b/bindgen-integration/build.rs
index d0ec3bc0..980d40b9 100644
--- a/bindgen-integration/build.rs
+++ b/bindgen-integration/build.rs
@@ -123,13 +123,9 @@ impl ParseCallbacks for MacroCallback {
// Test the "custom derives" capability by adding `PartialEq` to the `Test` struct.
fn add_derives(&self, name: &str) -> Vec<String> {
if name == "Test" {
- vec![
- "PartialEq".into(),
- ]
+ vec!["PartialEq".into()]
} else if name == "MyOrderedEnum" {
- vec![
- "std::cmp::PartialOrd".into(),
- ]
+ vec!["std::cmp::PartialOrd".into()]
} else {
vec![]
}
@@ -162,7 +158,9 @@ fn main() {
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
let out_rust_file = out_path.join("test.rs");
- let out_rust_file_relative = out_rust_file.strip_prefix(std::env::current_dir().unwrap()).unwrap();
+ let out_rust_file_relative = out_rust_file
+ .strip_prefix(std::env::current_dir().unwrap().parent().unwrap())
+ .unwrap();
let out_dep_file = out_path.join("test.d");
let bindings = Builder::default()
@@ -189,13 +187,18 @@ fn main() {
.expect("Unable to generate bindings");
assert!(macros.read().unwrap().contains("TESTMACRO"));
- bindings.write_to_file(&out_rust_file).expect("Couldn't write bindings!");
-
- let observed_deps = std::fs::read_to_string(out_dep_file).expect("Couldn't read depfile!");
- let expected_deps = format!("{}: cpp/Test.h include/stub.h", out_rust_file_relative.display());
+ bindings
+ .write_to_file(&out_rust_file)
+ .expect("Couldn't write bindings!");
+
+ let observed_deps =
+ std::fs::read_to_string(out_dep_file).expect("Couldn't read depfile!");
+ let expected_deps = format!(
+ "{}: cpp/Test.h include/stub.h",
+ out_rust_file_relative.display()
+ );
assert_eq!(
- observed_deps,
- expected_deps,
+ observed_deps, expected_deps,
"including stub via include dir must produce correct dep path",
);
}
diff --git a/bindgen-tests/Cargo.toml b/bindgen-tests/Cargo.toml
new file mode 100644
index 00000000..53dfca15
--- /dev/null
+++ b/bindgen-tests/Cargo.toml
@@ -0,0 +1,28 @@
+[package]
+name = "bindgen-tests"
+edition = "2018"
+version = "0.1.0"
+publish = false
+
+include = [
+ "Cargo.toml",
+ "build.rs",
+]
+
+[dev-dependencies]
+bindgen = { path = "../bindgen" }
+diff = "0.1"
+shlex = "1"
+clap = "3"
+tempfile = "3"
+
+[features]
+logging = ["bindgen/logging"]
+static = ["bindgen/static"]
+runtime = ["bindgen/runtime"]
+which-rustfmt = ["bindgen/which-rustfmt"]
+
+testing_only_docs = ["bindgen/testing_only_docs"]
+testing_only_extra_assertions = ["bindgen/testing_only_extra_assertions"]
+testing_only_libclang_9 = ["bindgen/testing_only_libclang_9"]
+testing_only_libclang_5 = ["bindgen/testing_only_libclang_5"]
diff --git a/bindgen-tests/build.rs b/bindgen-tests/build.rs
new file mode 100644
index 00000000..6b2f2c72
--- /dev/null
+++ b/bindgen-tests/build.rs
@@ -0,0 +1,49 @@
+use std::char;
+use std::env;
+use std::ffi::OsStr;
+use std::fs::{self, File};
+use std::io::Write;
+use std::path::{Path, PathBuf};
+
+pub fn main() {
+ let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
+ let mut dst = File::create(Path::new(&out_dir).join("tests.rs")).unwrap();
+
+ let manifest_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
+ let headers_dir = manifest_dir.join("tests").join("headers");
+
+ let headers = match fs::read_dir(headers_dir) {
+ Ok(dir) => dir,
+ // We may not have headers directory after packaging.
+ Err(..) => return,
+ };
+
+ let entries =
+ headers.map(|result| result.expect("Couldn't read header file"));
+
+ println!("cargo:rerun-if-changed=tests/headers");
+
+ for entry in entries {
+ match entry.path().extension().and_then(OsStr::to_str) {
+ Some("h") | Some("hpp") => {
+ let func = entry
+ .file_name()
+ .to_str()
+ .unwrap()
+ .replace(|c| !char::is_alphanumeric(c), "_")
+ .replace("__", "_")
+ .to_lowercase();
+ writeln!(
+ dst,
+ "test_header!(header_{}, {:?});",
+ func,
+ entry.path(),
+ )
+ .unwrap();
+ }
+ _ => {}
+ }
+ }
+
+ dst.flush().unwrap();
+}
diff --git a/tests/expectations/src/lib.rs b/bindgen-tests/src/lib.rs
index 8b137891..8b137891 100644
--- a/tests/expectations/src/lib.rs
+++ b/bindgen-tests/src/lib.rs
diff --git a/tests/.gitattributes b/bindgen-tests/tests/.gitattributes
index 96122eb1..96122eb1 100644
--- a/tests/.gitattributes
+++ b/bindgen-tests/tests/.gitattributes
diff --git a/tests/expectations/Cargo.toml b/bindgen-tests/tests/expectations/Cargo.toml
index f8006afe..f8006afe 100644
--- a/tests/expectations/Cargo.toml
+++ b/bindgen-tests/tests/expectations/Cargo.toml
diff --git a/tests/expectations/build.rs b/bindgen-tests/tests/expectations/build.rs
index e44bcc85..edbcafb9 100644
--- a/tests/expectations/build.rs
+++ b/bindgen-tests/tests/expectations/build.rs
@@ -8,10 +8,8 @@ use std::fs;
use std::io::Write;
use std::path::Path;
-const LIBCLANG_VERSION_DIRS: &'static [&'static str] = &[
- "libclang-5",
- "libclang-9",
-];
+const LIBCLANG_VERSION_DIRS: &'static [&'static str] =
+ &["libclang-5", "libclang-9"];
fn main() {
println!("cargo:rerun-if-changed=build.rs");
diff --git a/tests/expectations/lib.rs b/bindgen-tests/tests/expectations/lib.rs
index 562dc554..562dc554 100755
--- a/tests/expectations/lib.rs
+++ b/bindgen-tests/tests/expectations/lib.rs
diff --git a/tests/expectations/struct_with_anon_struct_array_float.rs b/bindgen-tests/tests/expectations/src/lib.rs
index 8b137891..8b137891 100644
--- a/tests/expectations/struct_with_anon_struct_array_float.rs
+++ b/bindgen-tests/tests/expectations/src/lib.rs
diff --git a/bindgen-tests/tests/expectations/struct_with_anon_struct_array_float.rs b/bindgen-tests/tests/expectations/struct_with_anon_struct_array_float.rs
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/bindgen-tests/tests/expectations/struct_with_anon_struct_array_float.rs
@@ -0,0 +1 @@
+
diff --git a/tests/expectations/tests/.gitattributes b/bindgen-tests/tests/expectations/tests/.gitattributes
index 9699dfa0..9699dfa0 100644
--- a/tests/expectations/tests/.gitattributes
+++ b/bindgen-tests/tests/expectations/tests/.gitattributes
diff --git a/tests/expectations/tests/16-byte-alignment.rs b/bindgen-tests/tests/expectations/tests/16-byte-alignment.rs
index a60a63aa..a60a63aa 100644
--- a/tests/expectations/tests/16-byte-alignment.rs
+++ b/bindgen-tests/tests/expectations/tests/16-byte-alignment.rs
diff --git a/tests/expectations/tests/16-byte-alignment_1_0.rs b/bindgen-tests/tests/expectations/tests/16-byte-alignment_1_0.rs
index 369e2c75..369e2c75 100644
--- a/tests/expectations/tests/16-byte-alignment_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/16-byte-alignment_1_0.rs
diff --git a/tests/expectations/tests/381-decltype-alias.rs b/bindgen-tests/tests/expectations/tests/381-decltype-alias.rs
index f4312a11..f4312a11 100644
--- a/tests/expectations/tests/381-decltype-alias.rs
+++ b/bindgen-tests/tests/expectations/tests/381-decltype-alias.rs
diff --git a/tests/expectations/tests/accessors.rs b/bindgen-tests/tests/expectations/tests/accessors.rs
index 05fdaf4c..05fdaf4c 100644
--- a/tests/expectations/tests/accessors.rs
+++ b/bindgen-tests/tests/expectations/tests/accessors.rs
diff --git a/tests/expectations/tests/allowlist-file.rs b/bindgen-tests/tests/expectations/tests/allowlist-file.rs
index 3b72fb75..3b72fb75 100644
--- a/tests/expectations/tests/allowlist-file.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlist-file.rs
diff --git a/tests/expectations/tests/allowlist-namespaces-basic.rs b/bindgen-tests/tests/expectations/tests/allowlist-namespaces-basic.rs
index 36d03fef..36d03fef 100644
--- a/tests/expectations/tests/allowlist-namespaces-basic.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlist-namespaces-basic.rs
diff --git a/tests/expectations/tests/allowlist-namespaces.rs b/bindgen-tests/tests/expectations/tests/allowlist-namespaces.rs
index ee9fe428..ee9fe428 100644
--- a/tests/expectations/tests/allowlist-namespaces.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlist-namespaces.rs
diff --git a/tests/expectations/tests/allowlist_basic.rs b/bindgen-tests/tests/expectations/tests/allowlist_basic.rs
index 5bfe42e8..5bfe42e8 100644
--- a/tests/expectations/tests/allowlist_basic.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlist_basic.rs
diff --git a/tests/expectations/tests/allowlist_fix.rs b/bindgen-tests/tests/expectations/tests/allowlist_fix.rs
index 9cff795b..9cff795b 100644
--- a/tests/expectations/tests/allowlist_fix.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlist_fix.rs
diff --git a/tests/expectations/tests/allowlist_vars.rs b/bindgen-tests/tests/expectations/tests/allowlist_vars.rs
index 590cbafc..590cbafc 100644
--- a/tests/expectations/tests/allowlist_vars.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlist_vars.rs
diff --git a/tests/expectations/tests/allowlist_warnings.rs b/bindgen-tests/tests/expectations/tests/allowlist_warnings.rs
index 131dbdf3..131dbdf3 100644
--- a/tests/expectations/tests/allowlist_warnings.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlist_warnings.rs
diff --git a/tests/expectations/tests/allowlisted-item-references-no-hash.rs b/bindgen-tests/tests/expectations/tests/allowlisted-item-references-no-hash.rs
index 56dc5bce..56dc5bce 100644
--- a/tests/expectations/tests/allowlisted-item-references-no-hash.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlisted-item-references-no-hash.rs
diff --git a/tests/expectations/tests/allowlisted-item-references-no-partialeq.rs b/bindgen-tests/tests/expectations/tests/allowlisted-item-references-no-partialeq.rs
index 36cdda0e..36cdda0e 100644
--- a/tests/expectations/tests/allowlisted-item-references-no-partialeq.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlisted-item-references-no-partialeq.rs
diff --git a/tests/expectations/tests/allowlisted_item_references_no_copy.rs b/bindgen-tests/tests/expectations/tests/allowlisted_item_references_no_copy.rs
index 625e0ce6..625e0ce6 100644
--- a/tests/expectations/tests/allowlisted_item_references_no_copy.rs
+++ b/bindgen-tests/tests/expectations/tests/allowlisted_item_references_no_copy.rs
diff --git a/tests/expectations/tests/annotation_hide.rs b/bindgen-tests/tests/expectations/tests/annotation_hide.rs
index a90c4261..a90c4261 100644
--- a/tests/expectations/tests/annotation_hide.rs
+++ b/bindgen-tests/tests/expectations/tests/annotation_hide.rs
diff --git a/tests/expectations/tests/anon-fields-prefix.rs b/bindgen-tests/tests/expectations/tests/anon-fields-prefix.rs
index d09cab40..d09cab40 100644
--- a/tests/expectations/tests/anon-fields-prefix.rs
+++ b/bindgen-tests/tests/expectations/tests/anon-fields-prefix.rs
diff --git a/tests/expectations/tests/anon_enum.rs b/bindgen-tests/tests/expectations/tests/anon_enum.rs
index 429f94ce..429f94ce 100644
--- a/tests/expectations/tests/anon_enum.rs
+++ b/bindgen-tests/tests/expectations/tests/anon_enum.rs
diff --git a/tests/expectations/tests/anon_enum_allowlist.rs b/bindgen-tests/tests/expectations/tests/anon_enum_allowlist.rs
index f0c06c56..f0c06c56 100644
--- a/tests/expectations/tests/anon_enum_allowlist.rs
+++ b/bindgen-tests/tests/expectations/tests/anon_enum_allowlist.rs
diff --git a/tests/expectations/tests/anon_enum_trait.rs b/bindgen-tests/tests/expectations/tests/anon_enum_trait.rs
index 9d6b8f57..9d6b8f57 100644
--- a/tests/expectations/tests/anon_enum_trait.rs
+++ b/bindgen-tests/tests/expectations/tests/anon_enum_trait.rs
diff --git a/tests/expectations/tests/anon_struct_in_union.rs b/bindgen-tests/tests/expectations/tests/anon_struct_in_union.rs
index f32b057b..f32b057b 100644
--- a/tests/expectations/tests/anon_struct_in_union.rs
+++ b/bindgen-tests/tests/expectations/tests/anon_struct_in_union.rs
diff --git a/tests/expectations/tests/anon_struct_in_union_1_0.rs b/bindgen-tests/tests/expectations/tests/anon_struct_in_union_1_0.rs
index cbc5ac9b..cbc5ac9b 100644
--- a/tests/expectations/tests/anon_struct_in_union_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/anon_struct_in_union_1_0.rs
diff --git a/tests/expectations/tests/anon_union.rs b/bindgen-tests/tests/expectations/tests/anon_union.rs
index 8caf7d11..8caf7d11 100644
--- a/tests/expectations/tests/anon_union.rs
+++ b/bindgen-tests/tests/expectations/tests/anon_union.rs
diff --git a/tests/expectations/tests/anon_union_1_0.rs b/bindgen-tests/tests/expectations/tests/anon_union_1_0.rs
index 63273e60..63273e60 100644
--- a/tests/expectations/tests/anon_union_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/anon_union_1_0.rs
diff --git a/tests/expectations/tests/anonymous-template-types.rs b/bindgen-tests/tests/expectations/tests/anonymous-template-types.rs
index 14afd6b3..14afd6b3 100644
--- a/tests/expectations/tests/anonymous-template-types.rs
+++ b/bindgen-tests/tests/expectations/tests/anonymous-template-types.rs
diff --git a/tests/expectations/tests/arg_keyword.rs b/bindgen-tests/tests/expectations/tests/arg_keyword.rs
index 43ff5831..43ff5831 100644
--- a/tests/expectations/tests/arg_keyword.rs
+++ b/bindgen-tests/tests/expectations/tests/arg_keyword.rs
diff --git a/tests/expectations/tests/array-of-zero-sized-types.rs b/bindgen-tests/tests/expectations/tests/array-of-zero-sized-types.rs
index ad1f22ed..ad1f22ed 100644
--- a/tests/expectations/tests/array-of-zero-sized-types.rs
+++ b/bindgen-tests/tests/expectations/tests/array-of-zero-sized-types.rs
diff --git a/tests/expectations/tests/attribute_warn_unused_result.rs b/bindgen-tests/tests/expectations/tests/attribute_warn_unused_result.rs
index 12d5eab0..12d5eab0 100644
--- a/tests/expectations/tests/attribute_warn_unused_result.rs
+++ b/bindgen-tests/tests/expectations/tests/attribute_warn_unused_result.rs
diff --git a/tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs b/bindgen-tests/tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs
index d860acd1..d860acd1 100644
--- a/tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs
+++ b/bindgen-tests/tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs
diff --git a/tests/expectations/tests/attribute_warn_unused_result_pre_1_27.rs b/bindgen-tests/tests/expectations/tests/attribute_warn_unused_result_pre_1_27.rs
index d860acd1..d860acd1 100644
--- a/tests/expectations/tests/attribute_warn_unused_result_pre_1_27.rs
+++ b/bindgen-tests/tests/expectations/tests/attribute_warn_unused_result_pre_1_27.rs
diff --git a/tests/expectations/tests/bad-namespace-parenthood-inheritance.rs b/bindgen-tests/tests/expectations/tests/bad-namespace-parenthood-inheritance.rs
index 4d0d6bcd..4d0d6bcd 100644
--- a/tests/expectations/tests/bad-namespace-parenthood-inheritance.rs
+++ b/bindgen-tests/tests/expectations/tests/bad-namespace-parenthood-inheritance.rs
diff --git a/tests/expectations/tests/base-to-derived.rs b/bindgen-tests/tests/expectations/tests/base-to-derived.rs
index 97830cd4..97830cd4 100644
--- a/tests/expectations/tests/base-to-derived.rs
+++ b/bindgen-tests/tests/expectations/tests/base-to-derived.rs
diff --git a/tests/expectations/tests/bindgen-union-inside-namespace.rs b/bindgen-tests/tests/expectations/tests/bindgen-union-inside-namespace.rs
index 8a091cb5..8a091cb5 100644
--- a/tests/expectations/tests/bindgen-union-inside-namespace.rs
+++ b/bindgen-tests/tests/expectations/tests/bindgen-union-inside-namespace.rs
diff --git a/tests/expectations/tests/bitfield-32bit-overflow.rs b/bindgen-tests/tests/expectations/tests/bitfield-32bit-overflow.rs
index 680b25d8..680b25d8 100644
--- a/tests/expectations/tests/bitfield-32bit-overflow.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-32bit-overflow.rs
diff --git a/tests/expectations/tests/bitfield-enum-basic.rs b/bindgen-tests/tests/expectations/tests/bitfield-enum-basic.rs
index b6c25870..b6c25870 100644
--- a/tests/expectations/tests/bitfield-enum-basic.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-enum-basic.rs
diff --git a/tests/expectations/tests/bitfield-enum-repr-c.rs b/bindgen-tests/tests/expectations/tests/bitfield-enum-repr-c.rs
index 1f0228e8..1f0228e8 100644
--- a/tests/expectations/tests/bitfield-enum-repr-c.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-enum-repr-c.rs
diff --git a/tests/expectations/tests/bitfield-enum-repr-transparent.rs b/bindgen-tests/tests/expectations/tests/bitfield-enum-repr-transparent.rs
index 53e113ed..53e113ed 100644
--- a/tests/expectations/tests/bitfield-enum-repr-transparent.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-enum-repr-transparent.rs
diff --git a/tests/expectations/tests/bitfield-large.rs b/bindgen-tests/tests/expectations/tests/bitfield-large.rs
index b2c353a2..b2c353a2 100644
--- a/tests/expectations/tests/bitfield-large.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-large.rs
diff --git a/tests/expectations/tests/bitfield-linux-32.rs b/bindgen-tests/tests/expectations/tests/bitfield-linux-32.rs
index 44c68626..44c68626 100644
--- a/tests/expectations/tests/bitfield-linux-32.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-linux-32.rs
diff --git a/tests/expectations/tests/bitfield-method-same-name.rs b/bindgen-tests/tests/expectations/tests/bitfield-method-same-name.rs
index e9c1a76d..e9c1a76d 100644
--- a/tests/expectations/tests/bitfield-method-same-name.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield-method-same-name.rs
diff --git a/tests/expectations/tests/bitfield_align.rs b/bindgen-tests/tests/expectations/tests/bitfield_align.rs
index 4baca112..4baca112 100644
--- a/tests/expectations/tests/bitfield_align.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_align.rs
diff --git a/tests/expectations/tests/bitfield_align_2.rs b/bindgen-tests/tests/expectations/tests/bitfield_align_2.rs
index aa11f80c..aa11f80c 100644
--- a/tests/expectations/tests/bitfield_align_2.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_align_2.rs
diff --git a/tests/expectations/tests/bitfield_large_overflow.rs b/bindgen-tests/tests/expectations/tests/bitfield_large_overflow.rs
index 4ee1f598..4ee1f598 100644
--- a/tests/expectations/tests/bitfield_large_overflow.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_large_overflow.rs
diff --git a/tests/expectations/tests/bitfield_method_mangling.rs b/bindgen-tests/tests/expectations/tests/bitfield_method_mangling.rs
index 42fa3c4c..42fa3c4c 100644
--- a/tests/expectations/tests/bitfield_method_mangling.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_method_mangling.rs
diff --git a/tests/expectations/tests/bitfield_pragma_packed.rs b/bindgen-tests/tests/expectations/tests/bitfield_pragma_packed.rs
index 27cd90f1..27cd90f1 100644
--- a/tests/expectations/tests/bitfield_pragma_packed.rs
+++ b/bindgen-tests/tests/expectations/tests/bitfield_pragma_packed.rs
diff --git a/tests/expectations/tests/block_return_type.rs b/bindgen-tests/tests/expectations/tests/block_return_type.rs
index bc434733..bc434733 100644
--- a/tests/expectations/tests/block_return_type.rs
+++ b/bindgen-tests/tests/expectations/tests/block_return_type.rs
diff --git a/tests/expectations/tests/blocklist-and-impl-debug.rs b/bindgen-tests/tests/expectations/tests/blocklist-and-impl-debug.rs
index 788cb30c..788cb30c 100644
--- a/tests/expectations/tests/blocklist-and-impl-debug.rs
+++ b/bindgen-tests/tests/expectations/tests/blocklist-and-impl-debug.rs
diff --git a/tests/expectations/tests/blocklist-file.rs b/bindgen-tests/tests/expectations/tests/blocklist-file.rs
index 4d2b6712..4d2b6712 100644
--- a/tests/expectations/tests/blocklist-file.rs
+++ b/bindgen-tests/tests/expectations/tests/blocklist-file.rs
diff --git a/tests/expectations/tests/blocklist-function.rs b/bindgen-tests/tests/expectations/tests/blocklist-function.rs
index 5299b151..5299b151 100644
--- a/tests/expectations/tests/blocklist-function.rs
+++ b/bindgen-tests/tests/expectations/tests/blocklist-function.rs
diff --git a/tests/expectations/tests/blocklist-item.rs b/bindgen-tests/tests/expectations/tests/blocklist-item.rs
index 0edee9ec..0edee9ec 100644
--- a/tests/expectations/tests/blocklist-item.rs
+++ b/bindgen-tests/tests/expectations/tests/blocklist-item.rs
diff --git a/tests/expectations/tests/blocks-signature.rs b/bindgen-tests/tests/expectations/tests/blocks-signature.rs
index 779d0ecb..ff7114a7 100644
--- a/tests/expectations/tests/blocks-signature.rs
+++ b/bindgen-tests/tests/expectations/tests/blocks-signature.rs
@@ -7,7 +7,6 @@
#![cfg(target_os = "macos")]
extern crate block;
-pub type size_t = ::std::os::raw::c_ulonglong;
extern "C" {
#[link_name = "\u{1}_Z8atexit_bU13block_pointerFvvE"]
pub fn atexit_b(arg1: _bindgen_ty_id_33);
@@ -82,16 +81,11 @@ impl Default for contains_block_pointers {
}
pub type _bindgen_ty_id_33 = *const ::block::Block<(), ()>;
pub type _bindgen_ty_id_40 = *const ::block::Block<
- (
- dispatch_data_t,
- size_t,
- *const ::std::os::raw::c_void,
- size_t,
- ),
+ (dispatch_data_t, usize, *const ::std::os::raw::c_void, usize),
bool,
>;
-pub type _bindgen_ty_id_50 = *const ::block::Block<(size_t,), ()>;
-pub type _bindgen_ty_id_56 = *const ::block::Block<(size_t,), ()>;
+pub type _bindgen_ty_id_50 = *const ::block::Block<(usize,), ()>;
+pub type _bindgen_ty_id_56 = *const ::block::Block<(usize,), ()>;
pub type contains_block_pointers__bindgen_ty_id_61 =
*const ::block::Block<(::std::os::raw::c_int,), ()>;
pub type _bindgen_ty_id_68 =
diff --git a/tests/expectations/tests/blocks.rs b/bindgen-tests/tests/expectations/tests/blocks.rs
index dbafaf94..6f242989 100644
--- a/tests/expectations/tests/blocks.rs
+++ b/bindgen-tests/tests/expectations/tests/blocks.rs
@@ -6,7 +6,6 @@
)]
#![cfg(target_os = "macos")]
-pub type size_t = ::std::os::raw::c_ulonglong;
extern "C" {
#[link_name = "\u{1}_Z8atexit_bU13block_pointerFvvE"]
pub fn atexit_b(arg1: *mut ::std::os::raw::c_void);
diff --git a/tests/expectations/tests/bug-1529681.rs b/bindgen-tests/tests/expectations/tests/bug-1529681.rs
index 6a0f5e13..6a0f5e13 100644
--- a/tests/expectations/tests/bug-1529681.rs
+++ b/bindgen-tests/tests/expectations/tests/bug-1529681.rs
diff --git a/tests/expectations/tests/builtin-template.rs b/bindgen-tests/tests/expectations/tests/builtin-template.rs
index 112b7670..112b7670 100644
--- a/tests/expectations/tests/builtin-template.rs
+++ b/bindgen-tests/tests/expectations/tests/builtin-template.rs
diff --git a/tests/expectations/tests/c-empty-layout.rs b/bindgen-tests/tests/expectations/tests/c-empty-layout.rs
index ebef2b6d..ebef2b6d 100644
--- a/tests/expectations/tests/c-empty-layout.rs
+++ b/bindgen-tests/tests/expectations/tests/c-empty-layout.rs
diff --git a/tests/expectations/tests/c_naming.rs b/bindgen-tests/tests/expectations/tests/c_naming.rs
index 3e56b1d6..3e56b1d6 100644
--- a/tests/expectations/tests/c_naming.rs
+++ b/bindgen-tests/tests/expectations/tests/c_naming.rs
diff --git a/tests/expectations/tests/call-conv-typedef.rs b/bindgen-tests/tests/expectations/tests/call-conv-typedef.rs
index 6eabb1f6..6eabb1f6 100644
--- a/tests/expectations/tests/call-conv-typedef.rs
+++ b/bindgen-tests/tests/expectations/tests/call-conv-typedef.rs
diff --git a/tests/expectations/tests/canonical-types.rs b/bindgen-tests/tests/expectations/tests/canonical-types.rs
index a68e1424..a68e1424 100644
--- a/tests/expectations/tests/canonical-types.rs
+++ b/bindgen-tests/tests/expectations/tests/canonical-types.rs
diff --git a/tests/expectations/tests/canonical_path_without_namespacing.rs b/bindgen-tests/tests/expectations/tests/canonical_path_without_namespacing.rs
index 12f10a88..12f10a88 100644
--- a/tests/expectations/tests/canonical_path_without_namespacing.rs
+++ b/bindgen-tests/tests/expectations/tests/canonical_path_without_namespacing.rs
diff --git a/tests/expectations/tests/char.rs b/bindgen-tests/tests/expectations/tests/char.rs
index 960a681f..960a681f 100644
--- a/tests/expectations/tests/char.rs
+++ b/bindgen-tests/tests/expectations/tests/char.rs
diff --git a/tests/expectations/tests/class.rs b/bindgen-tests/tests/expectations/tests/class.rs
index 8542135b..8542135b 100644
--- a/tests/expectations/tests/class.rs
+++ b/bindgen-tests/tests/expectations/tests/class.rs
diff --git a/tests/expectations/tests/class_1_0.rs b/bindgen-tests/tests/expectations/tests/class_1_0.rs
index f6c3021e..f6c3021e 100644
--- a/tests/expectations/tests/class_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/class_1_0.rs
diff --git a/tests/expectations/tests/class_nested.rs b/bindgen-tests/tests/expectations/tests/class_nested.rs
index f2cc8326..f2cc8326 100644
--- a/tests/expectations/tests/class_nested.rs
+++ b/bindgen-tests/tests/expectations/tests/class_nested.rs
diff --git a/tests/expectations/tests/class_no_members.rs b/bindgen-tests/tests/expectations/tests/class_no_members.rs
index 676590c8..676590c8 100644
--- a/tests/expectations/tests/class_no_members.rs
+++ b/bindgen-tests/tests/expectations/tests/class_no_members.rs
diff --git a/tests/expectations/tests/class_static.rs b/bindgen-tests/tests/expectations/tests/class_static.rs
index 2388f3b3..2388f3b3 100644
--- a/tests/expectations/tests/class_static.rs
+++ b/bindgen-tests/tests/expectations/tests/class_static.rs
diff --git a/tests/expectations/tests/class_static_const.rs b/bindgen-tests/tests/expectations/tests/class_static_const.rs
index 812d78e1..812d78e1 100644
--- a/tests/expectations/tests/class_static_const.rs
+++ b/bindgen-tests/tests/expectations/tests/class_static_const.rs
diff --git a/tests/expectations/tests/class_use_as.rs b/bindgen-tests/tests/expectations/tests/class_use_as.rs
index ef130c16..ef130c16 100644
--- a/tests/expectations/tests/class_use_as.rs
+++ b/bindgen-tests/tests/expectations/tests/class_use_as.rs
diff --git a/tests/expectations/tests/class_with_dtor.rs b/bindgen-tests/tests/expectations/tests/class_with_dtor.rs
index 86d2a576..86d2a576 100644
--- a/tests/expectations/tests/class_with_dtor.rs
+++ b/bindgen-tests/tests/expectations/tests/class_with_dtor.rs
diff --git a/tests/expectations/tests/class_with_inner_struct.rs b/bindgen-tests/tests/expectations/tests/class_with_inner_struct.rs
index eab9d598..eab9d598 100644
--- a/tests/expectations/tests/class_with_inner_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/class_with_inner_struct.rs
diff --git a/tests/expectations/tests/class_with_inner_struct_1_0.rs b/bindgen-tests/tests/expectations/tests/class_with_inner_struct_1_0.rs
index 42656079..42656079 100644
--- a/tests/expectations/tests/class_with_inner_struct_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/class_with_inner_struct_1_0.rs
diff --git a/tests/expectations/tests/class_with_typedef.rs b/bindgen-tests/tests/expectations/tests/class_with_typedef.rs
index 65e86b27..65e86b27 100644
--- a/tests/expectations/tests/class_with_typedef.rs
+++ b/bindgen-tests/tests/expectations/tests/class_with_typedef.rs
diff --git a/tests/expectations/tests/comment-indent.rs b/bindgen-tests/tests/expectations/tests/comment-indent.rs
index 3ad221aa..3ad221aa 100644
--- a/tests/expectations/tests/comment-indent.rs
+++ b/bindgen-tests/tests/expectations/tests/comment-indent.rs
diff --git a/tests/expectations/tests/complex.rs b/bindgen-tests/tests/expectations/tests/complex.rs
index e9c4be9d..e9c4be9d 100644
--- a/tests/expectations/tests/complex.rs
+++ b/bindgen-tests/tests/expectations/tests/complex.rs
diff --git a/tests/expectations/tests/complex_global.rs b/bindgen-tests/tests/expectations/tests/complex_global.rs
index f21735da..f21735da 100644
--- a/tests/expectations/tests/complex_global.rs
+++ b/bindgen-tests/tests/expectations/tests/complex_global.rs
diff --git a/tests/expectations/tests/const-const-mut-ptr.rs b/bindgen-tests/tests/expectations/tests/const-const-mut-ptr.rs
index e8f13dff..e8f13dff 100644
--- a/tests/expectations/tests/const-const-mut-ptr.rs
+++ b/bindgen-tests/tests/expectations/tests/const-const-mut-ptr.rs
diff --git a/tests/expectations/tests/const_array.rs b/bindgen-tests/tests/expectations/tests/const_array.rs
index 191bac9c..191bac9c 100644
--- a/tests/expectations/tests/const_array.rs
+++ b/bindgen-tests/tests/expectations/tests/const_array.rs
diff --git a/tests/expectations/tests/const_array_fn_arg.rs b/bindgen-tests/tests/expectations/tests/const_array_fn_arg.rs
index 3286dce1..3286dce1 100644
--- a/tests/expectations/tests/const_array_fn_arg.rs
+++ b/bindgen-tests/tests/expectations/tests/const_array_fn_arg.rs
diff --git a/tests/expectations/tests/const_enum_unnamed.rs b/bindgen-tests/tests/expectations/tests/const_enum_unnamed.rs
index da0ec2b8..da0ec2b8 100644
--- a/tests/expectations/tests/const_enum_unnamed.rs
+++ b/bindgen-tests/tests/expectations/tests/const_enum_unnamed.rs
diff --git a/tests/expectations/tests/const_multidim_array_fn_arg.rs b/bindgen-tests/tests/expectations/tests/const_multidim_array_fn_arg.rs
index 11ae184d..11ae184d 100644
--- a/tests/expectations/tests/const_multidim_array_fn_arg.rs
+++ b/bindgen-tests/tests/expectations/tests/const_multidim_array_fn_arg.rs
diff --git a/tests/expectations/tests/const_ptr.rs b/bindgen-tests/tests/expectations/tests/const_ptr.rs
index 0087aa99..0087aa99 100644
--- a/tests/expectations/tests/const_ptr.rs
+++ b/bindgen-tests/tests/expectations/tests/const_ptr.rs
diff --git a/tests/expectations/tests/const_resolved_ty.rs b/bindgen-tests/tests/expectations/tests/const_resolved_ty.rs
index 66939ef9..66939ef9 100644
--- a/tests/expectations/tests/const_resolved_ty.rs
+++ b/bindgen-tests/tests/expectations/tests/const_resolved_ty.rs
diff --git a/tests/expectations/tests/const_tparam.rs b/bindgen-tests/tests/expectations/tests/const_tparam.rs
index ec256872..ec256872 100644
--- a/tests/expectations/tests/const_tparam.rs
+++ b/bindgen-tests/tests/expectations/tests/const_tparam.rs
diff --git a/tests/expectations/tests/constant-non-specialized-tp.rs b/bindgen-tests/tests/expectations/tests/constant-non-specialized-tp.rs
index 6c1e3d38..6c1e3d38 100644
--- a/tests/expectations/tests/constant-non-specialized-tp.rs
+++ b/bindgen-tests/tests/expectations/tests/constant-non-specialized-tp.rs
diff --git a/tests/expectations/tests/constified-enum-module-overflow.rs b/bindgen-tests/tests/expectations/tests/constified-enum-module-overflow.rs
index d47338f1..d47338f1 100644
--- a/tests/expectations/tests/constified-enum-module-overflow.rs
+++ b/bindgen-tests/tests/expectations/tests/constified-enum-module-overflow.rs
diff --git a/tests/expectations/tests/constify-all-enums.rs b/bindgen-tests/tests/expectations/tests/constify-all-enums.rs
index e3c82156..e3c82156 100644
--- a/tests/expectations/tests/constify-all-enums.rs
+++ b/bindgen-tests/tests/expectations/tests/constify-all-enums.rs
diff --git a/tests/expectations/tests/constify-enum.rs b/bindgen-tests/tests/expectations/tests/constify-enum.rs
index 091743e9..091743e9 100644
--- a/tests/expectations/tests/constify-enum.rs
+++ b/bindgen-tests/tests/expectations/tests/constify-enum.rs
diff --git a/tests/expectations/tests/constify-module-enums-basic.rs b/bindgen-tests/tests/expectations/tests/constify-module-enums-basic.rs
index c5c32983..c5c32983 100644
--- a/tests/expectations/tests/constify-module-enums-basic.rs
+++ b/bindgen-tests/tests/expectations/tests/constify-module-enums-basic.rs
diff --git a/tests/expectations/tests/constify-module-enums-namespace.rs b/bindgen-tests/tests/expectations/tests/constify-module-enums-namespace.rs
index 0b8eec1e..0b8eec1e 100644
--- a/tests/expectations/tests/constify-module-enums-namespace.rs
+++ b/bindgen-tests/tests/expectations/tests/constify-module-enums-namespace.rs
diff --git a/tests/expectations/tests/constify-module-enums-shadow-name.rs b/bindgen-tests/tests/expectations/tests/constify-module-enums-shadow-name.rs
index 44643d0f..44643d0f 100644
--- a/tests/expectations/tests/constify-module-enums-shadow-name.rs
+++ b/bindgen-tests/tests/expectations/tests/constify-module-enums-shadow-name.rs
diff --git a/tests/expectations/tests/constify-module-enums-simple-alias.rs b/bindgen-tests/tests/expectations/tests/constify-module-enums-simple-alias.rs
index 0262b128..0262b128 100644
--- a/tests/expectations/tests/constify-module-enums-simple-alias.rs
+++ b/bindgen-tests/tests/expectations/tests/constify-module-enums-simple-alias.rs
diff --git a/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs b/bindgen-tests/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs
index 75ebf48a..75ebf48a 100644
--- a/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs
+++ b/bindgen-tests/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs
diff --git a/tests/expectations/tests/constify-module-enums-types.rs b/bindgen-tests/tests/expectations/tests/constify-module-enums-types.rs
index c3c6d3ca..c3c6d3ca 100644
--- a/tests/expectations/tests/constify-module-enums-types.rs
+++ b/bindgen-tests/tests/expectations/tests/constify-module-enums-types.rs
diff --git a/tests/expectations/tests/constructor-tp.rs b/bindgen-tests/tests/expectations/tests/constructor-tp.rs
index 4b339dc3..4b339dc3 100644
--- a/tests/expectations/tests/constructor-tp.rs
+++ b/bindgen-tests/tests/expectations/tests/constructor-tp.rs
diff --git a/tests/expectations/tests/constructors.rs b/bindgen-tests/tests/expectations/tests/constructors.rs
index 2f13effb..2f13effb 100644
--- a/tests/expectations/tests/constructors.rs
+++ b/bindgen-tests/tests/expectations/tests/constructors.rs
diff --git a/tests/expectations/tests/constructors_1_33.rs b/bindgen-tests/tests/expectations/tests/constructors_1_33.rs
index b5d33332..b5d33332 100644
--- a/tests/expectations/tests/constructors_1_33.rs
+++ b/bindgen-tests/tests/expectations/tests/constructors_1_33.rs
diff --git a/tests/expectations/tests/contains-vs-inherits-zero-sized.rs b/bindgen-tests/tests/expectations/tests/contains-vs-inherits-zero-sized.rs
index 62fc3749..62fc3749 100644
--- a/tests/expectations/tests/contains-vs-inherits-zero-sized.rs
+++ b/bindgen-tests/tests/expectations/tests/contains-vs-inherits-zero-sized.rs
diff --git a/tests/expectations/tests/convert-cpp-comment-to-rust.rs b/bindgen-tests/tests/expectations/tests/convert-cpp-comment-to-rust.rs
index 09a22c4f..09a22c4f 100644
--- a/tests/expectations/tests/convert-cpp-comment-to-rust.rs
+++ b/bindgen-tests/tests/expectations/tests/convert-cpp-comment-to-rust.rs
diff --git a/tests/expectations/tests/convert-floats.rs b/bindgen-tests/tests/expectations/tests/convert-floats.rs
index e710a442..e710a442 100644
--- a/tests/expectations/tests/convert-floats.rs
+++ b/bindgen-tests/tests/expectations/tests/convert-floats.rs
diff --git a/bindgen-tests/tests/expectations/tests/core_ffi_c.rs b/bindgen-tests/tests/expectations/tests/core_ffi_c.rs
new file mode 100644
index 00000000..7e138a89
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/core_ffi_c.rs
@@ -0,0 +1,20 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+pub type c_char = ::core::ffi::c_char;
+pub type c_double = ::core::ffi::c_double;
+pub type c_float = ::core::ffi::c_float;
+pub type c_int = ::core::ffi::c_int;
+pub type c_long = ::core::ffi::c_long;
+pub type c_longlong = ::core::ffi::c_longlong;
+pub type c_schar = ::core::ffi::c_schar;
+pub type c_short = ::core::ffi::c_short;
+pub type c_uchar = ::core::ffi::c_uchar;
+pub type c_uint = ::core::ffi::c_uint;
+pub type c_ulong = ::core::ffi::c_ulong;
+pub type c_ulonglong = ::core::ffi::c_ulonglong;
+pub type c_ushort = ::core::ffi::c_ushort;
diff --git a/tests/expectations/tests/cpp-empty-layout.rs b/bindgen-tests/tests/expectations/tests/cpp-empty-layout.rs
index f5ba025a..f5ba025a 100644
--- a/tests/expectations/tests/cpp-empty-layout.rs
+++ b/bindgen-tests/tests/expectations/tests/cpp-empty-layout.rs
diff --git a/tests/expectations/tests/crtp.rs b/bindgen-tests/tests/expectations/tests/crtp.rs
index 2372e211..2372e211 100644
--- a/tests/expectations/tests/crtp.rs
+++ b/bindgen-tests/tests/expectations/tests/crtp.rs
diff --git a/tests/expectations/tests/ctypes-prefix-path.rs b/bindgen-tests/tests/expectations/tests/ctypes-prefix-path.rs
index 5b3d186a..5b3d186a 100644
--- a/tests/expectations/tests/ctypes-prefix-path.rs
+++ b/bindgen-tests/tests/expectations/tests/ctypes-prefix-path.rs
diff --git a/tests/expectations/tests/dash_language.rs b/bindgen-tests/tests/expectations/tests/dash_language.rs
index eb2bbc76..eb2bbc76 100644
--- a/tests/expectations/tests/dash_language.rs
+++ b/bindgen-tests/tests/expectations/tests/dash_language.rs
diff --git a/tests/expectations/tests/decl_extern_int_twice.rs b/bindgen-tests/tests/expectations/tests/decl_extern_int_twice.rs
index d812b032..d812b032 100644
--- a/tests/expectations/tests/decl_extern_int_twice.rs
+++ b/bindgen-tests/tests/expectations/tests/decl_extern_int_twice.rs
diff --git a/tests/expectations/tests/decl_ptr_to_array.rs b/bindgen-tests/tests/expectations/tests/decl_ptr_to_array.rs
index b520f1e0..b520f1e0 100644
--- a/tests/expectations/tests/decl_ptr_to_array.rs
+++ b/bindgen-tests/tests/expectations/tests/decl_ptr_to_array.rs
diff --git a/tests/expectations/tests/default-enum-style-constified-module.rs b/bindgen-tests/tests/expectations/tests/default-enum-style-constified-module.rs
index 5e225e3d..5e225e3d 100644
--- a/tests/expectations/tests/default-enum-style-constified-module.rs
+++ b/bindgen-tests/tests/expectations/tests/default-enum-style-constified-module.rs
diff --git a/tests/expectations/tests/default-macro-constant-type-signed.rs b/bindgen-tests/tests/expectations/tests/default-macro-constant-type-signed.rs
index 38ebc531..38ebc531 100644
--- a/tests/expectations/tests/default-macro-constant-type-signed.rs
+++ b/bindgen-tests/tests/expectations/tests/default-macro-constant-type-signed.rs
diff --git a/tests/expectations/tests/default-macro-constant-type-unsigned.rs b/bindgen-tests/tests/expectations/tests/default-macro-constant-type-unsigned.rs
index 5571563b..5571563b 100644
--- a/tests/expectations/tests/default-macro-constant-type-unsigned.rs
+++ b/bindgen-tests/tests/expectations/tests/default-macro-constant-type-unsigned.rs
diff --git a/tests/expectations/tests/default-macro-constant-type.rs b/bindgen-tests/tests/expectations/tests/default-macro-constant-type.rs
index 5571563b..5571563b 100644
--- a/tests/expectations/tests/default-macro-constant-type.rs
+++ b/bindgen-tests/tests/expectations/tests/default-macro-constant-type.rs
diff --git a/tests/expectations/tests/default-template-parameter.rs b/bindgen-tests/tests/expectations/tests/default-template-parameter.rs
index 2cbe463c..2cbe463c 100644
--- a/tests/expectations/tests/default-template-parameter.rs
+++ b/bindgen-tests/tests/expectations/tests/default-template-parameter.rs
diff --git a/tests/expectations/tests/deleted-function.rs b/bindgen-tests/tests/expectations/tests/deleted-function.rs
index 96967bb4..96967bb4 100644
--- a/tests/expectations/tests/deleted-function.rs
+++ b/bindgen-tests/tests/expectations/tests/deleted-function.rs
diff --git a/tests/expectations/tests/derive-bitfield-method-same-name.rs b/bindgen-tests/tests/expectations/tests/derive-bitfield-method-same-name.rs
index ea6621dd..ea6621dd 100644
--- a/tests/expectations/tests/derive-bitfield-method-same-name.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-bitfield-method-same-name.rs
diff --git a/tests/expectations/tests/derive-clone.rs b/bindgen-tests/tests/expectations/tests/derive-clone.rs
index 19c28b69..19c28b69 100644
--- a/tests/expectations/tests/derive-clone.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-clone.rs
diff --git a/tests/expectations/tests/derive-clone_1_0.rs b/bindgen-tests/tests/expectations/tests/derive-clone_1_0.rs
index 3d72db2f..3d72db2f 100644
--- a/tests/expectations/tests/derive-clone_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-clone_1_0.rs
diff --git a/tests/expectations/tests/derive-custom.rs b/bindgen-tests/tests/expectations/tests/derive-custom.rs
index 542b6bb2..542b6bb2 100644
--- a/tests/expectations/tests/derive-custom.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-custom.rs
diff --git a/tests/expectations/tests/derive-debug-bitfield-core.rs b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-core.rs
index 2a78e930..2a78e930 100644
--- a/tests/expectations/tests/derive-debug-bitfield-core.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield-core.rs
diff --git a/tests/expectations/tests/derive-debug-bitfield.rs b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield.rs
index 0ae8f329..0ae8f329 100644
--- a/tests/expectations/tests/derive-debug-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-bitfield.rs
diff --git a/tests/expectations/tests/derive-debug-function-pointer.rs b/bindgen-tests/tests/expectations/tests/derive-debug-function-pointer.rs
index 16b127bf..16b127bf 100644
--- a/tests/expectations/tests/derive-debug-function-pointer.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-function-pointer.rs
diff --git a/tests/expectations/tests/derive-debug-generic.rs b/bindgen-tests/tests/expectations/tests/derive-debug-generic.rs
index 49d4e9b8..49d4e9b8 100644
--- a/tests/expectations/tests/derive-debug-generic.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-generic.rs
diff --git a/tests/expectations/tests/derive-debug-mangle-name.rs b/bindgen-tests/tests/expectations/tests/derive-debug-mangle-name.rs
index a757d679..a757d679 100644
--- a/tests/expectations/tests/derive-debug-mangle-name.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-mangle-name.rs
diff --git a/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs b/bindgen-tests/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs
index a0cc87ff..a0cc87ff 100644
--- a/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs
diff --git a/tests/expectations/tests/derive-debug-opaque.rs b/bindgen-tests/tests/expectations/tests/derive-debug-opaque.rs
index 5cebc9b8..5cebc9b8 100644
--- a/tests/expectations/tests/derive-debug-opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-debug-opaque.rs
diff --git a/tests/expectations/tests/derive-default-and-blocklist.rs b/bindgen-tests/tests/expectations/tests/derive-default-and-blocklist.rs
index fe3790c2..fe3790c2 100644
--- a/tests/expectations/tests/derive-default-and-blocklist.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-default-and-blocklist.rs
diff --git a/tests/expectations/tests/derive-fn-ptr.rs b/bindgen-tests/tests/expectations/tests/derive-fn-ptr.rs
index 9da0a40a..9da0a40a 100644
--- a/tests/expectations/tests/derive-fn-ptr.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-fn-ptr.rs
diff --git a/tests/expectations/tests/derive-hash-and-blocklist.rs b/bindgen-tests/tests/expectations/tests/derive-hash-and-blocklist.rs
index c677b15e..c677b15e 100644
--- a/tests/expectations/tests/derive-hash-and-blocklist.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-hash-and-blocklist.rs
diff --git a/tests/expectations/tests/derive-hash-blocklisting.rs b/bindgen-tests/tests/expectations/tests/derive-hash-blocklisting.rs
index 868bf9f2..868bf9f2 100644
--- a/tests/expectations/tests/derive-hash-blocklisting.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-hash-blocklisting.rs
diff --git a/tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs b/bindgen-tests/tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs
index 78c8449b..78c8449b 100644
--- a/tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs
diff --git a/tests/expectations/tests/derive-hash-struct-with-float-array.rs b/bindgen-tests/tests/expectations/tests/derive-hash-struct-with-float-array.rs
index a3f6013b..a3f6013b 100644
--- a/tests/expectations/tests/derive-hash-struct-with-float-array.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-hash-struct-with-float-array.rs
diff --git a/tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs b/bindgen-tests/tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs
index 06c8da1b..06c8da1b 100644
--- a/tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs
diff --git a/tests/expectations/tests/derive-hash-struct-with-pointer.rs b/bindgen-tests/tests/expectations/tests/derive-hash-struct-with-pointer.rs
index 3efd55c9..3efd55c9 100644
--- a/tests/expectations/tests/derive-hash-struct-with-pointer.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-hash-struct-with-pointer.rs
diff --git a/tests/expectations/tests/derive-hash-template-def-float.rs b/bindgen-tests/tests/expectations/tests/derive-hash-template-def-float.rs
index 5e07a611..5e07a611 100644
--- a/tests/expectations/tests/derive-hash-template-def-float.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-hash-template-def-float.rs
diff --git a/tests/expectations/tests/derive-hash-template-inst-float.rs b/bindgen-tests/tests/expectations/tests/derive-hash-template-inst-float.rs
index b2e2d8d0..b2e2d8d0 100644
--- a/tests/expectations/tests/derive-hash-template-inst-float.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-hash-template-inst-float.rs
diff --git a/tests/expectations/tests/derive-partialeq-and-blocklist.rs b/bindgen-tests/tests/expectations/tests/derive-partialeq-and-blocklist.rs
index c772c0b9..c772c0b9 100644
--- a/tests/expectations/tests/derive-partialeq-and-blocklist.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-partialeq-and-blocklist.rs
diff --git a/tests/expectations/tests/derive-partialeq-anonfield.rs b/bindgen-tests/tests/expectations/tests/derive-partialeq-anonfield.rs
index 16d4381f..16d4381f 100644
--- a/tests/expectations/tests/derive-partialeq-anonfield.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-partialeq-anonfield.rs
diff --git a/tests/expectations/tests/derive-partialeq-base.rs b/bindgen-tests/tests/expectations/tests/derive-partialeq-base.rs
index 840720f2..840720f2 100644
--- a/tests/expectations/tests/derive-partialeq-base.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-partialeq-base.rs
diff --git a/tests/expectations/tests/derive-partialeq-bitfield.rs b/bindgen-tests/tests/expectations/tests/derive-partialeq-bitfield.rs
index cb9781de..cb9781de 100644
--- a/tests/expectations/tests/derive-partialeq-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-partialeq-bitfield.rs
diff --git a/tests/expectations/tests/derive-partialeq-core.rs b/bindgen-tests/tests/expectations/tests/derive-partialeq-core.rs
index 620b40fa..620b40fa 100644
--- a/tests/expectations/tests/derive-partialeq-core.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-partialeq-core.rs
diff --git a/tests/expectations/tests/derive-partialeq-pointer.rs b/bindgen-tests/tests/expectations/tests/derive-partialeq-pointer.rs
index e0d3c062..e0d3c062 100644
--- a/tests/expectations/tests/derive-partialeq-pointer.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-partialeq-pointer.rs
diff --git a/tests/expectations/tests/derive-partialeq-union.rs b/bindgen-tests/tests/expectations/tests/derive-partialeq-union.rs
index 5ffd0bcd..5ffd0bcd 100644
--- a/tests/expectations/tests/derive-partialeq-union.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-partialeq-union.rs
diff --git a/tests/expectations/tests/derive-partialeq-union_1_0.rs b/bindgen-tests/tests/expectations/tests/derive-partialeq-union_1_0.rs
index a53b9ba8..a53b9ba8 100644
--- a/tests/expectations/tests/derive-partialeq-union_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/derive-partialeq-union_1_0.rs
diff --git a/tests/expectations/tests/disable-namespacing.rs b/bindgen-tests/tests/expectations/tests/disable-namespacing.rs
index 626bb060..626bb060 100644
--- a/tests/expectations/tests/disable-namespacing.rs
+++ b/bindgen-tests/tests/expectations/tests/disable-namespacing.rs
diff --git a/tests/expectations/tests/disable-nested-struct-naming.rs b/bindgen-tests/tests/expectations/tests/disable-nested-struct-naming.rs
index ce8a01ad..ce8a01ad 100644
--- a/tests/expectations/tests/disable-nested-struct-naming.rs
+++ b/bindgen-tests/tests/expectations/tests/disable-nested-struct-naming.rs
diff --git a/tests/expectations/tests/disable-untagged-union.rs b/bindgen-tests/tests/expectations/tests/disable-untagged-union.rs
index 515f496b..515f496b 100644
--- a/tests/expectations/tests/disable-untagged-union.rs
+++ b/bindgen-tests/tests/expectations/tests/disable-untagged-union.rs
diff --git a/tests/expectations/tests/divide-by-zero-in-struct-layout.rs b/bindgen-tests/tests/expectations/tests/divide-by-zero-in-struct-layout.rs
index 721d71e2..721d71e2 100644
--- a/tests/expectations/tests/divide-by-zero-in-struct-layout.rs
+++ b/bindgen-tests/tests/expectations/tests/divide-by-zero-in-struct-layout.rs
diff --git a/tests/expectations/tests/do-not-derive-copy.rs b/bindgen-tests/tests/expectations/tests/do-not-derive-copy.rs
index 4f9081ad..4f9081ad 100644
--- a/tests/expectations/tests/do-not-derive-copy.rs
+++ b/bindgen-tests/tests/expectations/tests/do-not-derive-copy.rs
diff --git a/tests/expectations/tests/doggo-or-null.rs b/bindgen-tests/tests/expectations/tests/doggo-or-null.rs
index 90287159..90287159 100644
--- a/tests/expectations/tests/doggo-or-null.rs
+++ b/bindgen-tests/tests/expectations/tests/doggo-or-null.rs
diff --git a/tests/expectations/tests/dupe-enum-variant-in-namespace.rs b/bindgen-tests/tests/expectations/tests/dupe-enum-variant-in-namespace.rs
index 85e45392..85e45392 100644
--- a/tests/expectations/tests/dupe-enum-variant-in-namespace.rs
+++ b/bindgen-tests/tests/expectations/tests/dupe-enum-variant-in-namespace.rs
diff --git a/tests/expectations/tests/duplicated-namespaces-definitions.rs b/bindgen-tests/tests/expectations/tests/duplicated-namespaces-definitions.rs
index 8e7c895b..8e7c895b 100644
--- a/tests/expectations/tests/duplicated-namespaces-definitions.rs
+++ b/bindgen-tests/tests/expectations/tests/duplicated-namespaces-definitions.rs
diff --git a/tests/expectations/tests/duplicated-namespaces.rs b/bindgen-tests/tests/expectations/tests/duplicated-namespaces.rs
index 0bbceac8..0bbceac8 100644
--- a/tests/expectations/tests/duplicated-namespaces.rs
+++ b/bindgen-tests/tests/expectations/tests/duplicated-namespaces.rs
diff --git a/tests/expectations/tests/duplicated_constants_in_ns.rs b/bindgen-tests/tests/expectations/tests/duplicated_constants_in_ns.rs
index 3b3405db..3b3405db 100644
--- a/tests/expectations/tests/duplicated_constants_in_ns.rs
+++ b/bindgen-tests/tests/expectations/tests/duplicated_constants_in_ns.rs
diff --git a/tests/expectations/tests/dynamic_loading_attributes.rs b/bindgen-tests/tests/expectations/tests/dynamic_loading_attributes.rs
index b50fbd08..c834752e 100644
--- a/tests/expectations/tests/dynamic_loading_attributes.rs
+++ b/bindgen-tests/tests/expectations/tests/dynamic_loading_attributes.rs
@@ -38,11 +38,11 @@ impl TestLib {
})
}
#[must_use]
- #[doc = " @brief A function"]
- #[doc = ""]
- #[doc = " @param x"]
- #[doc = " @param y"]
- #[doc = " @return int"]
+ /// @brief A function
+ ///
+ /// @param x
+ /// @param y
+ /// @return int
pub unsafe fn foo(
&self,
x: ::std::os::raw::c_int,
diff --git a/tests/expectations/tests/dynamic_loading_required.rs b/bindgen-tests/tests/expectations/tests/dynamic_loading_required.rs
index e46ffd49..e46ffd49 100644
--- a/tests/expectations/tests/dynamic_loading_required.rs
+++ b/bindgen-tests/tests/expectations/tests/dynamic_loading_required.rs
diff --git a/tests/expectations/tests/dynamic_loading_simple.rs b/bindgen-tests/tests/expectations/tests/dynamic_loading_simple.rs
index cae5bd69..cae5bd69 100644
--- a/tests/expectations/tests/dynamic_loading_simple.rs
+++ b/bindgen-tests/tests/expectations/tests/dynamic_loading_simple.rs
diff --git a/tests/expectations/tests/dynamic_loading_template.rs b/bindgen-tests/tests/expectations/tests/dynamic_loading_template.rs
index 06e67ed7..06e67ed7 100644
--- a/tests/expectations/tests/dynamic_loading_template.rs
+++ b/bindgen-tests/tests/expectations/tests/dynamic_loading_template.rs
diff --git a/tests/expectations/tests/dynamic_loading_with_allowlist.rs b/bindgen-tests/tests/expectations/tests/dynamic_loading_with_allowlist.rs
index 97bb67ab..97bb67ab 100644
--- a/tests/expectations/tests/dynamic_loading_with_allowlist.rs
+++ b/bindgen-tests/tests/expectations/tests/dynamic_loading_with_allowlist.rs
diff --git a/tests/expectations/tests/dynamic_loading_with_blocklist.rs b/bindgen-tests/tests/expectations/tests/dynamic_loading_with_blocklist.rs
index af482ad9..af482ad9 100644
--- a/tests/expectations/tests/dynamic_loading_with_blocklist.rs
+++ b/bindgen-tests/tests/expectations/tests/dynamic_loading_with_blocklist.rs
diff --git a/tests/expectations/tests/dynamic_loading_with_class.rs b/bindgen-tests/tests/expectations/tests/dynamic_loading_with_class.rs
index 514cff73..514cff73 100644
--- a/tests/expectations/tests/dynamic_loading_with_class.rs
+++ b/bindgen-tests/tests/expectations/tests/dynamic_loading_with_class.rs
diff --git a/tests/expectations/tests/elaborated.rs b/bindgen-tests/tests/expectations/tests/elaborated.rs
index 47416016..47416016 100644
--- a/tests/expectations/tests/elaborated.rs
+++ b/bindgen-tests/tests/expectations/tests/elaborated.rs
diff --git a/tests/expectations/tests/empty-enum.rs b/bindgen-tests/tests/expectations/tests/empty-enum.rs
index fe188b3e..fe188b3e 100644
--- a/tests/expectations/tests/empty-enum.rs
+++ b/bindgen-tests/tests/expectations/tests/empty-enum.rs
diff --git a/tests/expectations/tests/empty-union.rs b/bindgen-tests/tests/expectations/tests/empty-union.rs
index c21ae2f0..c21ae2f0 100644
--- a/tests/expectations/tests/empty-union.rs
+++ b/bindgen-tests/tests/expectations/tests/empty-union.rs
diff --git a/tests/expectations/tests/empty_template_param_name.rs b/bindgen-tests/tests/expectations/tests/empty_template_param_name.rs
index aa751f77..aa751f77 100644
--- a/tests/expectations/tests/empty_template_param_name.rs
+++ b/bindgen-tests/tests/expectations/tests/empty_template_param_name.rs
diff --git a/tests/expectations/tests/enum-default-bitfield.rs b/bindgen-tests/tests/expectations/tests/enum-default-bitfield.rs
index 4c075766..4c075766 100644
--- a/tests/expectations/tests/enum-default-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-default-bitfield.rs
diff --git a/tests/expectations/tests/enum-default-consts.rs b/bindgen-tests/tests/expectations/tests/enum-default-consts.rs
index ddce26c2..ddce26c2 100644
--- a/tests/expectations/tests/enum-default-consts.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-default-consts.rs
diff --git a/tests/expectations/tests/enum-default-module.rs b/bindgen-tests/tests/expectations/tests/enum-default-module.rs
index ae026d8b..ae026d8b 100644
--- a/tests/expectations/tests/enum-default-module.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-default-module.rs
diff --git a/tests/expectations/tests/enum-default-rust.d b/bindgen-tests/tests/expectations/tests/enum-default-rust.d
index a6540005..a6540005 100644
--- a/tests/expectations/tests/enum-default-rust.d
+++ b/bindgen-tests/tests/expectations/tests/enum-default-rust.d
diff --git a/tests/expectations/tests/enum-default-rust.rs b/bindgen-tests/tests/expectations/tests/enum-default-rust.rs
index c3b728f8..c3b728f8 100644
--- a/tests/expectations/tests/enum-default-rust.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-default-rust.rs
diff --git a/tests/expectations/tests/enum-doc-bitfield.rs b/bindgen-tests/tests/expectations/tests/enum-doc-bitfield.rs
index 3be0438e..3be0438e 100644
--- a/tests/expectations/tests/enum-doc-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-doc-bitfield.rs
diff --git a/tests/expectations/tests/enum-doc-mod.rs b/bindgen-tests/tests/expectations/tests/enum-doc-mod.rs
index 60d6b9f4..60d6b9f4 100644
--- a/tests/expectations/tests/enum-doc-mod.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-doc-mod.rs
diff --git a/tests/expectations/tests/enum-doc-rusty.rs b/bindgen-tests/tests/expectations/tests/enum-doc-rusty.rs
index e7208a9d..e7208a9d 100644
--- a/tests/expectations/tests/enum-doc-rusty.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-doc-rusty.rs
diff --git a/tests/expectations/tests/enum-doc.rs b/bindgen-tests/tests/expectations/tests/enum-doc.rs
index b5d14b3c..b5d14b3c 100644
--- a/tests/expectations/tests/enum-doc.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-doc.rs
diff --git a/tests/expectations/tests/enum-no-debug-rust.rs b/bindgen-tests/tests/expectations/tests/enum-no-debug-rust.rs
index 33c7b5c7..33c7b5c7 100644
--- a/tests/expectations/tests/enum-no-debug-rust.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-no-debug-rust.rs
diff --git a/tests/expectations/tests/enum-translate-type.rs b/bindgen-tests/tests/expectations/tests/enum-translate-type.rs
index 89e6003e..89e6003e 100644
--- a/tests/expectations/tests/enum-translate-type.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-translate-type.rs
diff --git a/tests/expectations/tests/enum-undefault.rs b/bindgen-tests/tests/expectations/tests/enum-undefault.rs
index e5618b91..e5618b91 100644
--- a/tests/expectations/tests/enum-undefault.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-undefault.rs
diff --git a/tests/expectations/tests/enum-variant-replaces.rs b/bindgen-tests/tests/expectations/tests/enum-variant-replaces.rs
index d9276574..d9276574 100644
--- a/tests/expectations/tests/enum-variant-replaces.rs
+++ b/bindgen-tests/tests/expectations/tests/enum-variant-replaces.rs
diff --git a/tests/expectations/tests/enum.rs b/bindgen-tests/tests/expectations/tests/enum.rs
index 65b734a3..65b734a3 100644
--- a/tests/expectations/tests/enum.rs
+++ b/bindgen-tests/tests/expectations/tests/enum.rs
diff --git a/tests/expectations/tests/enum_alias.rs b/bindgen-tests/tests/expectations/tests/enum_alias.rs
index ad62d16f..ad62d16f 100644
--- a/tests/expectations/tests/enum_alias.rs
+++ b/bindgen-tests/tests/expectations/tests/enum_alias.rs
diff --git a/tests/expectations/tests/enum_and_vtable_mangling.rs b/bindgen-tests/tests/expectations/tests/enum_and_vtable_mangling.rs
index f414812b..f414812b 100644
--- a/tests/expectations/tests/enum_and_vtable_mangling.rs
+++ b/bindgen-tests/tests/expectations/tests/enum_and_vtable_mangling.rs
diff --git a/tests/expectations/tests/enum_dupe.rs b/bindgen-tests/tests/expectations/tests/enum_dupe.rs
index 869375bb..869375bb 100644
--- a/tests/expectations/tests/enum_dupe.rs
+++ b/bindgen-tests/tests/expectations/tests/enum_dupe.rs
diff --git a/tests/expectations/tests/enum_explicit_type.rs b/bindgen-tests/tests/expectations/tests/enum_explicit_type.rs
index 29bc5d8c..29bc5d8c 100644
--- a/tests/expectations/tests/enum_explicit_type.rs
+++ b/bindgen-tests/tests/expectations/tests/enum_explicit_type.rs
diff --git a/tests/expectations/tests/enum_explicit_type_constants.rs b/bindgen-tests/tests/expectations/tests/enum_explicit_type_constants.rs
index 0c833b66..0c833b66 100644
--- a/tests/expectations/tests/enum_explicit_type_constants.rs
+++ b/bindgen-tests/tests/expectations/tests/enum_explicit_type_constants.rs
diff --git a/tests/expectations/tests/enum_in_template.rs b/bindgen-tests/tests/expectations/tests/enum_in_template.rs
index c4c06a37..c4c06a37 100644
--- a/tests/expectations/tests/enum_in_template.rs
+++ b/bindgen-tests/tests/expectations/tests/enum_in_template.rs
diff --git a/tests/expectations/tests/enum_in_template_with_typedef.rs b/bindgen-tests/tests/expectations/tests/enum_in_template_with_typedef.rs
index 75dce30c..75dce30c 100644
--- a/tests/expectations/tests/enum_in_template_with_typedef.rs
+++ b/bindgen-tests/tests/expectations/tests/enum_in_template_with_typedef.rs
diff --git a/tests/expectations/tests/enum_negative.rs b/bindgen-tests/tests/expectations/tests/enum_negative.rs
index 02b4baed..02b4baed 100644
--- a/tests/expectations/tests/enum_negative.rs
+++ b/bindgen-tests/tests/expectations/tests/enum_negative.rs
diff --git a/tests/expectations/tests/enum_packed.rs b/bindgen-tests/tests/expectations/tests/enum_packed.rs
index 89b0da46..89b0da46 100644
--- a/tests/expectations/tests/enum_packed.rs
+++ b/bindgen-tests/tests/expectations/tests/enum_packed.rs
diff --git a/tests/expectations/tests/eval-value-dependent.rs b/bindgen-tests/tests/expectations/tests/eval-value-dependent.rs
index 3376bfc6..3376bfc6 100644
--- a/tests/expectations/tests/eval-value-dependent.rs
+++ b/bindgen-tests/tests/expectations/tests/eval-value-dependent.rs
diff --git a/tests/expectations/tests/eval-variadic-template-parameter.rs b/bindgen-tests/tests/expectations/tests/eval-variadic-template-parameter.rs
index 576bb721..576bb721 100644
--- a/tests/expectations/tests/eval-variadic-template-parameter.rs
+++ b/bindgen-tests/tests/expectations/tests/eval-variadic-template-parameter.rs
diff --git a/tests/expectations/tests/explicit-padding.rs b/bindgen-tests/tests/expectations/tests/explicit-padding.rs
index a6ea7671..a6ea7671 100644
--- a/tests/expectations/tests/explicit-padding.rs
+++ b/bindgen-tests/tests/expectations/tests/explicit-padding.rs
diff --git a/tests/expectations/tests/extern-const-struct.rs b/bindgen-tests/tests/expectations/tests/extern-const-struct.rs
index 8060316a..8060316a 100644
--- a/tests/expectations/tests/extern-const-struct.rs
+++ b/bindgen-tests/tests/expectations/tests/extern-const-struct.rs
diff --git a/tests/expectations/tests/extern.rs b/bindgen-tests/tests/expectations/tests/extern.rs
index 7ded13f1..7ded13f1 100644
--- a/tests/expectations/tests/extern.rs
+++ b/bindgen-tests/tests/expectations/tests/extern.rs
diff --git a/tests/expectations/tests/fit-macro-constant-types-signed.rs b/bindgen-tests/tests/expectations/tests/fit-macro-constant-types-signed.rs
index ccb76b85..ccb76b85 100644
--- a/tests/expectations/tests/fit-macro-constant-types-signed.rs
+++ b/bindgen-tests/tests/expectations/tests/fit-macro-constant-types-signed.rs
diff --git a/tests/expectations/tests/fit-macro-constant-types.rs b/bindgen-tests/tests/expectations/tests/fit-macro-constant-types.rs
index d8d3f207..d8d3f207 100644
--- a/tests/expectations/tests/fit-macro-constant-types.rs
+++ b/bindgen-tests/tests/expectations/tests/fit-macro-constant-types.rs
diff --git a/tests/expectations/tests/float128.rs b/bindgen-tests/tests/expectations/tests/float128.rs
index 131dbdf3..131dbdf3 100644
--- a/tests/expectations/tests/float128.rs
+++ b/bindgen-tests/tests/expectations/tests/float128.rs
diff --git a/tests/expectations/tests/forward-declaration-autoptr.rs b/bindgen-tests/tests/expectations/tests/forward-declaration-autoptr.rs
index 9f4fdca0..9f4fdca0 100644
--- a/tests/expectations/tests/forward-declaration-autoptr.rs
+++ b/bindgen-tests/tests/expectations/tests/forward-declaration-autoptr.rs
diff --git a/tests/expectations/tests/forward-enum-decl.rs b/bindgen-tests/tests/expectations/tests/forward-enum-decl.rs
index 0ac550bc..0ac550bc 100644
--- a/tests/expectations/tests/forward-enum-decl.rs
+++ b/bindgen-tests/tests/expectations/tests/forward-enum-decl.rs
diff --git a/tests/expectations/tests/forward-inherit-struct-with-fields.rs b/bindgen-tests/tests/expectations/tests/forward-inherit-struct-with-fields.rs
index 330d766b..330d766b 100644
--- a/tests/expectations/tests/forward-inherit-struct-with-fields.rs
+++ b/bindgen-tests/tests/expectations/tests/forward-inherit-struct-with-fields.rs
diff --git a/tests/expectations/tests/forward-inherit-struct.rs b/bindgen-tests/tests/expectations/tests/forward-inherit-struct.rs
index 2c4546eb..2c4546eb 100644
--- a/tests/expectations/tests/forward-inherit-struct.rs
+++ b/bindgen-tests/tests/expectations/tests/forward-inherit-struct.rs
diff --git a/tests/expectations/tests/forward_declared_complex_types.rs b/bindgen-tests/tests/expectations/tests/forward_declared_complex_types.rs
index c1b1f23d..c1b1f23d 100644
--- a/tests/expectations/tests/forward_declared_complex_types.rs
+++ b/bindgen-tests/tests/expectations/tests/forward_declared_complex_types.rs
diff --git a/tests/expectations/tests/forward_declared_complex_types_1_0.rs b/bindgen-tests/tests/expectations/tests/forward_declared_complex_types_1_0.rs
index ecdbe49d..ecdbe49d 100644
--- a/tests/expectations/tests/forward_declared_complex_types_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/forward_declared_complex_types_1_0.rs
diff --git a/tests/expectations/tests/forward_declared_opaque.rs b/bindgen-tests/tests/expectations/tests/forward_declared_opaque.rs
index 58c02b44..58c02b44 100644
--- a/tests/expectations/tests/forward_declared_opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/forward_declared_opaque.rs
diff --git a/tests/expectations/tests/forward_declared_struct.rs b/bindgen-tests/tests/expectations/tests/forward_declared_struct.rs
index f877666a..f877666a 100644
--- a/tests/expectations/tests/forward_declared_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/forward_declared_struct.rs
diff --git a/tests/expectations/tests/func_proto.rs b/bindgen-tests/tests/expectations/tests/func_proto.rs
index 7ded13f1..7ded13f1 100644
--- a/tests/expectations/tests/func_proto.rs
+++ b/bindgen-tests/tests/expectations/tests/func_proto.rs
diff --git a/tests/expectations/tests/func_ptr.rs b/bindgen-tests/tests/expectations/tests/func_ptr.rs
index 9c718f03..9c718f03 100644
--- a/tests/expectations/tests/func_ptr.rs
+++ b/bindgen-tests/tests/expectations/tests/func_ptr.rs
diff --git a/tests/expectations/tests/func_ptr_in_struct.rs b/bindgen-tests/tests/expectations/tests/func_ptr_in_struct.rs
index 745720d9..745720d9 100644
--- a/tests/expectations/tests/func_ptr_in_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/func_ptr_in_struct.rs
diff --git a/tests/expectations/tests/func_ptr_return_type.rs b/bindgen-tests/tests/expectations/tests/func_ptr_return_type.rs
index 8f2da8ef..8f2da8ef 100644
--- a/tests/expectations/tests/func_ptr_return_type.rs
+++ b/bindgen-tests/tests/expectations/tests/func_ptr_return_type.rs
diff --git a/tests/expectations/tests/func_return_must_use.rs b/bindgen-tests/tests/expectations/tests/func_return_must_use.rs
index 6ea6c704..6ea6c704 100644
--- a/tests/expectations/tests/func_return_must_use.rs
+++ b/bindgen-tests/tests/expectations/tests/func_return_must_use.rs
diff --git a/tests/expectations/tests/func_with_array_arg.rs b/bindgen-tests/tests/expectations/tests/func_with_array_arg.rs
index f98192f8..f98192f8 100644
--- a/tests/expectations/tests/func_with_array_arg.rs
+++ b/bindgen-tests/tests/expectations/tests/func_with_array_arg.rs
diff --git a/tests/expectations/tests/func_with_func_ptr_arg.rs b/bindgen-tests/tests/expectations/tests/func_with_func_ptr_arg.rs
index fb06b88e..fb06b88e 100644
--- a/tests/expectations/tests/func_with_func_ptr_arg.rs
+++ b/bindgen-tests/tests/expectations/tests/func_with_func_ptr_arg.rs
diff --git a/tests/expectations/tests/function-typedef-stdcall.rs b/bindgen-tests/tests/expectations/tests/function-typedef-stdcall.rs
index 11c9ef20..11c9ef20 100644
--- a/tests/expectations/tests/function-typedef-stdcall.rs
+++ b/bindgen-tests/tests/expectations/tests/function-typedef-stdcall.rs
diff --git a/tests/expectations/tests/gen-constructors-neg.rs b/bindgen-tests/tests/expectations/tests/gen-constructors-neg.rs
index f5ba025a..f5ba025a 100644
--- a/tests/expectations/tests/gen-constructors-neg.rs
+++ b/bindgen-tests/tests/expectations/tests/gen-constructors-neg.rs
diff --git a/tests/expectations/tests/gen-constructors.rs b/bindgen-tests/tests/expectations/tests/gen-constructors.rs
index 89b86379..89b86379 100644
--- a/tests/expectations/tests/gen-constructors.rs
+++ b/bindgen-tests/tests/expectations/tests/gen-constructors.rs
diff --git a/tests/expectations/tests/gen-destructors-neg.rs b/bindgen-tests/tests/expectations/tests/gen-destructors-neg.rs
index b87eb1d4..b87eb1d4 100644
--- a/tests/expectations/tests/gen-destructors-neg.rs
+++ b/bindgen-tests/tests/expectations/tests/gen-destructors-neg.rs
diff --git a/tests/expectations/tests/gen-destructors.rs b/bindgen-tests/tests/expectations/tests/gen-destructors.rs
index 1711f76d..1711f76d 100644
--- a/tests/expectations/tests/gen-destructors.rs
+++ b/bindgen-tests/tests/expectations/tests/gen-destructors.rs
diff --git a/tests/expectations/tests/generate-inline.rs b/bindgen-tests/tests/expectations/tests/generate-inline.rs
index 3cb865a4..3cb865a4 100644
--- a/tests/expectations/tests/generate-inline.rs
+++ b/bindgen-tests/tests/expectations/tests/generate-inline.rs
diff --git a/tests/expectations/tests/i128.rs b/bindgen-tests/tests/expectations/tests/i128.rs
index dee57a6d..dee57a6d 100644
--- a/tests/expectations/tests/i128.rs
+++ b/bindgen-tests/tests/expectations/tests/i128.rs
diff --git a/tests/expectations/tests/in_class_typedef.rs b/bindgen-tests/tests/expectations/tests/in_class_typedef.rs
index 7bb7d391..7bb7d391 100644
--- a/tests/expectations/tests/in_class_typedef.rs
+++ b/bindgen-tests/tests/expectations/tests/in_class_typedef.rs
diff --git a/tests/expectations/tests/incomplete-array-padding.rs b/bindgen-tests/tests/expectations/tests/incomplete-array-padding.rs
index 18061ea1..18061ea1 100644
--- a/tests/expectations/tests/incomplete-array-padding.rs
+++ b/bindgen-tests/tests/expectations/tests/incomplete-array-padding.rs
diff --git a/tests/expectations/tests/infinite-macro.rs b/bindgen-tests/tests/expectations/tests/infinite-macro.rs
index 081a0c29..081a0c29 100644
--- a/tests/expectations/tests/infinite-macro.rs
+++ b/bindgen-tests/tests/expectations/tests/infinite-macro.rs
diff --git a/tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs b/bindgen-tests/tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs
index 0876878e..0876878e 100644
--- a/tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs
+++ b/bindgen-tests/tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs
diff --git a/tests/expectations/tests/inherit-namespaced.rs b/bindgen-tests/tests/expectations/tests/inherit-namespaced.rs
index 2c4546eb..2c4546eb 100644
--- a/tests/expectations/tests/inherit-namespaced.rs
+++ b/bindgen-tests/tests/expectations/tests/inherit-namespaced.rs
diff --git a/tests/expectations/tests/inherit_named.rs b/bindgen-tests/tests/expectations/tests/inherit_named.rs
index a8eee207..a8eee207 100644
--- a/tests/expectations/tests/inherit_named.rs
+++ b/bindgen-tests/tests/expectations/tests/inherit_named.rs
diff --git a/tests/expectations/tests/inherit_typedef.rs b/bindgen-tests/tests/expectations/tests/inherit_typedef.rs
index 285dd44f..285dd44f 100644
--- a/tests/expectations/tests/inherit_typedef.rs
+++ b/bindgen-tests/tests/expectations/tests/inherit_typedef.rs
diff --git a/tests/expectations/tests/inline-function.rs b/bindgen-tests/tests/expectations/tests/inline-function.rs
index 131dbdf3..131dbdf3 100644
--- a/tests/expectations/tests/inline-function.rs
+++ b/bindgen-tests/tests/expectations/tests/inline-function.rs
diff --git a/tests/expectations/tests/inline_namespace.rs b/bindgen-tests/tests/expectations/tests/inline_namespace.rs
index c569bba6..c569bba6 100644
--- a/tests/expectations/tests/inline_namespace.rs
+++ b/bindgen-tests/tests/expectations/tests/inline_namespace.rs
diff --git a/tests/expectations/tests/inline_namespace_allowlist.rs b/bindgen-tests/tests/expectations/tests/inline_namespace_allowlist.rs
index 1f4bc686..1f4bc686 100644
--- a/tests/expectations/tests/inline_namespace_allowlist.rs
+++ b/bindgen-tests/tests/expectations/tests/inline_namespace_allowlist.rs
diff --git a/tests/expectations/tests/inline_namespace_conservative.rs b/bindgen-tests/tests/expectations/tests/inline_namespace_conservative.rs
index 4ffafd46..4ffafd46 100644
--- a/tests/expectations/tests/inline_namespace_conservative.rs
+++ b/bindgen-tests/tests/expectations/tests/inline_namespace_conservative.rs
diff --git a/bindgen-tests/tests/expectations/tests/inline_namespace_nested.rs b/bindgen-tests/tests/expectations/tests/inline_namespace_nested.rs
new file mode 100644
index 00000000..29b5b35f
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/inline_namespace_nested.rs
@@ -0,0 +1,21 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
+pub mod root {
+ #[allow(unused_imports)]
+ use self::super::root;
+ pub mod ranges {
+ #[allow(unused_imports)]
+ use self::super::super::root;
+ pub mod bar {
+ #[allow(unused_imports)]
+ use self::super::super::super::root;
+ pub const bar: ::std::os::raw::c_int = 0;
+ }
+ }
+}
diff --git a/tests/expectations/tests/inline_namespace_no_ns_enabled.rs b/bindgen-tests/tests/expectations/tests/inline_namespace_no_ns_enabled.rs
index 7a0c9935..7a0c9935 100644
--- a/tests/expectations/tests/inline_namespace_no_ns_enabled.rs
+++ b/bindgen-tests/tests/expectations/tests/inline_namespace_no_ns_enabled.rs
diff --git a/bindgen-tests/tests/expectations/tests/inner-typedef-gh422.rs b/bindgen-tests/tests/expectations/tests/inner-typedef-gh422.rs
new file mode 100644
index 00000000..1cfa549c
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/inner-typedef-gh422.rs
@@ -0,0 +1,37 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct Foo {
+ pub _address: u8,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Foo_InnerType<T> {
+ pub t: T,
+ pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
+}
+impl<T> Default for Foo_InnerType<T> {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type Bar = InnerType;
+extern "C" {
+ #[link_name = "\u{1}_Z4funcv"]
+ pub fn func() -> Bar;
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct InnerType {
+ pub _address: u8,
+}
diff --git a/tests/expectations/tests/inner_const.rs b/bindgen-tests/tests/expectations/tests/inner_const.rs
index 69a7c39a..69a7c39a 100644
--- a/tests/expectations/tests/inner_const.rs
+++ b/bindgen-tests/tests/expectations/tests/inner_const.rs
diff --git a/tests/expectations/tests/inner_template_self.rs b/bindgen-tests/tests/expectations/tests/inner_template_self.rs
index 13d9ac14..13d9ac14 100644
--- a/tests/expectations/tests/inner_template_self.rs
+++ b/bindgen-tests/tests/expectations/tests/inner_template_self.rs
diff --git a/tests/expectations/tests/int128_t.rs b/bindgen-tests/tests/expectations/tests/int128_t.rs
index 131dbdf3..131dbdf3 100644
--- a/tests/expectations/tests/int128_t.rs
+++ b/bindgen-tests/tests/expectations/tests/int128_t.rs
diff --git a/tests/expectations/tests/issue-1025-unknown-enum-repr.rs b/bindgen-tests/tests/expectations/tests/issue-1025-unknown-enum-repr.rs
index c42e167f..c42e167f 100644
--- a/tests/expectations/tests/issue-1025-unknown-enum-repr.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1025-unknown-enum-repr.rs
diff --git a/tests/expectations/tests/issue-1034.rs b/bindgen-tests/tests/expectations/tests/issue-1034.rs
index 32f4310e..32f4310e 100644
--- a/tests/expectations/tests/issue-1034.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1034.rs
diff --git a/tests/expectations/tests/issue-1040.rs b/bindgen-tests/tests/expectations/tests/issue-1040.rs
index 8503e8d2..8503e8d2 100644
--- a/tests/expectations/tests/issue-1040.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1040.rs
diff --git a/tests/expectations/tests/issue-1076-unnamed-bitfield-alignment.rs b/bindgen-tests/tests/expectations/tests/issue-1076-unnamed-bitfield-alignment.rs
index d91dd8fa..d91dd8fa 100644
--- a/tests/expectations/tests/issue-1076-unnamed-bitfield-alignment.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1076-unnamed-bitfield-alignment.rs
diff --git a/tests/expectations/tests/issue-1113-template-references.rs b/bindgen-tests/tests/expectations/tests/issue-1113-template-references.rs
index c1465835..c1465835 100644
--- a/tests/expectations/tests/issue-1113-template-references.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1113-template-references.rs
diff --git a/tests/expectations/tests/issue-1118-using-forward-decl.rs b/bindgen-tests/tests/expectations/tests/issue-1118-using-forward-decl.rs
index e881c8c4..e881c8c4 100644
--- a/tests/expectations/tests/issue-1118-using-forward-decl.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1118-using-forward-decl.rs
diff --git a/tests/expectations/tests/issue-1197-pure-virtual-stuff.rs b/bindgen-tests/tests/expectations/tests/issue-1197-pure-virtual-stuff.rs
index fd023363..fd023363 100644
--- a/tests/expectations/tests/issue-1197-pure-virtual-stuff.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1197-pure-virtual-stuff.rs
diff --git a/tests/expectations/tests/issue-1198-alias-rust-bitfield-enum.rs b/bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-bitfield-enum.rs
index ed9f7c9b..ed9f7c9b 100644
--- a/tests/expectations/tests/issue-1198-alias-rust-bitfield-enum.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-bitfield-enum.rs
diff --git a/tests/expectations/tests/issue-1198-alias-rust-const-mod-bitfield-enum.rs b/bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-const-mod-bitfield-enum.rs
index 81c74abb..81c74abb 100644
--- a/tests/expectations/tests/issue-1198-alias-rust-const-mod-bitfield-enum.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-const-mod-bitfield-enum.rs
diff --git a/tests/expectations/tests/issue-1198-alias-rust-const-mod-enum.rs b/bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-const-mod-enum.rs
index 81c74abb..81c74abb 100644
--- a/tests/expectations/tests/issue-1198-alias-rust-const-mod-enum.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-const-mod-enum.rs
diff --git a/tests/expectations/tests/issue-1198-alias-rust-enum.rs b/bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-enum.rs
index fda73a02..fda73a02 100644
--- a/tests/expectations/tests/issue-1198-alias-rust-enum.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1198-alias-rust-enum.rs
diff --git a/tests/expectations/tests/issue-1216-variadic-member.rs b/bindgen-tests/tests/expectations/tests/issue-1216-variadic-member.rs
index bb57c856..bb57c856 100644
--- a/tests/expectations/tests/issue-1216-variadic-member.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1216-variadic-member.rs
diff --git a/tests/expectations/tests/issue-1238-fwd-no-copy.rs b/bindgen-tests/tests/expectations/tests/issue-1238-fwd-no-copy.rs
index 006900cb..006900cb 100644
--- a/tests/expectations/tests/issue-1238-fwd-no-copy.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1238-fwd-no-copy.rs
diff --git a/tests/expectations/tests/issue-1281.rs b/bindgen-tests/tests/expectations/tests/issue-1281.rs
index db99cbce..db99cbce 100644
--- a/tests/expectations/tests/issue-1281.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1281.rs
diff --git a/tests/expectations/tests/issue-1285.rs b/bindgen-tests/tests/expectations/tests/issue-1285.rs
index 08aab0a9..08aab0a9 100644
--- a/tests/expectations/tests/issue-1285.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1285.rs
diff --git a/tests/expectations/tests/issue-1291.rs b/bindgen-tests/tests/expectations/tests/issue-1291.rs
index 25f4f105..25f4f105 100644
--- a/tests/expectations/tests/issue-1291.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1291.rs
diff --git a/tests/expectations/tests/issue-1350-attribute-overloadable.rs b/bindgen-tests/tests/expectations/tests/issue-1350-attribute-overloadable.rs
index 4deed060..4deed060 100644
--- a/tests/expectations/tests/issue-1350-attribute-overloadable.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1350-attribute-overloadable.rs
diff --git a/tests/expectations/tests/issue-1375-prefixed-functions.rs b/bindgen-tests/tests/expectations/tests/issue-1375-prefixed-functions.rs
index 835b7579..835b7579 100644
--- a/tests/expectations/tests/issue-1375-prefixed-functions.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1375-prefixed-functions.rs
diff --git a/tests/expectations/tests/issue-1382-rust-primitive-types.rs b/bindgen-tests/tests/expectations/tests/issue-1382-rust-primitive-types.rs
index b767d5e4..b767d5e4 100644
--- a/tests/expectations/tests/issue-1382-rust-primitive-types.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1382-rust-primitive-types.rs
diff --git a/tests/expectations/tests/issue-1435.rs b/bindgen-tests/tests/expectations/tests/issue-1435.rs
index 79ed7b29..79ed7b29 100644
--- a/tests/expectations/tests/issue-1435.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1435.rs
diff --git a/tests/expectations/tests/issue-1443.rs b/bindgen-tests/tests/expectations/tests/issue-1443.rs
index 48cae79f..48cae79f 100644
--- a/tests/expectations/tests/issue-1443.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1443.rs
diff --git a/tests/expectations/tests/issue-1454.rs b/bindgen-tests/tests/expectations/tests/issue-1454.rs
index 8da43cb0..8da43cb0 100644
--- a/tests/expectations/tests/issue-1454.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1454.rs
diff --git a/tests/expectations/tests/issue-1464.rs b/bindgen-tests/tests/expectations/tests/issue-1464.rs
index 131dbdf3..131dbdf3 100644
--- a/tests/expectations/tests/issue-1464.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1464.rs
diff --git a/tests/expectations/tests/issue-1488-enum-new-type.rs b/bindgen-tests/tests/expectations/tests/issue-1488-enum-new-type.rs
index b762659a..b762659a 100644
--- a/tests/expectations/tests/issue-1488-enum-new-type.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1488-enum-new-type.rs
diff --git a/tests/expectations/tests/issue-1488-options.rs b/bindgen-tests/tests/expectations/tests/issue-1488-options.rs
index cf13b562..cf13b562 100644
--- a/tests/expectations/tests/issue-1488-options.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1488-options.rs
diff --git a/tests/expectations/tests/issue-1488-template-alias-new-type.rs b/bindgen-tests/tests/expectations/tests/issue-1488-template-alias-new-type.rs
index 1af0c575..1af0c575 100644
--- a/tests/expectations/tests/issue-1488-template-alias-new-type.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1488-template-alias-new-type.rs
diff --git a/tests/expectations/tests/issue-1498.rs b/bindgen-tests/tests/expectations/tests/issue-1498.rs
index 08ba9ef4..eb5e2804 100644
--- a/tests/expectations/tests/issue-1498.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1498.rs
@@ -5,7 +5,6 @@
non_upper_case_globals
)]
-pub type size_t = u64;
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct rte_memseg {
@@ -13,7 +12,7 @@ pub struct rte_memseg {
pub phys_addr: u64,
pub __bindgen_anon_1: rte_memseg__bindgen_ty_1,
///< Length of the segment.
- pub len: size_t,
+ pub len: usize,
///< The pagesize of underlying memory
pub hugepage_sz: u64,
///< NUMA socket ID.
diff --git a/tests/expectations/tests/issue-1514.rs b/bindgen-tests/tests/expectations/tests/issue-1514.rs
index 31939ca5..31939ca5 100644
--- a/tests/expectations/tests/issue-1514.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1514.rs
diff --git a/tests/expectations/tests/issue-1554.rs b/bindgen-tests/tests/expectations/tests/issue-1554.rs
index 7e7cddd6..7e7cddd6 100644
--- a/tests/expectations/tests/issue-1554.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1554.rs
diff --git a/tests/expectations/tests/issue-1599-opaque-typedef-to-enum.rs b/bindgen-tests/tests/expectations/tests/issue-1599-opaque-typedef-to-enum.rs
index eacb3411..eacb3411 100644
--- a/tests/expectations/tests/issue-1599-opaque-typedef-to-enum.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1599-opaque-typedef-to-enum.rs
diff --git a/tests/expectations/tests/issue-1676-macro-namespace-prefix.rs b/bindgen-tests/tests/expectations/tests/issue-1676-macro-namespace-prefix.rs
index 131dbdf3..131dbdf3 100644
--- a/tests/expectations/tests/issue-1676-macro-namespace-prefix.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1676-macro-namespace-prefix.rs
diff --git a/tests/expectations/tests/issue-1947.rs b/bindgen-tests/tests/expectations/tests/issue-1947.rs
index e133ed85..e133ed85 100644
--- a/tests/expectations/tests/issue-1947.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1947.rs
diff --git a/tests/expectations/tests/issue-1977-larger-arrays.rs b/bindgen-tests/tests/expectations/tests/issue-1977-larger-arrays.rs
index 6375ea7e..6375ea7e 100644
--- a/tests/expectations/tests/issue-1977-larger-arrays.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1977-larger-arrays.rs
diff --git a/tests/expectations/tests/issue-1995.rs b/bindgen-tests/tests/expectations/tests/issue-1995.rs
index 890479b5..890479b5 100644
--- a/tests/expectations/tests/issue-1995.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-1995.rs
diff --git a/tests/expectations/tests/issue-2019.rs b/bindgen-tests/tests/expectations/tests/issue-2019.rs
index 294e9f0e..294e9f0e 100644
--- a/tests/expectations/tests/issue-2019.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-2019.rs
diff --git a/tests/expectations/tests/issue-2239-template-dependent-bit-width.rs b/bindgen-tests/tests/expectations/tests/issue-2239-template-dependent-bit-width.rs
index 75ec9e43..75ec9e43 100644
--- a/tests/expectations/tests/issue-2239-template-dependent-bit-width.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-2239-template-dependent-bit-width.rs
diff --git a/tests/expectations/tests/issue-358.rs b/bindgen-tests/tests/expectations/tests/issue-358.rs
index e9ee0f50..e9ee0f50 100644
--- a/tests/expectations/tests/issue-358.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-358.rs
diff --git a/tests/expectations/tests/issue-372.rs b/bindgen-tests/tests/expectations/tests/issue-372.rs
index e87fb4d1..e87fb4d1 100644
--- a/tests/expectations/tests/issue-372.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-372.rs
diff --git a/tests/expectations/tests/issue-410.rs b/bindgen-tests/tests/expectations/tests/issue-410.rs
index ad7463c2..ad7463c2 100644
--- a/tests/expectations/tests/issue-410.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-410.rs
diff --git a/tests/expectations/tests/issue-446.rs b/bindgen-tests/tests/expectations/tests/issue-446.rs
index db69f159..db69f159 100644
--- a/tests/expectations/tests/issue-446.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-446.rs
diff --git a/tests/expectations/tests/issue-447.rs b/bindgen-tests/tests/expectations/tests/issue-447.rs
index 949db73b..949db73b 100644
--- a/tests/expectations/tests/issue-447.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-447.rs
diff --git a/tests/expectations/tests/issue-493.rs b/bindgen-tests/tests/expectations/tests/issue-493.rs
index 61c7f792..61c7f792 100644
--- a/tests/expectations/tests/issue-493.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-493.rs
diff --git a/tests/expectations/tests/issue-493_1_0.rs b/bindgen-tests/tests/expectations/tests/issue-493_1_0.rs
index 1a0131c3..1a0131c3 100644
--- a/tests/expectations/tests/issue-493_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-493_1_0.rs
diff --git a/tests/expectations/tests/issue-511.rs b/bindgen-tests/tests/expectations/tests/issue-511.rs
index b7705ef2..b7705ef2 100644
--- a/tests/expectations/tests/issue-511.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-511.rs
diff --git a/tests/expectations/tests/issue-537-repr-packed-n.rs b/bindgen-tests/tests/expectations/tests/issue-537-repr-packed-n.rs
index b1e42ca7..b1e42ca7 100644
--- a/tests/expectations/tests/issue-537-repr-packed-n.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-537-repr-packed-n.rs
diff --git a/tests/expectations/tests/issue-537.rs b/bindgen-tests/tests/expectations/tests/issue-537.rs
index e2be9d63..e2be9d63 100644
--- a/tests/expectations/tests/issue-537.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-537.rs
diff --git a/tests/expectations/tests/issue-544-stylo-creduce-2.rs b/bindgen-tests/tests/expectations/tests/issue-544-stylo-creduce-2.rs
index 6165419d..6165419d 100644
--- a/tests/expectations/tests/issue-544-stylo-creduce-2.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-544-stylo-creduce-2.rs
diff --git a/tests/expectations/tests/issue-544-stylo-creduce.rs b/bindgen-tests/tests/expectations/tests/issue-544-stylo-creduce.rs
index 1516c0a9..1516c0a9 100644
--- a/tests/expectations/tests/issue-544-stylo-creduce.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-544-stylo-creduce.rs
diff --git a/tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs b/bindgen-tests/tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs
index 997a7311..997a7311 100644
--- a/tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs
diff --git a/tests/expectations/tests/issue-573-layout-test-failures.rs b/bindgen-tests/tests/expectations/tests/issue-573-layout-test-failures.rs
index fbff1362..fbff1362 100644
--- a/tests/expectations/tests/issue-573-layout-test-failures.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-573-layout-test-failures.rs
diff --git a/tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs b/bindgen-tests/tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs
index 22aa9d16..22aa9d16 100644
--- a/tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs
diff --git a/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs b/bindgen-tests/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs
index 3765315c..3765315c 100644
--- a/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs
diff --git a/tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs b/bindgen-tests/tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs
index ba886f36..ba886f36 100644
--- a/tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs
diff --git a/tests/expectations/tests/issue-639-typedef-anon-field.rs b/bindgen-tests/tests/expectations/tests/issue-639-typedef-anon-field.rs
index bac8a04c..bac8a04c 100644
--- a/tests/expectations/tests/issue-639-typedef-anon-field.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-639-typedef-anon-field.rs
diff --git a/tests/expectations/tests/issue-643-inner-struct.rs b/bindgen-tests/tests/expectations/tests/issue-643-inner-struct.rs
index b69aa16e..b69aa16e 100644
--- a/tests/expectations/tests/issue-643-inner-struct.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-643-inner-struct.rs
diff --git a/tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs b/bindgen-tests/tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs
index 75d6581e..75d6581e 100644
--- a/tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs
diff --git a/tests/expectations/tests/issue-648-derive-debug-with-padding.rs b/bindgen-tests/tests/expectations/tests/issue-648-derive-debug-with-padding.rs
index 13cdf0c9..13cdf0c9 100644
--- a/tests/expectations/tests/issue-648-derive-debug-with-padding.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-648-derive-debug-with-padding.rs
diff --git a/tests/expectations/tests/issue-654-struct-fn-collision.rs b/bindgen-tests/tests/expectations/tests/issue-654-struct-fn-collision.rs
index 65d3a516..65d3a516 100644
--- a/tests/expectations/tests/issue-654-struct-fn-collision.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-654-struct-fn-collision.rs
diff --git a/tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs b/bindgen-tests/tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs
index 5636a977..5636a977 100644
--- a/tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs
diff --git a/tests/expectations/tests/issue-662-part-2.rs b/bindgen-tests/tests/expectations/tests/issue-662-part-2.rs
index e8d14bfe..e8d14bfe 100644
--- a/tests/expectations/tests/issue-662-part-2.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-662-part-2.rs
diff --git a/tests/expectations/tests/issue-674-1.rs b/bindgen-tests/tests/expectations/tests/issue-674-1.rs
index b37d7a27..b37d7a27 100644
--- a/tests/expectations/tests/issue-674-1.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-674-1.rs
diff --git a/tests/expectations/tests/issue-674-2.rs b/bindgen-tests/tests/expectations/tests/issue-674-2.rs
index 12b2aa20..12b2aa20 100644
--- a/tests/expectations/tests/issue-674-2.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-674-2.rs
diff --git a/tests/expectations/tests/issue-674-3.rs b/bindgen-tests/tests/expectations/tests/issue-674-3.rs
index e7af6b8d..e7af6b8d 100644
--- a/tests/expectations/tests/issue-674-3.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-674-3.rs
diff --git a/tests/expectations/tests/issue-677-nested-ns-specifier.rs b/bindgen-tests/tests/expectations/tests/issue-677-nested-ns-specifier.rs
index 800f0dc8..800f0dc8 100644
--- a/tests/expectations/tests/issue-677-nested-ns-specifier.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-677-nested-ns-specifier.rs
diff --git a/tests/expectations/tests/issue-691-template-parameter-virtual.rs b/bindgen-tests/tests/expectations/tests/issue-691-template-parameter-virtual.rs
index e71b2aae..e71b2aae 100644
--- a/tests/expectations/tests/issue-691-template-parameter-virtual.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-691-template-parameter-virtual.rs
diff --git a/tests/expectations/tests/issue-710-must-use-type.rs b/bindgen-tests/tests/expectations/tests/issue-710-must-use-type.rs
index 1d598241..1d598241 100644
--- a/tests/expectations/tests/issue-710-must-use-type.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-710-must-use-type.rs
diff --git a/tests/expectations/tests/issue-739-pointer-wide-bitfield.rs b/bindgen-tests/tests/expectations/tests/issue-739-pointer-wide-bitfield.rs
index 1a633844..1a633844 100644
--- a/tests/expectations/tests/issue-739-pointer-wide-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-739-pointer-wide-bitfield.rs
diff --git a/tests/expectations/tests/issue-801-opaque-sloppiness.rs b/bindgen-tests/tests/expectations/tests/issue-801-opaque-sloppiness.rs
index b3192b72..b3192b72 100644
--- a/tests/expectations/tests/issue-801-opaque-sloppiness.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-801-opaque-sloppiness.rs
diff --git a/tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs b/bindgen-tests/tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs
index f8869528..f8869528 100644
--- a/tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs
diff --git a/tests/expectations/tests/issue-816.rs b/bindgen-tests/tests/expectations/tests/issue-816.rs
index c7f94106..c7f94106 100644
--- a/tests/expectations/tests/issue-816.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-816.rs
diff --git a/tests/expectations/tests/issue-820-unused-template-param-in-alias.rs b/bindgen-tests/tests/expectations/tests/issue-820-unused-template-param-in-alias.rs
index cfe00784..cfe00784 100644
--- a/tests/expectations/tests/issue-820-unused-template-param-in-alias.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-820-unused-template-param-in-alias.rs
diff --git a/tests/expectations/tests/issue-826-generating-methods-when-asked-not-to.rs b/bindgen-tests/tests/expectations/tests/issue-826-generating-methods-when-asked-not-to.rs
index f5ba025a..f5ba025a 100644
--- a/tests/expectations/tests/issue-826-generating-methods-when-asked-not-to.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-826-generating-methods-when-asked-not-to.rs
diff --git a/tests/expectations/tests/issue-833-1.rs b/bindgen-tests/tests/expectations/tests/issue-833-1.rs
index f91266f6..f91266f6 100644
--- a/tests/expectations/tests/issue-833-1.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-833-1.rs
diff --git a/tests/expectations/tests/issue-833-2.rs b/bindgen-tests/tests/expectations/tests/issue-833-2.rs
index 1dfe1abd..1dfe1abd 100644
--- a/tests/expectations/tests/issue-833-2.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-833-2.rs
diff --git a/tests/expectations/tests/issue-833.rs b/bindgen-tests/tests/expectations/tests/issue-833.rs
index a092fb71..a092fb71 100644
--- a/tests/expectations/tests/issue-833.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-833.rs
diff --git a/tests/expectations/tests/issue-834.rs b/bindgen-tests/tests/expectations/tests/issue-834.rs
index 465341fb..465341fb 100644
--- a/tests/expectations/tests/issue-834.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-834.rs
diff --git a/tests/expectations/tests/issue-848-replacement-system-include.rs b/bindgen-tests/tests/expectations/tests/issue-848-replacement-system-include.rs
index 294df575..294df575 100644
--- a/tests/expectations/tests/issue-848-replacement-system-include.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-848-replacement-system-include.rs
diff --git a/tests/expectations/tests/issue-888-enum-var-decl-jump.rs b/bindgen-tests/tests/expectations/tests/issue-888-enum-var-decl-jump.rs
index 6ac308a7..6ac308a7 100644
--- a/tests/expectations/tests/issue-888-enum-var-decl-jump.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-888-enum-var-decl-jump.rs
diff --git a/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs b/bindgen-tests/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs
index d9c365d8..d9c365d8 100644
--- a/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs
diff --git a/tests/expectations/tests/issue-946.rs b/bindgen-tests/tests/expectations/tests/issue-946.rs
index 897700b3..897700b3 100644
--- a/tests/expectations/tests/issue-946.rs
+++ b/bindgen-tests/tests/expectations/tests/issue-946.rs
diff --git a/tests/expectations/tests/issue_311.rs b/bindgen-tests/tests/expectations/tests/issue_311.rs
index 49e30d84..49e30d84 100644
--- a/tests/expectations/tests/issue_311.rs
+++ b/bindgen-tests/tests/expectations/tests/issue_311.rs
diff --git a/tests/expectations/tests/issue_315.rs b/bindgen-tests/tests/expectations/tests/issue_315.rs
index 71ae1f27..71ae1f27 100644
--- a/tests/expectations/tests/issue_315.rs
+++ b/bindgen-tests/tests/expectations/tests/issue_315.rs
diff --git a/tests/expectations/tests/jsval_layout_opaque.rs b/bindgen-tests/tests/expectations/tests/jsval_layout_opaque.rs
index 2873f6a2..a812e905 100644
--- a/tests/expectations/tests/jsval_layout_opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/jsval_layout_opaque.rs
@@ -94,7 +94,6 @@ where
pub const JSVAL_TAG_SHIFT: u32 = 47;
pub const JSVAL_PAYLOAD_MASK: u64 = 140737488355327;
pub const JSVAL_TAG_MASK: i64 = -140737488355328;
-pub type size_t = ::std::os::raw::c_ulonglong;
#[repr(u8)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum JSValueType {
@@ -186,7 +185,7 @@ pub union jsval_layout {
pub s: jsval_layout__bindgen_ty_2,
pub asDouble: f64,
pub asPtr: *mut ::std::os::raw::c_void,
- pub asWord: size_t,
+ pub asWord: usize,
pub asUIntPtr: usize,
}
#[repr(C)]
diff --git a/tests/expectations/tests/jsval_layout_opaque_1_0.rs b/bindgen-tests/tests/expectations/tests/jsval_layout_opaque_1_0.rs
index 33594c0e..b4394993 100644
--- a/tests/expectations/tests/jsval_layout_opaque_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/jsval_layout_opaque_1_0.rs
@@ -137,7 +137,6 @@ impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
pub const JSVAL_TAG_SHIFT: u32 = 47;
pub const JSVAL_PAYLOAD_MASK: u64 = 140737488355327;
pub const JSVAL_TAG_MASK: i64 = -140737488355328;
-pub type size_t = ::std::os::raw::c_ulonglong;
#[repr(u8)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum JSValueType {
@@ -229,7 +228,7 @@ pub struct jsval_layout {
pub s: __BindgenUnionField<jsval_layout__bindgen_ty_2>,
pub asDouble: __BindgenUnionField<f64>,
pub asPtr: __BindgenUnionField<*mut ::std::os::raw::c_void>,
- pub asWord: __BindgenUnionField<size_t>,
+ pub asWord: __BindgenUnionField<usize>,
pub asUIntPtr: __BindgenUnionField<usize>,
pub bindgen_union_field: u64,
}
diff --git a/tests/expectations/tests/keywords.rs b/bindgen-tests/tests/expectations/tests/keywords.rs
index a1e7f877..a1e7f877 100644
--- a/tests/expectations/tests/keywords.rs
+++ b/bindgen-tests/tests/expectations/tests/keywords.rs
diff --git a/tests/expectations/tests/layout.rs b/bindgen-tests/tests/expectations/tests/layout.rs
index ae417259..ae417259 100644
--- a/tests/expectations/tests/layout.rs
+++ b/bindgen-tests/tests/expectations/tests/layout.rs
diff --git a/tests/expectations/tests/layout_align.rs b/bindgen-tests/tests/expectations/tests/layout_align.rs
index 466e7686..466e7686 100644
--- a/tests/expectations/tests/layout_align.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_align.rs
diff --git a/tests/expectations/tests/layout_arp.rs b/bindgen-tests/tests/expectations/tests/layout_arp.rs
index 6852c236..6852c236 100644
--- a/tests/expectations/tests/layout_arp.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_arp.rs
diff --git a/tests/expectations/tests/layout_array.rs b/bindgen-tests/tests/expectations/tests/layout_array.rs
index f3bbf51e..daf0ad06 100644
--- a/tests/expectations/tests/layout_array.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_array.rs
@@ -9,7 +9,6 @@ pub const RTE_CACHE_LINE_SIZE: u32 = 64;
pub const RTE_MEMPOOL_OPS_NAMESIZE: u32 = 32;
pub const RTE_MEMPOOL_MAX_OPS_IDX: u32 = 16;
pub const RTE_HEAP_NUM_FREELISTS: u32 = 13;
-pub type size_t = ::std::os::raw::c_longlong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rte_mempool {
@@ -279,7 +278,7 @@ pub struct malloc_heap {
pub lock: rte_spinlock_t,
pub free_head: [malloc_heap__bindgen_ty_1; 13usize],
pub alloc_count: ::std::os::raw::c_uint,
- pub total_size: size_t,
+ pub total_size: usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
diff --git a/tests/expectations/tests/layout_array_too_long.rs b/bindgen-tests/tests/expectations/tests/layout_array_too_long.rs
index 56b3c021..56b3c021 100644
--- a/tests/expectations/tests/layout_array_too_long.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_array_too_long.rs
diff --git a/tests/expectations/tests/layout_cmdline_token.rs b/bindgen-tests/tests/expectations/tests/layout_cmdline_token.rs
index 899703bd..899703bd 100644
--- a/tests/expectations/tests/layout_cmdline_token.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_cmdline_token.rs
diff --git a/tests/expectations/tests/layout_eth_conf.rs b/bindgen-tests/tests/expectations/tests/layout_eth_conf.rs
index 62b99e90..62b99e90 100644
--- a/tests/expectations/tests/layout_eth_conf.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_eth_conf.rs
diff --git a/tests/expectations/tests/layout_eth_conf_1_0.rs b/bindgen-tests/tests/expectations/tests/layout_eth_conf_1_0.rs
index d7fa0a63..d7fa0a63 100644
--- a/tests/expectations/tests/layout_eth_conf_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_eth_conf_1_0.rs
diff --git a/tests/expectations/tests/layout_kni_mbuf.rs b/bindgen-tests/tests/expectations/tests/layout_kni_mbuf.rs
index be88d20f..be88d20f 100644
--- a/tests/expectations/tests/layout_kni_mbuf.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_kni_mbuf.rs
diff --git a/tests/expectations/tests/layout_large_align_field.rs b/bindgen-tests/tests/expectations/tests/layout_large_align_field.rs
index 075ef46a..075ef46a 100644
--- a/tests/expectations/tests/layout_large_align_field.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_large_align_field.rs
diff --git a/tests/expectations/tests/layout_mbuf.rs b/bindgen-tests/tests/expectations/tests/layout_mbuf.rs
index 800a303b..800a303b 100644
--- a/tests/expectations/tests/layout_mbuf.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_mbuf.rs
diff --git a/tests/expectations/tests/layout_mbuf_1_0.rs b/bindgen-tests/tests/expectations/tests/layout_mbuf_1_0.rs
index 90f7ed09..90f7ed09 100644
--- a/tests/expectations/tests/layout_mbuf_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/layout_mbuf_1_0.rs
diff --git a/tests/expectations/tests/libclang-5/abi_variadic_function.rs b/bindgen-tests/tests/expectations/tests/libclang-5/abi_variadic_function.rs
index 6aeb16f2..6aeb16f2 100644
--- a/tests/expectations/tests/libclang-5/abi_variadic_function.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/abi_variadic_function.rs
diff --git a/tests/expectations/tests/libclang-5/auto.rs b/bindgen-tests/tests/expectations/tests/libclang-5/auto.rs
index 0b20b39e..0b20b39e 100644
--- a/tests/expectations/tests/libclang-5/auto.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/auto.rs
diff --git a/tests/expectations/tests/libclang-5/call-conv-field.rs b/bindgen-tests/tests/expectations/tests/libclang-5/call-conv-field.rs
index 62b5ace2..62b5ace2 100644
--- a/tests/expectations/tests/libclang-5/call-conv-field.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/call-conv-field.rs
diff --git a/tests/expectations/tests/libclang-5/const_bool.rs b/bindgen-tests/tests/expectations/tests/libclang-5/const_bool.rs
index 97e1d8dd..97e1d8dd 100644
--- a/tests/expectations/tests/libclang-5/const_bool.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/const_bool.rs
diff --git a/tests/expectations/tests/libclang-5/constant-evaluate.rs b/bindgen-tests/tests/expectations/tests/libclang-5/constant-evaluate.rs
index 9debe39d..9debe39d 100644
--- a/tests/expectations/tests/libclang-5/constant-evaluate.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/constant-evaluate.rs
diff --git a/tests/expectations/tests/libclang-5/error-E0600-cannot-apply-unary-negation-to-u32.rs b/bindgen-tests/tests/expectations/tests/libclang-5/error-E0600-cannot-apply-unary-negation-to-u32.rs
index 57878592..57878592 100644
--- a/tests/expectations/tests/libclang-5/error-E0600-cannot-apply-unary-negation-to-u32.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/error-E0600-cannot-apply-unary-negation-to-u32.rs
diff --git a/bindgen-tests/tests/expectations/tests/libclang-5/inline_namespace_nested.rs b/bindgen-tests/tests/expectations/tests/libclang-5/inline_namespace_nested.rs
new file mode 100644
index 00000000..996b877e
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/inline_namespace_nested.rs
@@ -0,0 +1 @@
+/* error generating bindings */
diff --git a/tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs b/bindgen-tests/tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs
index 60857966..60857966 100644
--- a/tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs
diff --git a/tests/expectations/tests/libclang-5/mangling-win32.rs b/bindgen-tests/tests/expectations/tests/libclang-5/mangling-win32.rs
index 0aee3274..0aee3274 100644
--- a/tests/expectations/tests/libclang-5/mangling-win32.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/mangling-win32.rs
diff --git a/tests/expectations/tests/libclang-5/objc_inheritance.rs b/bindgen-tests/tests/expectations/tests/libclang-5/objc_inheritance.rs
index f1c2a88c..f1c2a88c 100644
--- a/tests/expectations/tests/libclang-5/objc_inheritance.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/objc_inheritance.rs
diff --git a/tests/expectations/tests/libclang-5/objc_template.rs b/bindgen-tests/tests/expectations/tests/libclang-5/objc_template.rs
index 53caa661..53caa661 100644
--- a/tests/expectations/tests/libclang-5/objc_template.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/objc_template.rs
diff --git a/tests/expectations/tests/libclang-5/partial-specialization-and-inheritance.rs b/bindgen-tests/tests/expectations/tests/libclang-5/partial-specialization-and-inheritance.rs
index e62ea681..e62ea681 100644
--- a/tests/expectations/tests/libclang-5/partial-specialization-and-inheritance.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/partial-specialization-and-inheritance.rs
diff --git a/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs b/bindgen-tests/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs
index 19f8881d..19f8881d 100644
--- a/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs
diff --git a/tests/expectations/tests/libclang-9/abi_variadic_function.rs b/bindgen-tests/tests/expectations/tests/libclang-9/abi_variadic_function.rs
index 6aeb16f2..6aeb16f2 100644
--- a/tests/expectations/tests/libclang-9/abi_variadic_function.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/abi_variadic_function.rs
diff --git a/tests/expectations/tests/libclang-9/auto.rs b/bindgen-tests/tests/expectations/tests/libclang-9/auto.rs
index 0b20b39e..0b20b39e 100644
--- a/tests/expectations/tests/libclang-9/auto.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/auto.rs
diff --git a/tests/expectations/tests/libclang-9/call-conv-field.rs b/bindgen-tests/tests/expectations/tests/libclang-9/call-conv-field.rs
index 62b5ace2..62b5ace2 100644
--- a/tests/expectations/tests/libclang-9/call-conv-field.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/call-conv-field.rs
diff --git a/tests/expectations/tests/libclang-9/class.rs b/bindgen-tests/tests/expectations/tests/libclang-9/class.rs
index 0d64a9ff..0d64a9ff 100644
--- a/tests/expectations/tests/libclang-9/class.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/class.rs
diff --git a/tests/expectations/tests/libclang-9/class_1_0.rs b/bindgen-tests/tests/expectations/tests/libclang-9/class_1_0.rs
index e8c2e077..e8c2e077 100644
--- a/tests/expectations/tests/libclang-9/class_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/class_1_0.rs
diff --git a/tests/expectations/tests/libclang-9/const_bool.rs b/bindgen-tests/tests/expectations/tests/libclang-9/const_bool.rs
index 97e1d8dd..97e1d8dd 100644
--- a/tests/expectations/tests/libclang-9/const_bool.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/const_bool.rs
diff --git a/tests/expectations/tests/libclang-9/constant-evaluate.rs b/bindgen-tests/tests/expectations/tests/libclang-9/constant-evaluate.rs
index 9debe39d..9debe39d 100644
--- a/tests/expectations/tests/libclang-9/constant-evaluate.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/constant-evaluate.rs
diff --git a/tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs b/bindgen-tests/tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs
index 2af22cc4..2af22cc4 100644
--- a/tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs
diff --git a/tests/expectations/tests/libclang-9/error-E0600-cannot-apply-unary-negation-to-u32.rs b/bindgen-tests/tests/expectations/tests/libclang-9/error-E0600-cannot-apply-unary-negation-to-u32.rs
index 57878592..57878592 100644
--- a/tests/expectations/tests/libclang-9/error-E0600-cannot-apply-unary-negation-to-u32.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/error-E0600-cannot-apply-unary-negation-to-u32.rs
diff --git a/tests/expectations/tests/libclang-9/incomplete-array-padding.rs b/bindgen-tests/tests/expectations/tests/libclang-9/incomplete-array-padding.rs
index 1de963bf..1de963bf 100644
--- a/tests/expectations/tests/libclang-9/incomplete-array-padding.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/incomplete-array-padding.rs
diff --git a/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs b/bindgen-tests/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs
index ab402cfb..ab402cfb 100644
--- a/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs
diff --git a/tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs b/bindgen-tests/tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs
index 60857966..60857966 100644
--- a/tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs
diff --git a/tests/expectations/tests/libclang-9/layout_align.rs b/bindgen-tests/tests/expectations/tests/libclang-9/layout_align.rs
index f6a32704..f6a32704 100644
--- a/tests/expectations/tests/libclang-9/layout_align.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/layout_align.rs
diff --git a/tests/expectations/tests/libclang-9/mangling-win32.rs b/bindgen-tests/tests/expectations/tests/libclang-9/mangling-win32.rs
index 0aee3274..0aee3274 100644
--- a/tests/expectations/tests/libclang-9/mangling-win32.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/mangling-win32.rs
diff --git a/tests/expectations/tests/libclang-9/objc_inheritance.rs b/bindgen-tests/tests/expectations/tests/libclang-9/objc_inheritance.rs
index f1c2a88c..f1c2a88c 100644
--- a/tests/expectations/tests/libclang-9/objc_inheritance.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/objc_inheritance.rs
diff --git a/tests/expectations/tests/libclang-9/objc_template.rs b/bindgen-tests/tests/expectations/tests/libclang-9/objc_template.rs
index 3c615035..3c615035 100644
--- a/tests/expectations/tests/libclang-9/objc_template.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/objc_template.rs
diff --git a/tests/expectations/tests/libclang-9/partial-specialization-and-inheritance.rs b/bindgen-tests/tests/expectations/tests/libclang-9/partial-specialization-and-inheritance.rs
index e62ea681..e62ea681 100644
--- a/tests/expectations/tests/libclang-9/partial-specialization-and-inheritance.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/partial-specialization-and-inheritance.rs
diff --git a/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs b/bindgen-tests/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs
index 19f8881d..19f8881d 100644
--- a/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs
diff --git a/tests/expectations/tests/libclang-9/zero-sized-array.rs b/bindgen-tests/tests/expectations/tests/libclang-9/zero-sized-array.rs
index 3066fac4..3066fac4 100644
--- a/tests/expectations/tests/libclang-9/zero-sized-array.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang-9/zero-sized-array.rs
diff --git a/tests/expectations/tests/libclang_version_specific_generated_tests.rs b/bindgen-tests/tests/expectations/tests/libclang_version_specific_generated_tests.rs
index 2643709c..2643709c 100644
--- a/tests/expectations/tests/libclang_version_specific_generated_tests.rs
+++ b/bindgen-tests/tests/expectations/tests/libclang_version_specific_generated_tests.rs
diff --git a/tests/expectations/tests/long_double.rs b/bindgen-tests/tests/expectations/tests/long_double.rs
index 2c3b6c93..2c3b6c93 100644
--- a/tests/expectations/tests/long_double.rs
+++ b/bindgen-tests/tests/expectations/tests/long_double.rs
diff --git a/tests/expectations/tests/macro-expr-basic.rs b/bindgen-tests/tests/expectations/tests/macro-expr-basic.rs
index 4eeb310c..4eeb310c 100644
--- a/tests/expectations/tests/macro-expr-basic.rs
+++ b/bindgen-tests/tests/expectations/tests/macro-expr-basic.rs
diff --git a/tests/expectations/tests/macro-expr-uncommon-token.rs b/bindgen-tests/tests/expectations/tests/macro-expr-uncommon-token.rs
index b2f2ebd2..b2f2ebd2 100644
--- a/tests/expectations/tests/macro-expr-uncommon-token.rs
+++ b/bindgen-tests/tests/expectations/tests/macro-expr-uncommon-token.rs
diff --git a/tests/expectations/tests/macro-redef.rs b/bindgen-tests/tests/expectations/tests/macro-redef.rs
index ff5654f4..ff5654f4 100644
--- a/tests/expectations/tests/macro-redef.rs
+++ b/bindgen-tests/tests/expectations/tests/macro-redef.rs
diff --git a/tests/expectations/tests/macro_const.rs b/bindgen-tests/tests/expectations/tests/macro_const.rs
index de423a2a..de423a2a 100644
--- a/tests/expectations/tests/macro_const.rs
+++ b/bindgen-tests/tests/expectations/tests/macro_const.rs
diff --git a/tests/expectations/tests/macro_const_1_0.rs b/bindgen-tests/tests/expectations/tests/macro_const_1_0.rs
index e1356611..e1356611 100644
--- a/tests/expectations/tests/macro_const_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/macro_const_1_0.rs
diff --git a/tests/expectations/tests/maddness-is-avoidable.rs b/bindgen-tests/tests/expectations/tests/maddness-is-avoidable.rs
index 12157f4b..12157f4b 100644
--- a/tests/expectations/tests/maddness-is-avoidable.rs
+++ b/bindgen-tests/tests/expectations/tests/maddness-is-avoidable.rs
diff --git a/tests/expectations/tests/mangling-ios.rs b/bindgen-tests/tests/expectations/tests/mangling-ios.rs
index 8a4ff657..8a4ff657 100644
--- a/tests/expectations/tests/mangling-ios.rs
+++ b/bindgen-tests/tests/expectations/tests/mangling-ios.rs
diff --git a/tests/expectations/tests/mangling-linux32.rs b/bindgen-tests/tests/expectations/tests/mangling-linux32.rs
index bddd7617..bddd7617 100644
--- a/tests/expectations/tests/mangling-linux32.rs
+++ b/bindgen-tests/tests/expectations/tests/mangling-linux32.rs
diff --git a/tests/expectations/tests/mangling-linux64.rs b/bindgen-tests/tests/expectations/tests/mangling-linux64.rs
index bddd7617..bddd7617 100644
--- a/tests/expectations/tests/mangling-linux64.rs
+++ b/bindgen-tests/tests/expectations/tests/mangling-linux64.rs
diff --git a/tests/expectations/tests/mangling-macos.rs b/bindgen-tests/tests/expectations/tests/mangling-macos.rs
index 9af36259..9af36259 100644
--- a/tests/expectations/tests/mangling-macos.rs
+++ b/bindgen-tests/tests/expectations/tests/mangling-macos.rs
diff --git a/tests/expectations/tests/mangling-win64.rs b/bindgen-tests/tests/expectations/tests/mangling-win64.rs
index cb5f7103..cb5f7103 100644
--- a/tests/expectations/tests/mangling-win64.rs
+++ b/bindgen-tests/tests/expectations/tests/mangling-win64.rs
diff --git a/bindgen-tests/tests/expectations/tests/merge-extern-blocks.rs b/bindgen-tests/tests/expectations/tests/merge-extern-blocks.rs
new file mode 100644
index 00000000..66ceeff0
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/merge-extern-blocks.rs
@@ -0,0 +1,37 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct Point {
+ pub x: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_Point() {
+ const UNINIT: ::std::mem::MaybeUninit<Point> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<Point>(),
+ 4usize,
+ concat!("Size of: ", stringify!(Point))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<Point>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(Point))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
+ 0usize,
+ concat!("Offset of field: ", stringify!(Point), "::", stringify!(x))
+ );
+}
+extern "C" {
+ pub fn foo() -> ::std::os::raw::c_int;
+ pub fn bar() -> ::std::os::raw::c_int;
+}
diff --git a/tests/expectations/tests/method-mangling.rs b/bindgen-tests/tests/expectations/tests/method-mangling.rs
index e4627ac8..e4627ac8 100644
--- a/tests/expectations/tests/method-mangling.rs
+++ b/bindgen-tests/tests/expectations/tests/method-mangling.rs
diff --git a/tests/expectations/tests/module-allowlisted.rs b/bindgen-tests/tests/expectations/tests/module-allowlisted.rs
index 30cdb358..30cdb358 100644
--- a/tests/expectations/tests/module-allowlisted.rs
+++ b/bindgen-tests/tests/expectations/tests/module-allowlisted.rs
diff --git a/tests/expectations/tests/msvc-no-usr.rs b/bindgen-tests/tests/expectations/tests/msvc-no-usr.rs
index 285670ed..64db43a6 100644
--- a/tests/expectations/tests/msvc-no-usr.rs
+++ b/bindgen-tests/tests/expectations/tests/msvc-no-usr.rs
@@ -5,11 +5,10 @@
non_upper_case_globals
)]
-pub type size_t = ::std::os::raw::c_ulonglong;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct A {
- pub foo: size_t,
+ pub foo: usize,
}
#[test]
fn bindgen_test_layout_A() {
diff --git a/tests/expectations/tests/multiple-inherit-empty-correct-layout.rs b/bindgen-tests/tests/expectations/tests/multiple-inherit-empty-correct-layout.rs
index 55b3d1e3..55b3d1e3 100644
--- a/tests/expectations/tests/multiple-inherit-empty-correct-layout.rs
+++ b/bindgen-tests/tests/expectations/tests/multiple-inherit-empty-correct-layout.rs
diff --git a/tests/expectations/tests/mutable.rs b/bindgen-tests/tests/expectations/tests/mutable.rs
index 94c70326..94c70326 100644
--- a/tests/expectations/tests/mutable.rs
+++ b/bindgen-tests/tests/expectations/tests/mutable.rs
diff --git a/tests/expectations/tests/namespace.rs b/bindgen-tests/tests/expectations/tests/namespace.rs
index 49c8a7ef..49c8a7ef 100644
--- a/tests/expectations/tests/namespace.rs
+++ b/bindgen-tests/tests/expectations/tests/namespace.rs
diff --git a/tests/expectations/tests/nested-template-typedef.rs b/bindgen-tests/tests/expectations/tests/nested-template-typedef.rs
index ab761d28..ab761d28 100644
--- a/tests/expectations/tests/nested-template-typedef.rs
+++ b/bindgen-tests/tests/expectations/tests/nested-template-typedef.rs
diff --git a/tests/expectations/tests/nested.rs b/bindgen-tests/tests/expectations/tests/nested.rs
index 415a7405..415a7405 100644
--- a/tests/expectations/tests/nested.rs
+++ b/bindgen-tests/tests/expectations/tests/nested.rs
diff --git a/tests/expectations/tests/nested_vtable.rs b/bindgen-tests/tests/expectations/tests/nested_vtable.rs
index 7ee48304..7ee48304 100644
--- a/tests/expectations/tests/nested_vtable.rs
+++ b/bindgen-tests/tests/expectations/tests/nested_vtable.rs
diff --git a/tests/expectations/tests/nested_within_namespace.rs b/bindgen-tests/tests/expectations/tests/nested_within_namespace.rs
index 629c449a..629c449a 100644
--- a/tests/expectations/tests/nested_within_namespace.rs
+++ b/bindgen-tests/tests/expectations/tests/nested_within_namespace.rs
diff --git a/tests/expectations/tests/newtype-enum.rs b/bindgen-tests/tests/expectations/tests/newtype-enum.rs
index 26a4eb1f..26a4eb1f 100644
--- a/tests/expectations/tests/newtype-enum.rs
+++ b/bindgen-tests/tests/expectations/tests/newtype-enum.rs
diff --git a/bindgen-tests/tests/expectations/tests/newtype-global-enum.rs b/bindgen-tests/tests/expectations/tests/newtype-global-enum.rs
new file mode 100644
index 00000000..cf23cca6
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/newtype-global-enum.rs
@@ -0,0 +1,14 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+pub const Foo_Bar: Foo = Foo(2);
+pub const Foo_Baz: Foo = Foo(4);
+pub const Foo_Duplicated: Foo = Foo(4);
+pub const Foo_Negative: Foo = Foo(-3);
+#[repr(transparent)]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub struct Foo(pub ::std::os::raw::c_int);
diff --git a/tests/expectations/tests/no-comments.rs b/bindgen-tests/tests/expectations/tests/no-comments.rs
index a375d8ea..a375d8ea 100644
--- a/tests/expectations/tests/no-comments.rs
+++ b/bindgen-tests/tests/expectations/tests/no-comments.rs
diff --git a/tests/expectations/tests/no-derive-debug.rs b/bindgen-tests/tests/expectations/tests/no-derive-debug.rs
index c7a6d184..c7a6d184 100644
--- a/tests/expectations/tests/no-derive-debug.rs
+++ b/bindgen-tests/tests/expectations/tests/no-derive-debug.rs
diff --git a/tests/expectations/tests/no-derive-default.rs b/bindgen-tests/tests/expectations/tests/no-derive-default.rs
index 46b2cb4e..46b2cb4e 100644
--- a/tests/expectations/tests/no-derive-default.rs
+++ b/bindgen-tests/tests/expectations/tests/no-derive-default.rs
diff --git a/tests/expectations/tests/no-hash-allowlisted.rs b/bindgen-tests/tests/expectations/tests/no-hash-allowlisted.rs
index 549b72b5..549b72b5 100644
--- a/tests/expectations/tests/no-hash-allowlisted.rs
+++ b/bindgen-tests/tests/expectations/tests/no-hash-allowlisted.rs
diff --git a/tests/expectations/tests/no-hash-opaque.rs b/bindgen-tests/tests/expectations/tests/no-hash-opaque.rs
index 49ff4daa..49ff4daa 100644
--- a/tests/expectations/tests/no-hash-opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/no-hash-opaque.rs
diff --git a/tests/expectations/tests/no-partialeq-allowlisted.rs b/bindgen-tests/tests/expectations/tests/no-partialeq-allowlisted.rs
index c7895fe6..c7895fe6 100644
--- a/tests/expectations/tests/no-partialeq-allowlisted.rs
+++ b/bindgen-tests/tests/expectations/tests/no-partialeq-allowlisted.rs
diff --git a/tests/expectations/tests/no-partialeq-opaque.rs b/bindgen-tests/tests/expectations/tests/no-partialeq-opaque.rs
index 423799a6..423799a6 100644
--- a/tests/expectations/tests/no-partialeq-opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/no-partialeq-opaque.rs
diff --git a/tests/expectations/tests/no-recursive-allowlisting.rs b/bindgen-tests/tests/expectations/tests/no-recursive-allowlisting.rs
index 6f1e19ba..6f1e19ba 100644
--- a/tests/expectations/tests/no-recursive-allowlisting.rs
+++ b/bindgen-tests/tests/expectations/tests/no-recursive-allowlisting.rs
diff --git a/tests/expectations/tests/no-std.rs b/bindgen-tests/tests/expectations/tests/no-std.rs
index 457242c2..457242c2 100644
--- a/tests/expectations/tests/no-std.rs
+++ b/bindgen-tests/tests/expectations/tests/no-std.rs
diff --git a/tests/expectations/tests/no_copy.rs b/bindgen-tests/tests/expectations/tests/no_copy.rs
index daccf757..daccf757 100644
--- a/tests/expectations/tests/no_copy.rs
+++ b/bindgen-tests/tests/expectations/tests/no_copy.rs
diff --git a/tests/expectations/tests/no_copy_allowlisted.rs b/bindgen-tests/tests/expectations/tests/no_copy_allowlisted.rs
index 1c46de75..1c46de75 100644
--- a/tests/expectations/tests/no_copy_allowlisted.rs
+++ b/bindgen-tests/tests/expectations/tests/no_copy_allowlisted.rs
diff --git a/tests/expectations/tests/no_copy_opaque.rs b/bindgen-tests/tests/expectations/tests/no_copy_opaque.rs
index 7fc3529f..7fc3529f 100644
--- a/tests/expectations/tests/no_copy_opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/no_copy_opaque.rs
diff --git a/tests/expectations/tests/no_debug.rs b/bindgen-tests/tests/expectations/tests/no_debug.rs
index 21850ecb..21850ecb 100644
--- a/tests/expectations/tests/no_debug.rs
+++ b/bindgen-tests/tests/expectations/tests/no_debug.rs
diff --git a/tests/expectations/tests/no_debug_allowlisted.rs b/bindgen-tests/tests/expectations/tests/no_debug_allowlisted.rs
index 859dad8c..859dad8c 100644
--- a/tests/expectations/tests/no_debug_allowlisted.rs
+++ b/bindgen-tests/tests/expectations/tests/no_debug_allowlisted.rs
diff --git a/tests/expectations/tests/no_debug_bypass_impl_debug.rs b/bindgen-tests/tests/expectations/tests/no_debug_bypass_impl_debug.rs
index 334f39dd..334f39dd 100644
--- a/tests/expectations/tests/no_debug_bypass_impl_debug.rs
+++ b/bindgen-tests/tests/expectations/tests/no_debug_bypass_impl_debug.rs
diff --git a/tests/expectations/tests/no_debug_opaque.rs b/bindgen-tests/tests/expectations/tests/no_debug_opaque.rs
index 4b657481..4b657481 100644
--- a/tests/expectations/tests/no_debug_opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/no_debug_opaque.rs
diff --git a/tests/expectations/tests/no_default.rs b/bindgen-tests/tests/expectations/tests/no_default.rs
index 22fdbf36..22fdbf36 100644
--- a/tests/expectations/tests/no_default.rs
+++ b/bindgen-tests/tests/expectations/tests/no_default.rs
diff --git a/tests/expectations/tests/no_default_allowlisted.rs b/bindgen-tests/tests/expectations/tests/no_default_allowlisted.rs
index c4deceb4..c4deceb4 100644
--- a/tests/expectations/tests/no_default_allowlisted.rs
+++ b/bindgen-tests/tests/expectations/tests/no_default_allowlisted.rs
diff --git a/tests/expectations/tests/no_default_bypass_derive_default.rs b/bindgen-tests/tests/expectations/tests/no_default_bypass_derive_default.rs
index 6c44a9dd..6c44a9dd 100644
--- a/tests/expectations/tests/no_default_bypass_derive_default.rs
+++ b/bindgen-tests/tests/expectations/tests/no_default_bypass_derive_default.rs
diff --git a/tests/expectations/tests/no_default_opaque.rs b/bindgen-tests/tests/expectations/tests/no_default_opaque.rs
index 3c928551..3c928551 100644
--- a/tests/expectations/tests/no_default_opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/no_default_opaque.rs
diff --git a/tests/expectations/tests/size_t_is_usize.rs b/bindgen-tests/tests/expectations/tests/no_size_t_is_usize.rs
index 2397e0a5..f399a667 100644
--- a/tests/expectations/tests/size_t_is_usize.rs
+++ b/bindgen-tests/tests/expectations/tests/no_size_t_is_usize.rs
@@ -5,11 +5,13 @@
non_upper_case_globals
)]
+pub type size_t = ::std::os::raw::c_ulong;
+pub type ssize_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct A {
- pub len: usize,
- pub offset: isize,
+ pub len: size_t,
+ pub offset: ssize_t,
pub next: *mut A,
}
#[test]
diff --git a/tests/expectations/tests/non-type-params.rs b/bindgen-tests/tests/expectations/tests/non-type-params.rs
index 2b38e216..2b38e216 100644
--- a/tests/expectations/tests/non-type-params.rs
+++ b/bindgen-tests/tests/expectations/tests/non-type-params.rs
diff --git a/bindgen-tests/tests/expectations/tests/noreturn.rs b/bindgen-tests/tests/expectations/tests/noreturn.rs
new file mode 100644
index 00000000..a3905782
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/noreturn.rs
@@ -0,0 +1,19 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+extern "C" {
+ #[link_name = "\u{1}_Z1fv"]
+ pub fn f() -> !;
+}
+extern "C" {
+ #[link_name = "\u{1}_Z1gv"]
+ pub fn g() -> !;
+}
+extern "C" {
+ #[link_name = "\u{1}_Z1hv"]
+ pub fn h() -> !;
+}
diff --git a/tests/expectations/tests/nsBaseHashtable.rs b/bindgen-tests/tests/expectations/tests/nsBaseHashtable.rs
index d7607b91..26179b76 100644
--- a/tests/expectations/tests/nsBaseHashtable.rs
+++ b/bindgen-tests/tests/expectations/tests/nsBaseHashtable.rs
@@ -5,7 +5,6 @@
non_upper_case_globals
)]
-pub type size_t = ::std::os::raw::c_ulonglong;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct nsBaseHashtableET {
diff --git a/tests/expectations/tests/nsStyleAutoArray.rs b/bindgen-tests/tests/expectations/tests/nsStyleAutoArray.rs
index fab18c1c..fab18c1c 100644
--- a/tests/expectations/tests/nsStyleAutoArray.rs
+++ b/bindgen-tests/tests/expectations/tests/nsStyleAutoArray.rs
diff --git a/tests/expectations/tests/objc_allowlist.rs b/bindgen-tests/tests/expectations/tests/objc_allowlist.rs
index 370cab93..370cab93 100644
--- a/tests/expectations/tests/objc_allowlist.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_allowlist.rs
diff --git a/bindgen-tests/tests/expectations/tests/objc_blocklist.rs b/bindgen-tests/tests/expectations/tests/objc_blocklist.rs
new file mode 100644
index 00000000..7d5d19b0
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/objc_blocklist.rs
@@ -0,0 +1,42 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+#![cfg(target_os = "macos")]
+
+#[macro_use]
+extern crate objc;
+#[allow(non_camel_case_types)]
+pub type id = *mut objc::runtime::Object;
+#[repr(transparent)]
+#[derive(Debug, Copy, Clone)]
+pub struct SomeClass(pub id);
+impl std::ops::Deref for SomeClass {
+ type Target = objc::runtime::Object;
+ fn deref(&self) -> &Self::Target {
+ unsafe { &*self.0 }
+ }
+}
+unsafe impl objc::Message for SomeClass {}
+impl SomeClass {
+ pub fn alloc() -> Self {
+ Self(unsafe { msg_send!(class!(SomeClass), alloc) })
+ }
+}
+impl ISomeClass for SomeClass {}
+pub trait ISomeClass: Sized + std::ops::Deref {
+ unsafe fn ambiguouslyBlockedMethod(&self)
+ where
+ <Self as std::ops::Deref>::Target: objc::Message + Sized,
+ {
+ msg_send!(*self, ambiguouslyBlockedMethod)
+ }
+ unsafe fn instanceMethod(&self)
+ where
+ <Self as std::ops::Deref>::Target: objc::Message + Sized,
+ {
+ msg_send!(*self, instanceMethod)
+ }
+}
diff --git a/tests/expectations/tests/objc_category.rs b/bindgen-tests/tests/expectations/tests/objc_category.rs
index 9d60233b..9d60233b 100644
--- a/tests/expectations/tests/objc_category.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_category.rs
diff --git a/tests/expectations/tests/objc_class.rs b/bindgen-tests/tests/expectations/tests/objc_class.rs
index b322bddc..b322bddc 100644
--- a/tests/expectations/tests/objc_class.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_class.rs
diff --git a/tests/expectations/tests/objc_class_method.rs b/bindgen-tests/tests/expectations/tests/objc_class_method.rs
index 29e70256..29e70256 100644
--- a/tests/expectations/tests/objc_class_method.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_class_method.rs
diff --git a/tests/expectations/tests/objc_interface.rs b/bindgen-tests/tests/expectations/tests/objc_interface.rs
index 89e64d86..89e64d86 100644
--- a/tests/expectations/tests/objc_interface.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_interface.rs
diff --git a/tests/expectations/tests/objc_interface_type.rs b/bindgen-tests/tests/expectations/tests/objc_interface_type.rs
index 423ba910..423ba910 100644
--- a/tests/expectations/tests/objc_interface_type.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_interface_type.rs
diff --git a/tests/expectations/tests/objc_method.rs b/bindgen-tests/tests/expectations/tests/objc_method.rs
index 593fd277..593fd277 100644
--- a/tests/expectations/tests/objc_method.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_method.rs
diff --git a/tests/expectations/tests/objc_method_clash.rs b/bindgen-tests/tests/expectations/tests/objc_method_clash.rs
index ac77cc19..ac77cc19 100644
--- a/tests/expectations/tests/objc_method_clash.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_method_clash.rs
diff --git a/tests/expectations/tests/objc_pointer_return_types.rs b/bindgen-tests/tests/expectations/tests/objc_pointer_return_types.rs
index 1ec8494d..1ec8494d 100644
--- a/tests/expectations/tests/objc_pointer_return_types.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_pointer_return_types.rs
diff --git a/tests/expectations/tests/objc_property_fnptr.rs b/bindgen-tests/tests/expectations/tests/objc_property_fnptr.rs
index 9f3fabd2..9f3fabd2 100644
--- a/tests/expectations/tests/objc_property_fnptr.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_property_fnptr.rs
diff --git a/tests/expectations/tests/objc_protocol.rs b/bindgen-tests/tests/expectations/tests/objc_protocol.rs
index 5bd7d433..5bd7d433 100644
--- a/tests/expectations/tests/objc_protocol.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_protocol.rs
diff --git a/tests/expectations/tests/objc_protocol_inheritance.rs b/bindgen-tests/tests/expectations/tests/objc_protocol_inheritance.rs
index f5f80e2e..f5f80e2e 100644
--- a/tests/expectations/tests/objc_protocol_inheritance.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_protocol_inheritance.rs
diff --git a/tests/expectations/tests/objc_sel_and_id.rs b/bindgen-tests/tests/expectations/tests/objc_sel_and_id.rs
index 0017eab0..0017eab0 100644
--- a/tests/expectations/tests/objc_sel_and_id.rs
+++ b/bindgen-tests/tests/expectations/tests/objc_sel_and_id.rs
diff --git a/tests/expectations/tests/only_bitfields.rs b/bindgen-tests/tests/expectations/tests/only_bitfields.rs
index 2f063b5b..2f063b5b 100644
--- a/tests/expectations/tests/only_bitfields.rs
+++ b/bindgen-tests/tests/expectations/tests/only_bitfields.rs
diff --git a/tests/expectations/tests/opaque-template-inst-member-2.rs b/bindgen-tests/tests/expectations/tests/opaque-template-inst-member-2.rs
index c28d9356..c28d9356 100644
--- a/tests/expectations/tests/opaque-template-inst-member-2.rs
+++ b/bindgen-tests/tests/expectations/tests/opaque-template-inst-member-2.rs
diff --git a/tests/expectations/tests/opaque-template-inst-member.rs b/bindgen-tests/tests/expectations/tests/opaque-template-inst-member.rs
index 4ba85f66..4ba85f66 100644
--- a/tests/expectations/tests/opaque-template-inst-member.rs
+++ b/bindgen-tests/tests/expectations/tests/opaque-template-inst-member.rs
diff --git a/tests/expectations/tests/opaque-template-instantiation-namespaced.rs b/bindgen-tests/tests/expectations/tests/opaque-template-instantiation-namespaced.rs
index 3575216c..3575216c 100644
--- a/tests/expectations/tests/opaque-template-instantiation-namespaced.rs
+++ b/bindgen-tests/tests/expectations/tests/opaque-template-instantiation-namespaced.rs
diff --git a/tests/expectations/tests/opaque-template-instantiation.rs b/bindgen-tests/tests/expectations/tests/opaque-template-instantiation.rs
index 910c616f..910c616f 100644
--- a/tests/expectations/tests/opaque-template-instantiation.rs
+++ b/bindgen-tests/tests/expectations/tests/opaque-template-instantiation.rs
diff --git a/tests/expectations/tests/opaque-tracing.rs b/bindgen-tests/tests/expectations/tests/opaque-tracing.rs
index 98c54171..98c54171 100644
--- a/tests/expectations/tests/opaque-tracing.rs
+++ b/bindgen-tests/tests/expectations/tests/opaque-tracing.rs
diff --git a/tests/expectations/tests/opaque_in_struct.rs b/bindgen-tests/tests/expectations/tests/opaque_in_struct.rs
index 0d13b121..0d13b121 100644
--- a/tests/expectations/tests/opaque_in_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/opaque_in_struct.rs
diff --git a/tests/expectations/tests/opaque_pointer.rs b/bindgen-tests/tests/expectations/tests/opaque_pointer.rs
index 13b8cc36..13b8cc36 100644
--- a/tests/expectations/tests/opaque_pointer.rs
+++ b/bindgen-tests/tests/expectations/tests/opaque_pointer.rs
diff --git a/tests/expectations/tests/opaque_typedef.rs b/bindgen-tests/tests/expectations/tests/opaque_typedef.rs
index c61a294c..c61a294c 100644
--- a/tests/expectations/tests/opaque_typedef.rs
+++ b/bindgen-tests/tests/expectations/tests/opaque_typedef.rs
diff --git a/tests/expectations/tests/operator.rs b/bindgen-tests/tests/expectations/tests/operator.rs
index 5128226d..5128226d 100644
--- a/tests/expectations/tests/operator.rs
+++ b/bindgen-tests/tests/expectations/tests/operator.rs
diff --git a/tests/expectations/tests/ord-enum.rs b/bindgen-tests/tests/expectations/tests/ord-enum.rs
index a72fef8d..a72fef8d 100644
--- a/tests/expectations/tests/ord-enum.rs
+++ b/bindgen-tests/tests/expectations/tests/ord-enum.rs
diff --git a/tests/expectations/tests/overflowed_enum.rs b/bindgen-tests/tests/expectations/tests/overflowed_enum.rs
index 94e166ad..94e166ad 100644
--- a/tests/expectations/tests/overflowed_enum.rs
+++ b/bindgen-tests/tests/expectations/tests/overflowed_enum.rs
diff --git a/tests/expectations/tests/overloading.rs b/bindgen-tests/tests/expectations/tests/overloading.rs
index b43432eb..b43432eb 100644
--- a/tests/expectations/tests/overloading.rs
+++ b/bindgen-tests/tests/expectations/tests/overloading.rs
diff --git a/tests/expectations/tests/packed-bitfield.rs b/bindgen-tests/tests/expectations/tests/packed-bitfield.rs
index f90edb93..f90edb93 100644
--- a/tests/expectations/tests/packed-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/packed-bitfield.rs
diff --git a/tests/expectations/tests/packed-n-with-padding.rs b/bindgen-tests/tests/expectations/tests/packed-n-with-padding.rs
index b171b1da..b171b1da 100644
--- a/tests/expectations/tests/packed-n-with-padding.rs
+++ b/bindgen-tests/tests/expectations/tests/packed-n-with-padding.rs
diff --git a/tests/expectations/tests/packed-vtable.rs b/bindgen-tests/tests/expectations/tests/packed-vtable.rs
index 71688151..71688151 100644
--- a/tests/expectations/tests/packed-vtable.rs
+++ b/bindgen-tests/tests/expectations/tests/packed-vtable.rs
diff --git a/tests/expectations/tests/parm-union.rs b/bindgen-tests/tests/expectations/tests/parm-union.rs
index 9f7dd20a..9f7dd20a 100644
--- a/tests/expectations/tests/parm-union.rs
+++ b/bindgen-tests/tests/expectations/tests/parm-union.rs
diff --git a/tests/expectations/tests/parsecb-anonymous-enum-variant-rename.rs b/bindgen-tests/tests/expectations/tests/parsecb-anonymous-enum-variant-rename.rs
index 8ead5b8a..8ead5b8a 100644
--- a/tests/expectations/tests/parsecb-anonymous-enum-variant-rename.rs
+++ b/bindgen-tests/tests/expectations/tests/parsecb-anonymous-enum-variant-rename.rs
diff --git a/tests/expectations/tests/pointer-attr.rs b/bindgen-tests/tests/expectations/tests/pointer-attr.rs
index 95fe9c5f..95fe9c5f 100644
--- a/tests/expectations/tests/pointer-attr.rs
+++ b/bindgen-tests/tests/expectations/tests/pointer-attr.rs
diff --git a/tests/expectations/tests/prepend-enum-constified-variant.rs b/bindgen-tests/tests/expectations/tests/prepend-enum-constified-variant.rs
index b2b09444..b2b09444 100644
--- a/tests/expectations/tests/prepend-enum-constified-variant.rs
+++ b/bindgen-tests/tests/expectations/tests/prepend-enum-constified-variant.rs
diff --git a/tests/expectations/tests/prepend_enum_name.rs b/bindgen-tests/tests/expectations/tests/prepend_enum_name.rs
index 31db4144..31db4144 100644
--- a/tests/expectations/tests/prepend_enum_name.rs
+++ b/bindgen-tests/tests/expectations/tests/prepend_enum_name.rs
diff --git a/tests/expectations/tests/private.rs b/bindgen-tests/tests/expectations/tests/private.rs
index ab57d37f..ab57d37f 100644
--- a/tests/expectations/tests/private.rs
+++ b/bindgen-tests/tests/expectations/tests/private.rs
diff --git a/tests/expectations/tests/private_fields.rs b/bindgen-tests/tests/expectations/tests/private_fields.rs
index 8db332a5..8db332a5 100644
--- a/tests/expectations/tests/private_fields.rs
+++ b/bindgen-tests/tests/expectations/tests/private_fields.rs
diff --git a/tests/expectations/tests/public-dtor.rs b/bindgen-tests/tests/expectations/tests/public-dtor.rs
index 64a50389..64a50389 100644
--- a/tests/expectations/tests/public-dtor.rs
+++ b/bindgen-tests/tests/expectations/tests/public-dtor.rs
diff --git a/tests/expectations/tests/qualified-dependent-types.rs b/bindgen-tests/tests/expectations/tests/qualified-dependent-types.rs
index f1b2c845..f1b2c845 100644
--- a/tests/expectations/tests/qualified-dependent-types.rs
+++ b/bindgen-tests/tests/expectations/tests/qualified-dependent-types.rs
diff --git a/tests/expectations/tests/redeclaration.rs b/bindgen-tests/tests/expectations/tests/redeclaration.rs
index 8a4ff657..8a4ff657 100644
--- a/tests/expectations/tests/redeclaration.rs
+++ b/bindgen-tests/tests/expectations/tests/redeclaration.rs
diff --git a/tests/expectations/tests/ref_argument_array.rs b/bindgen-tests/tests/expectations/tests/ref_argument_array.rs
index 00a8e0ee..00a8e0ee 100644
--- a/tests/expectations/tests/ref_argument_array.rs
+++ b/bindgen-tests/tests/expectations/tests/ref_argument_array.rs
diff --git a/tests/expectations/tests/reparented_replacement.rs b/bindgen-tests/tests/expectations/tests/reparented_replacement.rs
index d9d13c1a..d9d13c1a 100644
--- a/tests/expectations/tests/reparented_replacement.rs
+++ b/bindgen-tests/tests/expectations/tests/reparented_replacement.rs
diff --git a/tests/expectations/tests/replace_template_alias.rs b/bindgen-tests/tests/expectations/tests/replace_template_alias.rs
index 4f464129..4f464129 100644
--- a/tests/expectations/tests/replace_template_alias.rs
+++ b/bindgen-tests/tests/expectations/tests/replace_template_alias.rs
diff --git a/tests/expectations/tests/replace_use.rs b/bindgen-tests/tests/expectations/tests/replace_use.rs
index d4228e12..d4228e12 100644
--- a/tests/expectations/tests/replace_use.rs
+++ b/bindgen-tests/tests/expectations/tests/replace_use.rs
diff --git a/tests/expectations/tests/replaces_double.rs b/bindgen-tests/tests/expectations/tests/replaces_double.rs
index 99de1320..99de1320 100644
--- a/tests/expectations/tests/replaces_double.rs
+++ b/bindgen-tests/tests/expectations/tests/replaces_double.rs
diff --git a/tests/expectations/tests/repr-align.rs b/bindgen-tests/tests/expectations/tests/repr-align.rs
index c6fee20d..c6fee20d 100644
--- a/tests/expectations/tests/repr-align.rs
+++ b/bindgen-tests/tests/expectations/tests/repr-align.rs
diff --git a/tests/expectations/tests/resolved_type_def_function.rs b/bindgen-tests/tests/expectations/tests/resolved_type_def_function.rs
index 79797679..79797679 100644
--- a/tests/expectations/tests/resolved_type_def_function.rs
+++ b/bindgen-tests/tests/expectations/tests/resolved_type_def_function.rs
diff --git a/tests/expectations/tests/same_struct_name_in_different_namespaces.rs b/bindgen-tests/tests/expectations/tests/same_struct_name_in_different_namespaces.rs
index 80024761..80024761 100644
--- a/tests/expectations/tests/same_struct_name_in_different_namespaces.rs
+++ b/bindgen-tests/tests/expectations/tests/same_struct_name_in_different_namespaces.rs
diff --git a/tests/expectations/tests/sentry-defined-multiple-times.rs b/bindgen-tests/tests/expectations/tests/sentry-defined-multiple-times.rs
index 48f8ca81..48f8ca81 100644
--- a/tests/expectations/tests/sentry-defined-multiple-times.rs
+++ b/bindgen-tests/tests/expectations/tests/sentry-defined-multiple-times.rs
diff --git a/tests/expectations/tests/short-enums.rs b/bindgen-tests/tests/expectations/tests/short-enums.rs
index a8a494ea..a8a494ea 100644
--- a/tests/expectations/tests/short-enums.rs
+++ b/bindgen-tests/tests/expectations/tests/short-enums.rs
diff --git a/tests/expectations/tests/size_t_template.rs b/bindgen-tests/tests/expectations/tests/size_t_template.rs
index 1aa8b9ac..1aa8b9ac 100644
--- a/tests/expectations/tests/size_t_template.rs
+++ b/bindgen-tests/tests/expectations/tests/size_t_template.rs
diff --git a/tests/expectations/tests/sorted-items.rs b/bindgen-tests/tests/expectations/tests/sorted-items.rs
index 7df7c3d7..7df7c3d7 100644
--- a/tests/expectations/tests/sorted-items.rs
+++ b/bindgen-tests/tests/expectations/tests/sorted-items.rs
diff --git a/bindgen-tests/tests/expectations/tests/stdint_typedef.rs b/bindgen-tests/tests/expectations/tests/stdint_typedef.rs
new file mode 100644
index 00000000..a52db496
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/stdint_typedef.rs
@@ -0,0 +1,41 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+extern "C" {
+ pub fn fun() -> u64;
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct Struct {
+ pub field: u64,
+}
+#[test]
+fn bindgen_test_layout_Struct() {
+ const UNINIT: ::std::mem::MaybeUninit<Struct> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<Struct>(),
+ 8usize,
+ concat!("Size of: ", stringify!(Struct))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<Struct>(),
+ 8usize,
+ concat!("Alignment of ", stringify!(Struct))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(Struct),
+ "::",
+ stringify!(field)
+ )
+ );
+}
diff --git a/tests/expectations/tests/struct_containing_forward_declared_struct.rs b/bindgen-tests/tests/expectations/tests/struct_containing_forward_declared_struct.rs
index 8279fe1f..8279fe1f 100644
--- a/tests/expectations/tests/struct_containing_forward_declared_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_containing_forward_declared_struct.rs
diff --git a/tests/expectations/tests/struct_typedef.rs b/bindgen-tests/tests/expectations/tests/struct_typedef.rs
index f9d7fedb..f9d7fedb 100644
--- a/tests/expectations/tests/struct_typedef.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_typedef.rs
diff --git a/tests/expectations/tests/struct_typedef_ns.rs b/bindgen-tests/tests/expectations/tests/struct_typedef_ns.rs
index 2bad358a..2bad358a 100644
--- a/tests/expectations/tests/struct_typedef_ns.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_typedef_ns.rs
diff --git a/tests/expectations/tests/struct_with_anon_struct.rs b/bindgen-tests/tests/expectations/tests/struct_with_anon_struct.rs
index 238400a1..238400a1 100644
--- a/tests/expectations/tests/struct_with_anon_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_anon_struct.rs
diff --git a/tests/expectations/tests/struct_with_anon_struct_array.rs b/bindgen-tests/tests/expectations/tests/struct_with_anon_struct_array.rs
index f3af6b60..f3af6b60 100644
--- a/tests/expectations/tests/struct_with_anon_struct_array.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_anon_struct_array.rs
diff --git a/tests/expectations/tests/struct_with_anon_struct_pointer.rs b/bindgen-tests/tests/expectations/tests/struct_with_anon_struct_pointer.rs
index 5bb10079..5bb10079 100644
--- a/tests/expectations/tests/struct_with_anon_struct_pointer.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_anon_struct_pointer.rs
diff --git a/tests/expectations/tests/struct_with_anon_union.rs b/bindgen-tests/tests/expectations/tests/struct_with_anon_union.rs
index 08aab0a9..08aab0a9 100644
--- a/tests/expectations/tests/struct_with_anon_union.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_anon_union.rs
diff --git a/tests/expectations/tests/struct_with_anon_union_1_0.rs b/bindgen-tests/tests/expectations/tests/struct_with_anon_union_1_0.rs
index 8db33d11..8db33d11 100644
--- a/tests/expectations/tests/struct_with_anon_union_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_anon_union_1_0.rs
diff --git a/tests/expectations/tests/struct_with_anon_unnamed_struct.rs b/bindgen-tests/tests/expectations/tests/struct_with_anon_unnamed_struct.rs
index 56981065..56981065 100644
--- a/tests/expectations/tests/struct_with_anon_unnamed_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_anon_unnamed_struct.rs
diff --git a/tests/expectations/tests/struct_with_anon_unnamed_union.rs b/bindgen-tests/tests/expectations/tests/struct_with_anon_unnamed_union.rs
index 499fc7a1..499fc7a1 100644
--- a/tests/expectations/tests/struct_with_anon_unnamed_union.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_anon_unnamed_union.rs
diff --git a/tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs b/bindgen-tests/tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs
index 55432d47..55432d47 100644
--- a/tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs
diff --git a/tests/expectations/tests/struct_with_bitfields.rs b/bindgen-tests/tests/expectations/tests/struct_with_bitfields.rs
index a9be3006..a9be3006 100644
--- a/tests/expectations/tests/struct_with_bitfields.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_bitfields.rs
diff --git a/tests/expectations/tests/struct_with_derive_debug.rs b/bindgen-tests/tests/expectations/tests/struct_with_derive_debug.rs
index 1bb7c77d..1bb7c77d 100644
--- a/tests/expectations/tests/struct_with_derive_debug.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_derive_debug.rs
diff --git a/tests/expectations/tests/struct_with_large_array.rs b/bindgen-tests/tests/expectations/tests/struct_with_large_array.rs
index 9f2c0ecc..9f2c0ecc 100644
--- a/tests/expectations/tests/struct_with_large_array.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_large_array.rs
diff --git a/tests/expectations/tests/struct_with_nesting.rs b/bindgen-tests/tests/expectations/tests/struct_with_nesting.rs
index ff177ff1..ff177ff1 100644
--- a/tests/expectations/tests/struct_with_nesting.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_nesting.rs
diff --git a/tests/expectations/tests/struct_with_nesting_1_0.rs b/bindgen-tests/tests/expectations/tests/struct_with_nesting_1_0.rs
index af795b64..af795b64 100644
--- a/tests/expectations/tests/struct_with_nesting_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_nesting_1_0.rs
diff --git a/tests/expectations/tests/struct_with_packing.rs b/bindgen-tests/tests/expectations/tests/struct_with_packing.rs
index b8ea17cd..b8ea17cd 100644
--- a/tests/expectations/tests/struct_with_packing.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_packing.rs
diff --git a/tests/expectations/tests/struct_with_struct.rs b/bindgen-tests/tests/expectations/tests/struct_with_struct.rs
index b1ee5db4..b1ee5db4 100644
--- a/tests/expectations/tests/struct_with_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_struct.rs
diff --git a/tests/expectations/tests/struct_with_typedef_template_arg.rs b/bindgen-tests/tests/expectations/tests/struct_with_typedef_template_arg.rs
index 49afe559..49afe559 100644
--- a/tests/expectations/tests/struct_with_typedef_template_arg.rs
+++ b/bindgen-tests/tests/expectations/tests/struct_with_typedef_template_arg.rs
diff --git a/tests/expectations/tests/template-fun-ty.rs b/bindgen-tests/tests/expectations/tests/template-fun-ty.rs
index a7132cf0..a7132cf0 100644
--- a/tests/expectations/tests/template-fun-ty.rs
+++ b/bindgen-tests/tests/expectations/tests/template-fun-ty.rs
diff --git a/tests/expectations/tests/template-param-usage-0.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-0.rs
index 2acfb069..2acfb069 100644
--- a/tests/expectations/tests/template-param-usage-0.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-0.rs
diff --git a/tests/expectations/tests/template-param-usage-1.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-1.rs
index 4fc227c9..4fc227c9 100644
--- a/tests/expectations/tests/template-param-usage-1.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-1.rs
diff --git a/tests/expectations/tests/template-param-usage-10.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-10.rs
index c6034fb8..c6034fb8 100644
--- a/tests/expectations/tests/template-param-usage-10.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-10.rs
diff --git a/tests/expectations/tests/template-param-usage-11.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-11.rs
index 63a31e23..63a31e23 100644
--- a/tests/expectations/tests/template-param-usage-11.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-11.rs
diff --git a/tests/expectations/tests/template-param-usage-12.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-12.rs
index 626e451a..626e451a 100644
--- a/tests/expectations/tests/template-param-usage-12.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-12.rs
diff --git a/tests/expectations/tests/template-param-usage-13.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-13.rs
index 70c1778b..70c1778b 100644
--- a/tests/expectations/tests/template-param-usage-13.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-13.rs
diff --git a/tests/expectations/tests/template-param-usage-14.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-14.rs
index 0e0fd0c9..0e0fd0c9 100644
--- a/tests/expectations/tests/template-param-usage-14.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-14.rs
diff --git a/tests/expectations/tests/template-param-usage-15.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-15.rs
index 941c6073..941c6073 100644
--- a/tests/expectations/tests/template-param-usage-15.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-15.rs
diff --git a/tests/expectations/tests/template-param-usage-2.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-2.rs
index 0ad5d7bb..0ad5d7bb 100644
--- a/tests/expectations/tests/template-param-usage-2.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-2.rs
diff --git a/tests/expectations/tests/template-param-usage-3.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-3.rs
index 414818d9..414818d9 100644
--- a/tests/expectations/tests/template-param-usage-3.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-3.rs
diff --git a/tests/expectations/tests/template-param-usage-4.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-4.rs
index afcba978..afcba978 100644
--- a/tests/expectations/tests/template-param-usage-4.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-4.rs
diff --git a/tests/expectations/tests/template-param-usage-5.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-5.rs
index 2cc8db6f..2cc8db6f 100644
--- a/tests/expectations/tests/template-param-usage-5.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-5.rs
diff --git a/tests/expectations/tests/template-param-usage-6.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-6.rs
index 3c0e5152..3c0e5152 100644
--- a/tests/expectations/tests/template-param-usage-6.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-6.rs
diff --git a/tests/expectations/tests/template-param-usage-7.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-7.rs
index 3ed7a45d..3ed7a45d 100644
--- a/tests/expectations/tests/template-param-usage-7.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-7.rs
diff --git a/tests/expectations/tests/template-param-usage-8.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-8.rs
index f8ac6714..f8ac6714 100644
--- a/tests/expectations/tests/template-param-usage-8.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-8.rs
diff --git a/tests/expectations/tests/template-param-usage-9.rs b/bindgen-tests/tests/expectations/tests/template-param-usage-9.rs
index a50079a2..a50079a2 100644
--- a/tests/expectations/tests/template-param-usage-9.rs
+++ b/bindgen-tests/tests/expectations/tests/template-param-usage-9.rs
diff --git a/tests/expectations/tests/template-with-var.rs b/bindgen-tests/tests/expectations/tests/template-with-var.rs
index 0476a256..0476a256 100644
--- a/tests/expectations/tests/template-with-var.rs
+++ b/bindgen-tests/tests/expectations/tests/template-with-var.rs
diff --git a/tests/expectations/tests/template.rs b/bindgen-tests/tests/expectations/tests/template.rs
index 7637295a..7637295a 100644
--- a/tests/expectations/tests/template.rs
+++ b/bindgen-tests/tests/expectations/tests/template.rs
diff --git a/tests/expectations/tests/template_alias.rs b/bindgen-tests/tests/expectations/tests/template_alias.rs
index 7e0af20d..7e0af20d 100644
--- a/tests/expectations/tests/template_alias.rs
+++ b/bindgen-tests/tests/expectations/tests/template_alias.rs
diff --git a/tests/expectations/tests/template_alias_basic.rs b/bindgen-tests/tests/expectations/tests/template_alias_basic.rs
index e06ffada..e06ffada 100644
--- a/tests/expectations/tests/template_alias_basic.rs
+++ b/bindgen-tests/tests/expectations/tests/template_alias_basic.rs
diff --git a/tests/expectations/tests/template_alias_namespace.rs b/bindgen-tests/tests/expectations/tests/template_alias_namespace.rs
index 7196b532..7196b532 100644
--- a/tests/expectations/tests/template_alias_namespace.rs
+++ b/bindgen-tests/tests/expectations/tests/template_alias_namespace.rs
diff --git a/tests/expectations/tests/template_fun.rs b/bindgen-tests/tests/expectations/tests/template_fun.rs
index 131dbdf3..131dbdf3 100644
--- a/tests/expectations/tests/template_fun.rs
+++ b/bindgen-tests/tests/expectations/tests/template_fun.rs
diff --git a/tests/expectations/tests/template_instantiation_with_fn_local_type.rs b/bindgen-tests/tests/expectations/tests/template_instantiation_with_fn_local_type.rs
index d968e71b..d968e71b 100644
--- a/tests/expectations/tests/template_instantiation_with_fn_local_type.rs
+++ b/bindgen-tests/tests/expectations/tests/template_instantiation_with_fn_local_type.rs
diff --git a/tests/expectations/tests/template_partial_specification.rs b/bindgen-tests/tests/expectations/tests/template_partial_specification.rs
index 131dbdf3..131dbdf3 100644
--- a/tests/expectations/tests/template_partial_specification.rs
+++ b/bindgen-tests/tests/expectations/tests/template_partial_specification.rs
diff --git a/tests/expectations/tests/template_typedef_transitive_param.rs b/bindgen-tests/tests/expectations/tests/template_typedef_transitive_param.rs
index 68ca126a..68ca126a 100644
--- a/tests/expectations/tests/template_typedef_transitive_param.rs
+++ b/bindgen-tests/tests/expectations/tests/template_typedef_transitive_param.rs
diff --git a/tests/expectations/tests/template_typedefs.rs b/bindgen-tests/tests/expectations/tests/template_typedefs.rs
index 3883879d..3883879d 100644
--- a/tests/expectations/tests/template_typedefs.rs
+++ b/bindgen-tests/tests/expectations/tests/template_typedefs.rs
diff --git a/tests/expectations/tests/templateref_opaque.rs b/bindgen-tests/tests/expectations/tests/templateref_opaque.rs
index 70cef867..70cef867 100644
--- a/tests/expectations/tests/templateref_opaque.rs
+++ b/bindgen-tests/tests/expectations/tests/templateref_opaque.rs
diff --git a/tests/expectations/tests/templatized-bitfield.rs b/bindgen-tests/tests/expectations/tests/templatized-bitfield.rs
index 5657a655..5657a655 100644
--- a/tests/expectations/tests/templatized-bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/templatized-bitfield.rs
diff --git a/tests/expectations/tests/test_mixed_header_and_header_contents.rs b/bindgen-tests/tests/expectations/tests/test_mixed_header_and_header_contents.rs
index 5f8da2af..5f8da2af 100644
--- a/tests/expectations/tests/test_mixed_header_and_header_contents.rs
+++ b/bindgen-tests/tests/expectations/tests/test_mixed_header_and_header_contents.rs
diff --git a/tests/expectations/tests/test_multiple_header_calls_in_builder.rs b/bindgen-tests/tests/expectations/tests/test_multiple_header_calls_in_builder.rs
index b594d70c..b594d70c 100644
--- a/tests/expectations/tests/test_multiple_header_calls_in_builder.rs
+++ b/bindgen-tests/tests/expectations/tests/test_multiple_header_calls_in_builder.rs
diff --git a/tests/expectations/tests/timex.rs b/bindgen-tests/tests/expectations/tests/timex.rs
index dfcebdd2..dfcebdd2 100644
--- a/tests/expectations/tests/timex.rs
+++ b/bindgen-tests/tests/expectations/tests/timex.rs
diff --git a/tests/expectations/tests/transform-op.rs b/bindgen-tests/tests/expectations/tests/transform-op.rs
index 84a94603..84a94603 100644
--- a/tests/expectations/tests/transform-op.rs
+++ b/bindgen-tests/tests/expectations/tests/transform-op.rs
diff --git a/tests/expectations/tests/type-referenced-by-allowlisted-function.rs b/bindgen-tests/tests/expectations/tests/type-referenced-by-allowlisted-function.rs
index 7ae042bc..7ae042bc 100644
--- a/tests/expectations/tests/type-referenced-by-allowlisted-function.rs
+++ b/bindgen-tests/tests/expectations/tests/type-referenced-by-allowlisted-function.rs
diff --git a/tests/expectations/tests/type_alias_empty.rs b/bindgen-tests/tests/expectations/tests/type_alias_empty.rs
index cb871a33..cb871a33 100644
--- a/tests/expectations/tests/type_alias_empty.rs
+++ b/bindgen-tests/tests/expectations/tests/type_alias_empty.rs
diff --git a/tests/expectations/tests/type_alias_partial_template_especialization.rs b/bindgen-tests/tests/expectations/tests/type_alias_partial_template_especialization.rs
index 44449f20..44449f20 100644
--- a/tests/expectations/tests/type_alias_partial_template_especialization.rs
+++ b/bindgen-tests/tests/expectations/tests/type_alias_partial_template_especialization.rs
diff --git a/tests/expectations/tests/typedefd-array-as-function-arg.rs b/bindgen-tests/tests/expectations/tests/typedefd-array-as-function-arg.rs
index 330499b8..330499b8 100644
--- a/tests/expectations/tests/typedefd-array-as-function-arg.rs
+++ b/bindgen-tests/tests/expectations/tests/typedefd-array-as-function-arg.rs
diff --git a/tests/expectations/tests/typeref.rs b/bindgen-tests/tests/expectations/tests/typeref.rs
index a3a31daf..a3a31daf 100644
--- a/tests/expectations/tests/typeref.rs
+++ b/bindgen-tests/tests/expectations/tests/typeref.rs
diff --git a/tests/expectations/tests/typeref_1_0.rs b/bindgen-tests/tests/expectations/tests/typeref_1_0.rs
index 8e4143c0..8e4143c0 100644
--- a/tests/expectations/tests/typeref_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/typeref_1_0.rs
diff --git a/tests/expectations/tests/underscore.rs b/bindgen-tests/tests/expectations/tests/underscore.rs
index bfc05ac1..bfc05ac1 100644
--- a/tests/expectations/tests/underscore.rs
+++ b/bindgen-tests/tests/expectations/tests/underscore.rs
diff --git a/tests/expectations/tests/union-align.rs b/bindgen-tests/tests/expectations/tests/union-align.rs
index 062ea97a..062ea97a 100644
--- a/tests/expectations/tests/union-align.rs
+++ b/bindgen-tests/tests/expectations/tests/union-align.rs
diff --git a/tests/expectations/tests/union-in-ns.rs b/bindgen-tests/tests/expectations/tests/union-in-ns.rs
index 65f3f8f2..65f3f8f2 100644
--- a/tests/expectations/tests/union-in-ns.rs
+++ b/bindgen-tests/tests/expectations/tests/union-in-ns.rs
diff --git a/tests/expectations/tests/union-in-ns_1_0.rs b/bindgen-tests/tests/expectations/tests/union-in-ns_1_0.rs
index a057cc34..a057cc34 100644
--- a/tests/expectations/tests/union-in-ns_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union-in-ns_1_0.rs
diff --git a/tests/expectations/tests/union_bitfield.rs b/bindgen-tests/tests/expectations/tests/union_bitfield.rs
index 9e07a1df..9e07a1df 100644
--- a/tests/expectations/tests/union_bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/union_bitfield.rs
diff --git a/tests/expectations/tests/union_bitfield_1_0.rs b/bindgen-tests/tests/expectations/tests/union_bitfield_1_0.rs
index 22277468..22277468 100644
--- a/tests/expectations/tests/union_bitfield_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_bitfield_1_0.rs
diff --git a/tests/expectations/tests/union_dtor.rs b/bindgen-tests/tests/expectations/tests/union_dtor.rs
index 085e5ca3..085e5ca3 100644
--- a/tests/expectations/tests/union_dtor.rs
+++ b/bindgen-tests/tests/expectations/tests/union_dtor.rs
diff --git a/tests/expectations/tests/union_dtor_1_0.rs b/bindgen-tests/tests/expectations/tests/union_dtor_1_0.rs
index 67455aa8..67455aa8 100644
--- a/tests/expectations/tests/union_dtor_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_dtor_1_0.rs
diff --git a/tests/expectations/tests/union_fields.rs b/bindgen-tests/tests/expectations/tests/union_fields.rs
index 9135ca3c..9135ca3c 100644
--- a/tests/expectations/tests/union_fields.rs
+++ b/bindgen-tests/tests/expectations/tests/union_fields.rs
diff --git a/tests/expectations/tests/union_fields_1_0.rs b/bindgen-tests/tests/expectations/tests/union_fields_1_0.rs
index b5f94bcd..b5f94bcd 100644
--- a/tests/expectations/tests/union_fields_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_fields_1_0.rs
diff --git a/tests/expectations/tests/union_template.rs b/bindgen-tests/tests/expectations/tests/union_template.rs
index 9c3d7a07..9c3d7a07 100644
--- a/tests/expectations/tests/union_template.rs
+++ b/bindgen-tests/tests/expectations/tests/union_template.rs
diff --git a/tests/expectations/tests/union_template_1_0.rs b/bindgen-tests/tests/expectations/tests/union_template_1_0.rs
index 487579f7..487579f7 100644
--- a/tests/expectations/tests/union_template_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_template_1_0.rs
diff --git a/tests/expectations/tests/union_with_anon_struct.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_struct.rs
index 35b5829b..35b5829b 100644
--- a/tests/expectations/tests/union_with_anon_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_struct.rs
diff --git a/tests/expectations/tests/union_with_anon_struct_1_0.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_struct_1_0.rs
index 8b11e757..8b11e757 100644
--- a/tests/expectations/tests/union_with_anon_struct_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_struct_1_0.rs
diff --git a/tests/expectations/tests/union_with_anon_struct_bitfield.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield.rs
index e81b3bef..e81b3bef 100644
--- a/tests/expectations/tests/union_with_anon_struct_bitfield.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield.rs
diff --git a/tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs
index 6ce6ed22..6ce6ed22 100644
--- a/tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs
diff --git a/tests/expectations/tests/union_with_anon_union.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_union.rs
index 487650bf..487650bf 100644
--- a/tests/expectations/tests/union_with_anon_union.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_union.rs
diff --git a/tests/expectations/tests/union_with_anon_union_1_0.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_union_1_0.rs
index f3e4b840..f3e4b840 100644
--- a/tests/expectations/tests/union_with_anon_union_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_union_1_0.rs
diff --git a/tests/expectations/tests/union_with_anon_unnamed_struct.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_struct.rs
index cff5df04..cff5df04 100644
--- a/tests/expectations/tests/union_with_anon_unnamed_struct.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_struct.rs
diff --git a/tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs
index 1562a8c9..1562a8c9 100644
--- a/tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs
diff --git a/tests/expectations/tests/union_with_anon_unnamed_union.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_union.rs
index f1abfc5a..f1abfc5a 100644
--- a/tests/expectations/tests/union_with_anon_unnamed_union.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_union.rs
diff --git a/tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs b/bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs
index 197a6bbf..197a6bbf 100644
--- a/tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs
diff --git a/tests/expectations/tests/union_with_big_member.rs b/bindgen-tests/tests/expectations/tests/union_with_big_member.rs
index 7110257b..7110257b 100644
--- a/tests/expectations/tests/union_with_big_member.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_big_member.rs
diff --git a/tests/expectations/tests/union_with_big_member_1_0.rs b/bindgen-tests/tests/expectations/tests/union_with_big_member_1_0.rs
index 63b43baa..63b43baa 100644
--- a/tests/expectations/tests/union_with_big_member_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_big_member_1_0.rs
diff --git a/tests/expectations/tests/union_with_nesting.rs b/bindgen-tests/tests/expectations/tests/union_with_nesting.rs
index ec9c1480..ec9c1480 100644
--- a/tests/expectations/tests/union_with_nesting.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_nesting.rs
diff --git a/tests/expectations/tests/union_with_nesting_1_0.rs b/bindgen-tests/tests/expectations/tests/union_with_nesting_1_0.rs
index a1e452fe..a1e452fe 100644
--- a/tests/expectations/tests/union_with_nesting_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/union_with_nesting_1_0.rs
diff --git a/bindgen-tests/tests/expectations/tests/union_with_non_copy_member.rs b/bindgen-tests/tests/expectations/tests/union_with_non_copy_member.rs
new file mode 100644
index 00000000..3c500b21
--- /dev/null
+++ b/bindgen-tests/tests/expectations/tests/union_with_non_copy_member.rs
@@ -0,0 +1,239 @@
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+#[repr(C)]
+pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
+impl<T> __BindgenUnionField<T> {
+ #[inline]
+ pub const fn new() -> Self {
+ __BindgenUnionField(::std::marker::PhantomData)
+ }
+ #[inline]
+ pub unsafe fn as_ref(&self) -> &T {
+ ::std::mem::transmute(self)
+ }
+ #[inline]
+ pub unsafe fn as_mut(&mut self) -> &mut T {
+ ::std::mem::transmute(self)
+ }
+}
+impl<T> ::std::default::Default for __BindgenUnionField<T> {
+ #[inline]
+ fn default() -> Self {
+ Self::new()
+ }
+}
+impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
+ #[inline]
+ fn clone(&self) -> Self {
+ Self::new()
+ }
+}
+impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
+impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
+ fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ fmt.write_str("__BindgenUnionField")
+ }
+}
+impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
+ fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
+}
+impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
+ fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
+ true
+ }
+}
+impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct NonCopyType {
+ pub foo: ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_NonCopyType() {
+ const UNINIT: ::std::mem::MaybeUninit<NonCopyType> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<NonCopyType>(),
+ 4usize,
+ concat!("Size of: ", stringify!(NonCopyType))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<NonCopyType>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(NonCopyType))
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(NonCopyType),
+ "::",
+ stringify!(foo)
+ )
+ );
+}
+#[repr(C)]
+pub struct WithBindgenGeneratedWrapper {
+ pub non_copy_type: __BindgenUnionField<NonCopyType>,
+ pub bar: __BindgenUnionField<::std::os::raw::c_int>,
+ pub bindgen_union_field: u32,
+}
+#[test]
+fn bindgen_test_layout_WithBindgenGeneratedWrapper() {
+ const UNINIT: ::std::mem::MaybeUninit<WithBindgenGeneratedWrapper> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<WithBindgenGeneratedWrapper>(),
+ 4usize,
+ concat!("Size of: ", stringify!(WithBindgenGeneratedWrapper))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<WithBindgenGeneratedWrapper>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(WithBindgenGeneratedWrapper))
+ );
+ assert_eq!(
+ unsafe {
+ ::std::ptr::addr_of!((*ptr).non_copy_type) as usize - ptr as usize
+ },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(WithBindgenGeneratedWrapper),
+ "::",
+ stringify!(non_copy_type)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(WithBindgenGeneratedWrapper),
+ "::",
+ stringify!(bar)
+ )
+ );
+}
+impl Default for WithBindgenGeneratedWrapper {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+pub union WithManuallyDrop {
+ pub non_copy_type: ::std::mem::ManuallyDrop<NonCopyType>,
+ pub bar: ::std::mem::ManuallyDrop<::std::os::raw::c_int>,
+}
+#[test]
+fn bindgen_test_layout_WithManuallyDrop() {
+ const UNINIT: ::std::mem::MaybeUninit<WithManuallyDrop> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<WithManuallyDrop>(),
+ 4usize,
+ concat!("Size of: ", stringify!(WithManuallyDrop))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<WithManuallyDrop>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(WithManuallyDrop))
+ );
+ assert_eq!(
+ unsafe {
+ ::std::ptr::addr_of!((*ptr).non_copy_type) as usize - ptr as usize
+ },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(WithManuallyDrop),
+ "::",
+ stringify!(non_copy_type)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(WithManuallyDrop),
+ "::",
+ stringify!(bar)
+ )
+ );
+}
+impl Default for WithManuallyDrop {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+pub struct WithDefaultWrapper {
+ pub non_copy_type: __BindgenUnionField<NonCopyType>,
+ pub bar: __BindgenUnionField<::std::os::raw::c_int>,
+ pub bindgen_union_field: u32,
+}
+#[test]
+fn bindgen_test_layout_WithDefaultWrapper() {
+ const UNINIT: ::std::mem::MaybeUninit<WithDefaultWrapper> =
+ ::std::mem::MaybeUninit::uninit();
+ let ptr = UNINIT.as_ptr();
+ assert_eq!(
+ ::std::mem::size_of::<WithDefaultWrapper>(),
+ 4usize,
+ concat!("Size of: ", stringify!(WithDefaultWrapper))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<WithDefaultWrapper>(),
+ 4usize,
+ concat!("Alignment of ", stringify!(WithDefaultWrapper))
+ );
+ assert_eq!(
+ unsafe {
+ ::std::ptr::addr_of!((*ptr).non_copy_type) as usize - ptr as usize
+ },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(WithDefaultWrapper),
+ "::",
+ stringify!(non_copy_type)
+ )
+ );
+ assert_eq!(
+ unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize },
+ 0usize,
+ concat!(
+ "Offset of field: ",
+ stringify!(WithDefaultWrapper),
+ "::",
+ stringify!(bar)
+ )
+ );
+}
+impl Default for WithDefaultWrapper {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
diff --git a/tests/expectations/tests/unknown_attr.rs b/bindgen-tests/tests/expectations/tests/unknown_attr.rs
index c790f009..c790f009 100644
--- a/tests/expectations/tests/unknown_attr.rs
+++ b/bindgen-tests/tests/expectations/tests/unknown_attr.rs
diff --git a/tests/expectations/tests/unsorted-items.rs b/bindgen-tests/tests/expectations/tests/unsorted-items.rs
index ce0c5f3f..ce0c5f3f 100644
--- a/tests/expectations/tests/unsorted-items.rs
+++ b/bindgen-tests/tests/expectations/tests/unsorted-items.rs
diff --git a/tests/expectations/tests/use-core.rs b/bindgen-tests/tests/expectations/tests/use-core.rs
index e6124d5a..569e8d24 100644
--- a/tests/expectations/tests/use-core.rs
+++ b/bindgen-tests/tests/expectations/tests/use-core.rs
@@ -10,8 +10,8 @@ extern crate core;
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct foo {
- pub a: ::std::os::raw::c_int,
- pub b: ::std::os::raw::c_int,
+ pub a: ::core::ffi::c_int,
+ pub b: ::core::ffi::c_int,
pub bar: *mut ::core::ffi::c_void,
}
#[test]
@@ -57,8 +57,8 @@ impl Default for foo {
#[repr(C)]
#[derive(Copy, Clone)]
pub union _bindgen_ty_1 {
- pub bar: ::std::os::raw::c_int,
- pub baz: ::std::os::raw::c_long,
+ pub bar: ::core::ffi::c_int,
+ pub baz: ::core::ffi::c_long,
}
#[test]
fn bindgen_test_layout__bindgen_ty_1() {
@@ -109,4 +109,4 @@ extern "C" {
pub static mut bazz: _bindgen_ty_1;
}
pub type fooFunction =
- ::core::option::Option<unsafe extern "C" fn(bar: ::std::os::raw::c_int)>;
+ ::core::option::Option<unsafe extern "C" fn(bar: ::core::ffi::c_int)>;
diff --git a/tests/expectations/tests/use-core_1_0.rs b/bindgen-tests/tests/expectations/tests/use-core_1_0.rs
index 8c6d0fd2..8c6d0fd2 100644
--- a/tests/expectations/tests/use-core_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/use-core_1_0.rs
diff --git a/tests/expectations/tests/using.rs b/bindgen-tests/tests/expectations/tests/using.rs
index 4749ed55..4749ed55 100644
--- a/tests/expectations/tests/using.rs
+++ b/bindgen-tests/tests/expectations/tests/using.rs
diff --git a/tests/expectations/tests/var-tracing.rs b/bindgen-tests/tests/expectations/tests/var-tracing.rs
index 4280802e..4280802e 100644
--- a/tests/expectations/tests/var-tracing.rs
+++ b/bindgen-tests/tests/expectations/tests/var-tracing.rs
diff --git a/tests/expectations/tests/variadic-method.rs b/bindgen-tests/tests/expectations/tests/variadic-method.rs
index be93dda7..be93dda7 100644
--- a/tests/expectations/tests/variadic-method.rs
+++ b/bindgen-tests/tests/expectations/tests/variadic-method.rs
diff --git a/tests/expectations/tests/variadic_template_function.rs b/bindgen-tests/tests/expectations/tests/variadic_template_function.rs
index 8f67136a..8f67136a 100644
--- a/tests/expectations/tests/variadic_template_function.rs
+++ b/bindgen-tests/tests/expectations/tests/variadic_template_function.rs
diff --git a/tests/expectations/tests/vector.rs b/bindgen-tests/tests/expectations/tests/vector.rs
index 12d2e1b1..12d2e1b1 100644
--- a/tests/expectations/tests/vector.rs
+++ b/bindgen-tests/tests/expectations/tests/vector.rs
diff --git a/tests/expectations/tests/virtual_dtor.rs b/bindgen-tests/tests/expectations/tests/virtual_dtor.rs
index c3c66e91..c3c66e91 100644
--- a/tests/expectations/tests/virtual_dtor.rs
+++ b/bindgen-tests/tests/expectations/tests/virtual_dtor.rs
diff --git a/tests/expectations/tests/virtual_inheritance.rs b/bindgen-tests/tests/expectations/tests/virtual_inheritance.rs
index 2c15b428..2c15b428 100644
--- a/tests/expectations/tests/virtual_inheritance.rs
+++ b/bindgen-tests/tests/expectations/tests/virtual_inheritance.rs
diff --git a/tests/expectations/tests/virtual_interface.rs b/bindgen-tests/tests/expectations/tests/virtual_interface.rs
index be94f232..be94f232 100644
--- a/tests/expectations/tests/virtual_interface.rs
+++ b/bindgen-tests/tests/expectations/tests/virtual_interface.rs
diff --git a/tests/expectations/tests/virtual_overloaded.rs b/bindgen-tests/tests/expectations/tests/virtual_overloaded.rs
index c117d9ef..c117d9ef 100644
--- a/tests/expectations/tests/virtual_overloaded.rs
+++ b/bindgen-tests/tests/expectations/tests/virtual_overloaded.rs
diff --git a/tests/expectations/tests/vtable_recursive_sig.rs b/bindgen-tests/tests/expectations/tests/vtable_recursive_sig.rs
index 74e1dc79..74e1dc79 100644
--- a/tests/expectations/tests/vtable_recursive_sig.rs
+++ b/bindgen-tests/tests/expectations/tests/vtable_recursive_sig.rs
diff --git a/tests/expectations/tests/wasm-constructor-returns.rs b/bindgen-tests/tests/expectations/tests/wasm-constructor-returns.rs
index 6d15c51f..6d15c51f 100644
--- a/tests/expectations/tests/wasm-constructor-returns.rs
+++ b/bindgen-tests/tests/expectations/tests/wasm-constructor-returns.rs
diff --git a/tests/expectations/tests/wasm-import-module.rs b/bindgen-tests/tests/expectations/tests/wasm-import-module.rs
index e334a7b7..e334a7b7 100644
--- a/tests/expectations/tests/wasm-import-module.rs
+++ b/bindgen-tests/tests/expectations/tests/wasm-import-module.rs
diff --git a/tests/expectations/tests/weird_bitfields.rs b/bindgen-tests/tests/expectations/tests/weird_bitfields.rs
index 9383bada..9383bada 100644
--- a/tests/expectations/tests/weird_bitfields.rs
+++ b/bindgen-tests/tests/expectations/tests/weird_bitfields.rs
diff --git a/tests/expectations/tests/what_is_going_on.rs b/bindgen-tests/tests/expectations/tests/what_is_going_on.rs
index b4f42791..b4f42791 100644
--- a/tests/expectations/tests/what_is_going_on.rs
+++ b/bindgen-tests/tests/expectations/tests/what_is_going_on.rs
diff --git a/tests/expectations/tests/win32-thiscall_1_0.rs b/bindgen-tests/tests/expectations/tests/win32-thiscall_1_0.rs
index 502e12fe..502e12fe 100644
--- a/tests/expectations/tests/win32-thiscall_1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/win32-thiscall_1_0.rs
diff --git a/tests/expectations/tests/win32-thiscall_nightly.rs b/bindgen-tests/tests/expectations/tests/win32-thiscall_nightly.rs
index 92bb13cc..92bb13cc 100644
--- a/tests/expectations/tests/win32-thiscall_nightly.rs
+++ b/bindgen-tests/tests/expectations/tests/win32-thiscall_nightly.rs
diff --git a/tests/expectations/tests/win32-vectorcall-1_0.rs b/bindgen-tests/tests/expectations/tests/win32-vectorcall-1_0.rs
index 131dbdf3..131dbdf3 100644
--- a/tests/expectations/tests/win32-vectorcall-1_0.rs
+++ b/bindgen-tests/tests/expectations/tests/win32-vectorcall-1_0.rs
diff --git a/tests/expectations/tests/win32-vectorcall-nightly.rs b/bindgen-tests/tests/expectations/tests/win32-vectorcall-nightly.rs
index 163741df..163741df 100644
--- a/tests/expectations/tests/win32-vectorcall-nightly.rs
+++ b/bindgen-tests/tests/expectations/tests/win32-vectorcall-nightly.rs
diff --git a/tests/expectations/tests/with_array_pointers_arguments.rs b/bindgen-tests/tests/expectations/tests/with_array_pointers_arguments.rs
index 2a7d1802..2a7d1802 100644
--- a/tests/expectations/tests/with_array_pointers_arguments.rs
+++ b/bindgen-tests/tests/expectations/tests/with_array_pointers_arguments.rs
diff --git a/tests/expectations/tests/without_array_pointers_arguments.rs b/bindgen-tests/tests/expectations/tests/without_array_pointers_arguments.rs
index c4acdb3e..c4acdb3e 100644
--- a/tests/expectations/tests/without_array_pointers_arguments.rs
+++ b/bindgen-tests/tests/expectations/tests/without_array_pointers_arguments.rs
diff --git a/tests/expectations/tests/zero-size-array-align.rs b/bindgen-tests/tests/expectations/tests/zero-size-array-align.rs
index d7d0f661..d7d0f661 100644
--- a/tests/expectations/tests/zero-size-array-align.rs
+++ b/bindgen-tests/tests/expectations/tests/zero-size-array-align.rs
diff --git a/tests/expectations/tests/zero-sized-array.rs b/bindgen-tests/tests/expectations/tests/zero-sized-array.rs
index 4ba52498..4ba52498 100644
--- a/tests/expectations/tests/zero-sized-array.rs
+++ b/bindgen-tests/tests/expectations/tests/zero-sized-array.rs
diff --git a/tests/headers/16-byte-alignment.h b/bindgen-tests/tests/headers/16-byte-alignment.h
index 235a994a..235a994a 100644
--- a/tests/headers/16-byte-alignment.h
+++ b/bindgen-tests/tests/headers/16-byte-alignment.h
diff --git a/tests/headers/16-byte-alignment_1_0.h b/bindgen-tests/tests/headers/16-byte-alignment_1_0.h
index 8a9fd491..8a9fd491 100644
--- a/tests/headers/16-byte-alignment_1_0.h
+++ b/bindgen-tests/tests/headers/16-byte-alignment_1_0.h
diff --git a/tests/headers/381-decltype-alias.hpp b/bindgen-tests/tests/headers/381-decltype-alias.hpp
index 0bec2fc7..0bec2fc7 100644
--- a/tests/headers/381-decltype-alias.hpp
+++ b/bindgen-tests/tests/headers/381-decltype-alias.hpp
diff --git a/tests/headers/abi_variadic_function.hpp b/bindgen-tests/tests/headers/abi_variadic_function.hpp
index 2141535c..2141535c 100644
--- a/tests/headers/abi_variadic_function.hpp
+++ b/bindgen-tests/tests/headers/abi_variadic_function.hpp
diff --git a/tests/headers/accessors.hpp b/bindgen-tests/tests/headers/accessors.hpp
index 4c23e35d..4c23e35d 100644
--- a/tests/headers/accessors.hpp
+++ b/bindgen-tests/tests/headers/accessors.hpp
diff --git a/tests/headers/allowlist-file.hpp b/bindgen-tests/tests/headers/allowlist-file.hpp
index b0354a04..b0354a04 100644
--- a/tests/headers/allowlist-file.hpp
+++ b/bindgen-tests/tests/headers/allowlist-file.hpp
diff --git a/tests/headers/allowlist-namespaces-basic.hpp b/bindgen-tests/tests/headers/allowlist-namespaces-basic.hpp
index fb4dd1be..fb4dd1be 100644
--- a/tests/headers/allowlist-namespaces-basic.hpp
+++ b/bindgen-tests/tests/headers/allowlist-namespaces-basic.hpp
diff --git a/tests/headers/allowlist-namespaces.hpp b/bindgen-tests/tests/headers/allowlist-namespaces.hpp
index 2cffe9d3..2cffe9d3 100644
--- a/tests/headers/allowlist-namespaces.hpp
+++ b/bindgen-tests/tests/headers/allowlist-namespaces.hpp
diff --git a/tests/headers/allowlist_basic.hpp b/bindgen-tests/tests/headers/allowlist_basic.hpp
index ef858c95..ef858c95 100644
--- a/tests/headers/allowlist_basic.hpp
+++ b/bindgen-tests/tests/headers/allowlist_basic.hpp
diff --git a/tests/headers/allowlist_fix.hpp b/bindgen-tests/tests/headers/allowlist_fix.hpp
index ff810fc6..ff810fc6 100644
--- a/tests/headers/allowlist_fix.hpp
+++ b/bindgen-tests/tests/headers/allowlist_fix.hpp
diff --git a/tests/headers/allowlist_vars.h b/bindgen-tests/tests/headers/allowlist_vars.h
index 07fa2815..07fa2815 100644
--- a/tests/headers/allowlist_vars.h
+++ b/bindgen-tests/tests/headers/allowlist_vars.h
diff --git a/tests/headers/allowlist_warnings.h b/bindgen-tests/tests/headers/allowlist_warnings.h
index 83c9e259..83c9e259 100644
--- a/tests/headers/allowlist_warnings.h
+++ b/bindgen-tests/tests/headers/allowlist_warnings.h
diff --git a/tests/headers/allowlisted-item-references-no-hash.hpp b/bindgen-tests/tests/headers/allowlisted-item-references-no-hash.hpp
index 56c2a39f..56c2a39f 100644
--- a/tests/headers/allowlisted-item-references-no-hash.hpp
+++ b/bindgen-tests/tests/headers/allowlisted-item-references-no-hash.hpp
diff --git a/tests/headers/allowlisted-item-references-no-partialeq.hpp b/bindgen-tests/tests/headers/allowlisted-item-references-no-partialeq.hpp
index d85fb6b7..d85fb6b7 100644
--- a/tests/headers/allowlisted-item-references-no-partialeq.hpp
+++ b/bindgen-tests/tests/headers/allowlisted-item-references-no-partialeq.hpp
diff --git a/tests/headers/allowlisted/file.hpp b/bindgen-tests/tests/headers/allowlisted/file.hpp
index 5f360e5e..5f360e5e 100644
--- a/tests/headers/allowlisted/file.hpp
+++ b/bindgen-tests/tests/headers/allowlisted/file.hpp
diff --git a/tests/headers/allowlisted_item_references_no_copy.hpp b/bindgen-tests/tests/headers/allowlisted_item_references_no_copy.hpp
index 9feb3054..9feb3054 100644
--- a/tests/headers/allowlisted_item_references_no_copy.hpp
+++ b/bindgen-tests/tests/headers/allowlisted_item_references_no_copy.hpp
diff --git a/tests/headers/annotation_hide.hpp b/bindgen-tests/tests/headers/annotation_hide.hpp
index 3c82c9a2..3c82c9a2 100644
--- a/tests/headers/annotation_hide.hpp
+++ b/bindgen-tests/tests/headers/annotation_hide.hpp
diff --git a/tests/headers/anon-fields-prefix.h b/bindgen-tests/tests/headers/anon-fields-prefix.h
index 8dcae0c6..8dcae0c6 100644
--- a/tests/headers/anon-fields-prefix.h
+++ b/bindgen-tests/tests/headers/anon-fields-prefix.h
diff --git a/tests/headers/anon_enum.hpp b/bindgen-tests/tests/headers/anon_enum.hpp
index bbd52240..bbd52240 100644
--- a/tests/headers/anon_enum.hpp
+++ b/bindgen-tests/tests/headers/anon_enum.hpp
diff --git a/tests/headers/anon_enum_allowlist.h b/bindgen-tests/tests/headers/anon_enum_allowlist.h
index 94119a87..94119a87 100644
--- a/tests/headers/anon_enum_allowlist.h
+++ b/bindgen-tests/tests/headers/anon_enum_allowlist.h
diff --git a/tests/headers/anon_enum_trait.hpp b/bindgen-tests/tests/headers/anon_enum_trait.hpp
index cc0cd389..cc0cd389 100644
--- a/tests/headers/anon_enum_trait.hpp
+++ b/bindgen-tests/tests/headers/anon_enum_trait.hpp
diff --git a/tests/headers/anon_struct_in_union.h b/bindgen-tests/tests/headers/anon_struct_in_union.h
index 2587ede5..2587ede5 100644
--- a/tests/headers/anon_struct_in_union.h
+++ b/bindgen-tests/tests/headers/anon_struct_in_union.h
diff --git a/tests/headers/anon_struct_in_union_1_0.h b/bindgen-tests/tests/headers/anon_struct_in_union_1_0.h
index 6b59723a..6b59723a 100644
--- a/tests/headers/anon_struct_in_union_1_0.h
+++ b/bindgen-tests/tests/headers/anon_struct_in_union_1_0.h
diff --git a/tests/headers/anon_union.hpp b/bindgen-tests/tests/headers/anon_union.hpp
index e4be25bc..e4be25bc 100644
--- a/tests/headers/anon_union.hpp
+++ b/bindgen-tests/tests/headers/anon_union.hpp
diff --git a/tests/headers/anon_union_1_0.hpp b/bindgen-tests/tests/headers/anon_union_1_0.hpp
index 3d9ae3dd..3d9ae3dd 100644
--- a/tests/headers/anon_union_1_0.hpp
+++ b/bindgen-tests/tests/headers/anon_union_1_0.hpp
diff --git a/tests/headers/anonymous-template-types.hpp b/bindgen-tests/tests/headers/anonymous-template-types.hpp
index d4ad534b..d4ad534b 100644
--- a/tests/headers/anonymous-template-types.hpp
+++ b/bindgen-tests/tests/headers/anonymous-template-types.hpp
diff --git a/tests/headers/arg_keyword.hpp b/bindgen-tests/tests/headers/arg_keyword.hpp
index 283fcf23..283fcf23 100644
--- a/tests/headers/arg_keyword.hpp
+++ b/bindgen-tests/tests/headers/arg_keyword.hpp
diff --git a/tests/headers/array-of-zero-sized-types.hpp b/bindgen-tests/tests/headers/array-of-zero-sized-types.hpp
index 87b36d41..87b36d41 100644
--- a/tests/headers/array-of-zero-sized-types.hpp
+++ b/bindgen-tests/tests/headers/array-of-zero-sized-types.hpp
diff --git a/tests/headers/attribute_warn_unused_result.hpp b/bindgen-tests/tests/headers/attribute_warn_unused_result.hpp
index 26fda091..26fda091 100644
--- a/tests/headers/attribute_warn_unused_result.hpp
+++ b/bindgen-tests/tests/headers/attribute_warn_unused_result.hpp
diff --git a/tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp b/bindgen-tests/tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp
index 21550307..21550307 100644
--- a/tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp
+++ b/bindgen-tests/tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp
diff --git a/tests/headers/attribute_warn_unused_result_pre_1_27.hpp b/bindgen-tests/tests/headers/attribute_warn_unused_result_pre_1_27.hpp
index 25127d9c..25127d9c 100644
--- a/tests/headers/attribute_warn_unused_result_pre_1_27.hpp
+++ b/bindgen-tests/tests/headers/attribute_warn_unused_result_pre_1_27.hpp
diff --git a/tests/headers/auto.hpp b/bindgen-tests/tests/headers/auto.hpp
index b5f6d5f3..b5f6d5f3 100644
--- a/tests/headers/auto.hpp
+++ b/bindgen-tests/tests/headers/auto.hpp
diff --git a/tests/headers/bad-namespace-parenthood-inheritance.hpp b/bindgen-tests/tests/headers/bad-namespace-parenthood-inheritance.hpp
index ce21a401..ce21a401 100644
--- a/tests/headers/bad-namespace-parenthood-inheritance.hpp
+++ b/bindgen-tests/tests/headers/bad-namespace-parenthood-inheritance.hpp
diff --git a/tests/headers/base-to-derived.hpp b/bindgen-tests/tests/headers/base-to-derived.hpp
index ea31e0f2..ea31e0f2 100644
--- a/tests/headers/base-to-derived.hpp
+++ b/bindgen-tests/tests/headers/base-to-derived.hpp
diff --git a/tests/headers/bindgen-union-inside-namespace.hpp b/bindgen-tests/tests/headers/bindgen-union-inside-namespace.hpp
index 6a7d3a30..6a7d3a30 100644
--- a/tests/headers/bindgen-union-inside-namespace.hpp
+++ b/bindgen-tests/tests/headers/bindgen-union-inside-namespace.hpp
diff --git a/tests/headers/bitfield-32bit-overflow.h b/bindgen-tests/tests/headers/bitfield-32bit-overflow.h
index 90796996..90796996 100644
--- a/tests/headers/bitfield-32bit-overflow.h
+++ b/bindgen-tests/tests/headers/bitfield-32bit-overflow.h
diff --git a/tests/headers/bitfield-enum-basic.hpp b/bindgen-tests/tests/headers/bitfield-enum-basic.hpp
index 339fb4d5..339fb4d5 100644
--- a/tests/headers/bitfield-enum-basic.hpp
+++ b/bindgen-tests/tests/headers/bitfield-enum-basic.hpp
diff --git a/tests/headers/bitfield-enum-repr-c.hpp b/bindgen-tests/tests/headers/bitfield-enum-repr-c.hpp
index 20a3f9db..20a3f9db 100644
--- a/tests/headers/bitfield-enum-repr-c.hpp
+++ b/bindgen-tests/tests/headers/bitfield-enum-repr-c.hpp
diff --git a/tests/headers/bitfield-enum-repr-transparent.hpp b/bindgen-tests/tests/headers/bitfield-enum-repr-transparent.hpp
index e53bb075..e53bb075 100644
--- a/tests/headers/bitfield-enum-repr-transparent.hpp
+++ b/bindgen-tests/tests/headers/bitfield-enum-repr-transparent.hpp
diff --git a/tests/headers/bitfield-large.hpp b/bindgen-tests/tests/headers/bitfield-large.hpp
index 2e349279..2e349279 100644
--- a/tests/headers/bitfield-large.hpp
+++ b/bindgen-tests/tests/headers/bitfield-large.hpp
diff --git a/tests/headers/bitfield-linux-32.hpp b/bindgen-tests/tests/headers/bitfield-linux-32.hpp
index b9a480df..b9a480df 100644
--- a/tests/headers/bitfield-linux-32.hpp
+++ b/bindgen-tests/tests/headers/bitfield-linux-32.hpp
diff --git a/tests/headers/bitfield-method-same-name.hpp b/bindgen-tests/tests/headers/bitfield-method-same-name.hpp
index d66f16c0..d66f16c0 100644
--- a/tests/headers/bitfield-method-same-name.hpp
+++ b/bindgen-tests/tests/headers/bitfield-method-same-name.hpp
diff --git a/tests/headers/bitfield_align.h b/bindgen-tests/tests/headers/bitfield_align.h
index 7b9527a2..7b9527a2 100644
--- a/tests/headers/bitfield_align.h
+++ b/bindgen-tests/tests/headers/bitfield_align.h
diff --git a/tests/headers/bitfield_align_2.h b/bindgen-tests/tests/headers/bitfield_align_2.h
index cb0f2e20..cb0f2e20 100644
--- a/tests/headers/bitfield_align_2.h
+++ b/bindgen-tests/tests/headers/bitfield_align_2.h
diff --git a/tests/headers/bitfield_large_overflow.hpp b/bindgen-tests/tests/headers/bitfield_large_overflow.hpp
index 9e040ae3..9e040ae3 100644
--- a/tests/headers/bitfield_large_overflow.hpp
+++ b/bindgen-tests/tests/headers/bitfield_large_overflow.hpp
diff --git a/tests/headers/bitfield_method_mangling.h b/bindgen-tests/tests/headers/bitfield_method_mangling.h
index 257648ee..257648ee 100644
--- a/tests/headers/bitfield_method_mangling.h
+++ b/bindgen-tests/tests/headers/bitfield_method_mangling.h
diff --git a/tests/headers/bitfield_pragma_packed.h b/bindgen-tests/tests/headers/bitfield_pragma_packed.h
index b4011ca8..b4011ca8 100644
--- a/tests/headers/bitfield_pragma_packed.h
+++ b/bindgen-tests/tests/headers/bitfield_pragma_packed.h
diff --git a/tests/headers/block_return_type.h b/bindgen-tests/tests/headers/block_return_type.h
index be76cb59..be76cb59 100644
--- a/tests/headers/block_return_type.h
+++ b/bindgen-tests/tests/headers/block_return_type.h
diff --git a/tests/headers/blocklist-and-impl-debug.hpp b/bindgen-tests/tests/headers/blocklist-and-impl-debug.hpp
index 14e17537..14e17537 100644
--- a/tests/headers/blocklist-and-impl-debug.hpp
+++ b/bindgen-tests/tests/headers/blocklist-and-impl-debug.hpp
diff --git a/tests/headers/blocklist-file.hpp b/bindgen-tests/tests/headers/blocklist-file.hpp
index ad8bcd66..ad8bcd66 100644
--- a/tests/headers/blocklist-file.hpp
+++ b/bindgen-tests/tests/headers/blocklist-file.hpp
diff --git a/tests/headers/blocklist-function.hpp b/bindgen-tests/tests/headers/blocklist-function.hpp
index d7c8bb35..d7c8bb35 100644
--- a/tests/headers/blocklist-function.hpp
+++ b/bindgen-tests/tests/headers/blocklist-function.hpp
diff --git a/tests/headers/blocklist-item.hpp b/bindgen-tests/tests/headers/blocklist-item.hpp
index 2d795d5a..2d795d5a 100644
--- a/tests/headers/blocklist-item.hpp
+++ b/bindgen-tests/tests/headers/blocklist-item.hpp
diff --git a/tests/headers/blocklisted/fake-stdint.h b/bindgen-tests/tests/headers/blocklisted/fake-stdint.h
index a8cfe010..a8cfe010 100644
--- a/tests/headers/blocklisted/fake-stdint.h
+++ b/bindgen-tests/tests/headers/blocklisted/fake-stdint.h
diff --git a/tests/headers/blocklisted/file.hpp b/bindgen-tests/tests/headers/blocklisted/file.hpp
index 4bcb589e..4bcb589e 100644
--- a/tests/headers/blocklisted/file.hpp
+++ b/bindgen-tests/tests/headers/blocklisted/file.hpp
diff --git a/tests/headers/blocks-signature.hpp b/bindgen-tests/tests/headers/blocks-signature.hpp
index eaa72526..eaa72526 100644
--- a/tests/headers/blocks-signature.hpp
+++ b/bindgen-tests/tests/headers/blocks-signature.hpp
diff --git a/tests/headers/blocks.hpp b/bindgen-tests/tests/headers/blocks.hpp
index a68de7e2..a68de7e2 100644
--- a/tests/headers/blocks.hpp
+++ b/bindgen-tests/tests/headers/blocks.hpp
diff --git a/tests/headers/bug-1529681.hpp b/bindgen-tests/tests/headers/bug-1529681.hpp
index 17fa849a..17fa849a 100644
--- a/tests/headers/bug-1529681.hpp
+++ b/bindgen-tests/tests/headers/bug-1529681.hpp
diff --git a/tests/headers/builtin-template.hpp b/bindgen-tests/tests/headers/builtin-template.hpp
index 4e64ebc7..4e64ebc7 100644
--- a/tests/headers/builtin-template.hpp
+++ b/bindgen-tests/tests/headers/builtin-template.hpp
diff --git a/tests/headers/c-empty-layout.h b/bindgen-tests/tests/headers/c-empty-layout.h
index 1fe02e89..1fe02e89 100644
--- a/tests/headers/c-empty-layout.h
+++ b/bindgen-tests/tests/headers/c-empty-layout.h
diff --git a/tests/headers/c_naming.h b/bindgen-tests/tests/headers/c_naming.h
index fd84c271..fd84c271 100644
--- a/tests/headers/c_naming.h
+++ b/bindgen-tests/tests/headers/c_naming.h
diff --git a/tests/headers/call-conv-field.h b/bindgen-tests/tests/headers/call-conv-field.h
index da45ba1d..da45ba1d 100644
--- a/tests/headers/call-conv-field.h
+++ b/bindgen-tests/tests/headers/call-conv-field.h
diff --git a/tests/headers/call-conv-typedef.h b/bindgen-tests/tests/headers/call-conv-typedef.h
index 3b911dda..3b911dda 100644
--- a/tests/headers/call-conv-typedef.h
+++ b/bindgen-tests/tests/headers/call-conv-typedef.h
diff --git a/tests/headers/canonical-types.hpp b/bindgen-tests/tests/headers/canonical-types.hpp
index c8eadd7e..c8eadd7e 100644
--- a/tests/headers/canonical-types.hpp
+++ b/bindgen-tests/tests/headers/canonical-types.hpp
diff --git a/tests/headers/canonical_path_without_namespacing.hpp b/bindgen-tests/tests/headers/canonical_path_without_namespacing.hpp
index 92e85842..92e85842 100644
--- a/tests/headers/canonical_path_without_namespacing.hpp
+++ b/bindgen-tests/tests/headers/canonical_path_without_namespacing.hpp
diff --git a/tests/headers/char.h b/bindgen-tests/tests/headers/char.h
index 7cffd865..7cffd865 100644
--- a/tests/headers/char.h
+++ b/bindgen-tests/tests/headers/char.h
diff --git a/tests/headers/class.hpp b/bindgen-tests/tests/headers/class.hpp
index a90e373f..a90e373f 100644
--- a/tests/headers/class.hpp
+++ b/bindgen-tests/tests/headers/class.hpp
diff --git a/tests/headers/class_1_0.hpp b/bindgen-tests/tests/headers/class_1_0.hpp
index e3735eb6..e3735eb6 100644
--- a/tests/headers/class_1_0.hpp
+++ b/bindgen-tests/tests/headers/class_1_0.hpp
diff --git a/tests/headers/class_nested.hpp b/bindgen-tests/tests/headers/class_nested.hpp
index d6ca02c2..d6ca02c2 100644
--- a/tests/headers/class_nested.hpp
+++ b/bindgen-tests/tests/headers/class_nested.hpp
diff --git a/tests/headers/class_no_members.hpp b/bindgen-tests/tests/headers/class_no_members.hpp
index 6963e372..6963e372 100644
--- a/tests/headers/class_no_members.hpp
+++ b/bindgen-tests/tests/headers/class_no_members.hpp
diff --git a/tests/headers/class_static.hpp b/bindgen-tests/tests/headers/class_static.hpp
index d8f9be6d..d8f9be6d 100644
--- a/tests/headers/class_static.hpp
+++ b/bindgen-tests/tests/headers/class_static.hpp
diff --git a/tests/headers/class_static_const.hpp b/bindgen-tests/tests/headers/class_static_const.hpp
index 3e320edc..3e320edc 100644
--- a/tests/headers/class_static_const.hpp
+++ b/bindgen-tests/tests/headers/class_static_const.hpp
diff --git a/tests/headers/class_use_as.hpp b/bindgen-tests/tests/headers/class_use_as.hpp
index b7eaf29b..b7eaf29b 100644
--- a/tests/headers/class_use_as.hpp
+++ b/bindgen-tests/tests/headers/class_use_as.hpp
diff --git a/tests/headers/class_with_dtor.hpp b/bindgen-tests/tests/headers/class_with_dtor.hpp
index f52858a7..f52858a7 100644
--- a/tests/headers/class_with_dtor.hpp
+++ b/bindgen-tests/tests/headers/class_with_dtor.hpp
diff --git a/tests/headers/class_with_inner_struct.hpp b/bindgen-tests/tests/headers/class_with_inner_struct.hpp
index fd195fb7..fd195fb7 100644
--- a/tests/headers/class_with_inner_struct.hpp
+++ b/bindgen-tests/tests/headers/class_with_inner_struct.hpp
diff --git a/tests/headers/class_with_inner_struct_1_0.hpp b/bindgen-tests/tests/headers/class_with_inner_struct_1_0.hpp
index 34ed96e7..34ed96e7 100644
--- a/tests/headers/class_with_inner_struct_1_0.hpp
+++ b/bindgen-tests/tests/headers/class_with_inner_struct_1_0.hpp
diff --git a/tests/headers/class_with_typedef.hpp b/bindgen-tests/tests/headers/class_with_typedef.hpp
index 7c3d3c97..7c3d3c97 100644
--- a/tests/headers/class_with_typedef.hpp
+++ b/bindgen-tests/tests/headers/class_with_typedef.hpp
diff --git a/tests/headers/comment-indent.hpp b/bindgen-tests/tests/headers/comment-indent.hpp
index 96c13fcc..96c13fcc 100644
--- a/tests/headers/comment-indent.hpp
+++ b/bindgen-tests/tests/headers/comment-indent.hpp
diff --git a/tests/headers/complex.h b/bindgen-tests/tests/headers/complex.h
index 2996be1f..2996be1f 100644
--- a/tests/headers/complex.h
+++ b/bindgen-tests/tests/headers/complex.h
diff --git a/tests/headers/complex_global.h b/bindgen-tests/tests/headers/complex_global.h
index 6b9ffa53..6b9ffa53 100644
--- a/tests/headers/complex_global.h
+++ b/bindgen-tests/tests/headers/complex_global.h
diff --git a/tests/headers/const-const-mut-ptr.h b/bindgen-tests/tests/headers/const-const-mut-ptr.h
index cc7daf7c..cc7daf7c 100644
--- a/tests/headers/const-const-mut-ptr.h
+++ b/bindgen-tests/tests/headers/const-const-mut-ptr.h
diff --git a/tests/headers/const_array.h b/bindgen-tests/tests/headers/const_array.h
index a337881f..a337881f 100644
--- a/tests/headers/const_array.h
+++ b/bindgen-tests/tests/headers/const_array.h
diff --git a/tests/headers/const_array_fn_arg.h b/bindgen-tests/tests/headers/const_array_fn_arg.h
index ebe22861..ebe22861 100644
--- a/tests/headers/const_array_fn_arg.h
+++ b/bindgen-tests/tests/headers/const_array_fn_arg.h
diff --git a/tests/headers/const_bool.hpp b/bindgen-tests/tests/headers/const_bool.hpp
index 633a7c90..633a7c90 100644
--- a/tests/headers/const_bool.hpp
+++ b/bindgen-tests/tests/headers/const_bool.hpp
diff --git a/tests/headers/const_enum_unnamed.hpp b/bindgen-tests/tests/headers/const_enum_unnamed.hpp
index cee87e64..cee87e64 100644
--- a/tests/headers/const_enum_unnamed.hpp
+++ b/bindgen-tests/tests/headers/const_enum_unnamed.hpp
diff --git a/tests/headers/const_multidim_array_fn_arg.h b/bindgen-tests/tests/headers/const_multidim_array_fn_arg.h
index 784a51fe..784a51fe 100644
--- a/tests/headers/const_multidim_array_fn_arg.h
+++ b/bindgen-tests/tests/headers/const_multidim_array_fn_arg.h
diff --git a/tests/headers/const_ptr.hpp b/bindgen-tests/tests/headers/const_ptr.hpp
index 66744f8b..66744f8b 100644
--- a/tests/headers/const_ptr.hpp
+++ b/bindgen-tests/tests/headers/const_ptr.hpp
diff --git a/tests/headers/const_resolved_ty.h b/bindgen-tests/tests/headers/const_resolved_ty.h
index 2521e61c..2521e61c 100644
--- a/tests/headers/const_resolved_ty.h
+++ b/bindgen-tests/tests/headers/const_resolved_ty.h
diff --git a/tests/headers/const_tparam.hpp b/bindgen-tests/tests/headers/const_tparam.hpp
index 05f26e4a..05f26e4a 100644
--- a/tests/headers/const_tparam.hpp
+++ b/bindgen-tests/tests/headers/const_tparam.hpp
diff --git a/tests/headers/constant-evaluate.h b/bindgen-tests/tests/headers/constant-evaluate.h
index 812553ed..812553ed 100644
--- a/tests/headers/constant-evaluate.h
+++ b/bindgen-tests/tests/headers/constant-evaluate.h
diff --git a/tests/headers/constant-non-specialized-tp.hpp b/bindgen-tests/tests/headers/constant-non-specialized-tp.hpp
index 539c2887..539c2887 100644
--- a/tests/headers/constant-non-specialized-tp.hpp
+++ b/bindgen-tests/tests/headers/constant-non-specialized-tp.hpp
diff --git a/tests/headers/constified-enum-module-overflow.hpp b/bindgen-tests/tests/headers/constified-enum-module-overflow.hpp
index d48f2be1..d48f2be1 100644
--- a/tests/headers/constified-enum-module-overflow.hpp
+++ b/bindgen-tests/tests/headers/constified-enum-module-overflow.hpp
diff --git a/tests/headers/constify-all-enums.h b/bindgen-tests/tests/headers/constify-all-enums.h
index 6f4364e3..6f4364e3 100644
--- a/tests/headers/constify-all-enums.h
+++ b/bindgen-tests/tests/headers/constify-all-enums.h
diff --git a/tests/headers/constify-enum.h b/bindgen-tests/tests/headers/constify-enum.h
index b8e0be3e..b8e0be3e 100644
--- a/tests/headers/constify-enum.h
+++ b/bindgen-tests/tests/headers/constify-enum.h
diff --git a/tests/headers/constify-module-enums-basic.h b/bindgen-tests/tests/headers/constify-module-enums-basic.h
index 631e8847..631e8847 100644
--- a/tests/headers/constify-module-enums-basic.h
+++ b/bindgen-tests/tests/headers/constify-module-enums-basic.h
diff --git a/tests/headers/constify-module-enums-namespace.hpp b/bindgen-tests/tests/headers/constify-module-enums-namespace.hpp
index 5d8ea23a..5d8ea23a 100644
--- a/tests/headers/constify-module-enums-namespace.hpp
+++ b/bindgen-tests/tests/headers/constify-module-enums-namespace.hpp
diff --git a/tests/headers/constify-module-enums-shadow-name.h b/bindgen-tests/tests/headers/constify-module-enums-shadow-name.h
index 38b26106..38b26106 100644
--- a/tests/headers/constify-module-enums-shadow-name.h
+++ b/bindgen-tests/tests/headers/constify-module-enums-shadow-name.h
diff --git a/tests/headers/constify-module-enums-simple-alias.hpp b/bindgen-tests/tests/headers/constify-module-enums-simple-alias.hpp
index 35ac4be3..35ac4be3 100644
--- a/tests/headers/constify-module-enums-simple-alias.hpp
+++ b/bindgen-tests/tests/headers/constify-module-enums-simple-alias.hpp
diff --git a/tests/headers/constify-module-enums-simple-nonamespace.hpp b/bindgen-tests/tests/headers/constify-module-enums-simple-nonamespace.hpp
index 5b15f5c8..5b15f5c8 100644
--- a/tests/headers/constify-module-enums-simple-nonamespace.hpp
+++ b/bindgen-tests/tests/headers/constify-module-enums-simple-nonamespace.hpp
diff --git a/tests/headers/constify-module-enums-types.hpp b/bindgen-tests/tests/headers/constify-module-enums-types.hpp
index decf935a..decf935a 100644
--- a/tests/headers/constify-module-enums-types.hpp
+++ b/bindgen-tests/tests/headers/constify-module-enums-types.hpp
diff --git a/tests/headers/constructor-tp.hpp b/bindgen-tests/tests/headers/constructor-tp.hpp
index 6e55ea78..6e55ea78 100644
--- a/tests/headers/constructor-tp.hpp
+++ b/bindgen-tests/tests/headers/constructor-tp.hpp
diff --git a/tests/headers/constructors.hpp b/bindgen-tests/tests/headers/constructors.hpp
index d4174889..d4174889 100644
--- a/tests/headers/constructors.hpp
+++ b/bindgen-tests/tests/headers/constructors.hpp
diff --git a/tests/headers/constructors_1_33.hpp b/bindgen-tests/tests/headers/constructors_1_33.hpp
index 7c6262d4..7c6262d4 100644
--- a/tests/headers/constructors_1_33.hpp
+++ b/bindgen-tests/tests/headers/constructors_1_33.hpp
diff --git a/tests/headers/contains-vs-inherits-zero-sized.hpp b/bindgen-tests/tests/headers/contains-vs-inherits-zero-sized.hpp
index d354b0a2..d354b0a2 100644
--- a/tests/headers/contains-vs-inherits-zero-sized.hpp
+++ b/bindgen-tests/tests/headers/contains-vs-inherits-zero-sized.hpp
diff --git a/tests/headers/convert-cpp-comment-to-rust.hpp b/bindgen-tests/tests/headers/convert-cpp-comment-to-rust.hpp
index f5bbbf58..f5bbbf58 100644
--- a/tests/headers/convert-cpp-comment-to-rust.hpp
+++ b/bindgen-tests/tests/headers/convert-cpp-comment-to-rust.hpp
diff --git a/tests/headers/convert-floats.h b/bindgen-tests/tests/headers/convert-floats.h
index 08d9fe0b..08d9fe0b 100644
--- a/tests/headers/convert-floats.h
+++ b/bindgen-tests/tests/headers/convert-floats.h
diff --git a/bindgen-tests/tests/headers/core_ffi_c.h b/bindgen-tests/tests/headers/core_ffi_c.h
new file mode 100644
index 00000000..6df1e2f8
--- /dev/null
+++ b/bindgen-tests/tests/headers/core_ffi_c.h
@@ -0,0 +1,14 @@
+// bindgen-flags: --use-core --rust-target 1.64 --no-convert-floats
+typedef char c_char;
+typedef double c_double;
+typedef float c_float;
+typedef int c_int;
+typedef long c_long;
+typedef long long c_longlong;
+typedef signed char c_schar;
+typedef short c_short;
+typedef unsigned char c_uchar;
+typedef unsigned int c_uint;
+typedef unsigned long c_ulong;
+typedef unsigned long long c_ulonglong;
+typedef unsigned short c_ushort;
diff --git a/tests/headers/cpp-empty-layout.hpp b/bindgen-tests/tests/headers/cpp-empty-layout.hpp
index 1fe02e89..1fe02e89 100644
--- a/tests/headers/cpp-empty-layout.hpp
+++ b/bindgen-tests/tests/headers/cpp-empty-layout.hpp
diff --git a/tests/headers/crtp.hpp b/bindgen-tests/tests/headers/crtp.hpp
index a5477c54..a5477c54 100644
--- a/tests/headers/crtp.hpp
+++ b/bindgen-tests/tests/headers/crtp.hpp
diff --git a/tests/headers/ctypes-prefix-path.h b/bindgen-tests/tests/headers/ctypes-prefix-path.h
index 10e06f89..10e06f89 100644
--- a/tests/headers/ctypes-prefix-path.h
+++ b/bindgen-tests/tests/headers/ctypes-prefix-path.h
diff --git a/tests/headers/dash_language.h b/bindgen-tests/tests/headers/dash_language.h
index 4c8bb58d..4c8bb58d 100644
--- a/tests/headers/dash_language.h
+++ b/bindgen-tests/tests/headers/dash_language.h
diff --git a/tests/headers/decl_extern_int_twice.h b/bindgen-tests/tests/headers/decl_extern_int_twice.h
index 06f80e87..06f80e87 100644
--- a/tests/headers/decl_extern_int_twice.h
+++ b/bindgen-tests/tests/headers/decl_extern_int_twice.h
diff --git a/tests/headers/decl_ptr_to_array.h b/bindgen-tests/tests/headers/decl_ptr_to_array.h
index 3222cbd4..3222cbd4 100644
--- a/tests/headers/decl_ptr_to_array.h
+++ b/bindgen-tests/tests/headers/decl_ptr_to_array.h
diff --git a/tests/headers/default-enum-style-constified-module.h b/bindgen-tests/tests/headers/default-enum-style-constified-module.h
index a5ba6531..a5ba6531 100644
--- a/tests/headers/default-enum-style-constified-module.h
+++ b/bindgen-tests/tests/headers/default-enum-style-constified-module.h
diff --git a/tests/headers/default-macro-constant-type-signed.h b/bindgen-tests/tests/headers/default-macro-constant-type-signed.h
index da3f1344..da3f1344 100644
--- a/tests/headers/default-macro-constant-type-signed.h
+++ b/bindgen-tests/tests/headers/default-macro-constant-type-signed.h
diff --git a/tests/headers/default-macro-constant-type-unsigned.h b/bindgen-tests/tests/headers/default-macro-constant-type-unsigned.h
index 1078e852..1078e852 100644
--- a/tests/headers/default-macro-constant-type-unsigned.h
+++ b/bindgen-tests/tests/headers/default-macro-constant-type-unsigned.h
diff --git a/tests/headers/default-macro-constant-type.h b/bindgen-tests/tests/headers/default-macro-constant-type.h
index a863362c..a863362c 100644
--- a/tests/headers/default-macro-constant-type.h
+++ b/bindgen-tests/tests/headers/default-macro-constant-type.h
diff --git a/tests/headers/default-template-parameter.hpp b/bindgen-tests/tests/headers/default-template-parameter.hpp
index 4deed834..4deed834 100644
--- a/tests/headers/default-template-parameter.hpp
+++ b/bindgen-tests/tests/headers/default-template-parameter.hpp
diff --git a/tests/headers/deleted-function.hpp b/bindgen-tests/tests/headers/deleted-function.hpp
index 61848a0a..61848a0a 100644
--- a/tests/headers/deleted-function.hpp
+++ b/bindgen-tests/tests/headers/deleted-function.hpp
diff --git a/tests/headers/derive-bitfield-method-same-name.hpp b/bindgen-tests/tests/headers/derive-bitfield-method-same-name.hpp
index ea9d801f..ea9d801f 100644
--- a/tests/headers/derive-bitfield-method-same-name.hpp
+++ b/bindgen-tests/tests/headers/derive-bitfield-method-same-name.hpp
diff --git a/tests/headers/derive-clone.h b/bindgen-tests/tests/headers/derive-clone.h
index aacbcaf8..aacbcaf8 100644
--- a/tests/headers/derive-clone.h
+++ b/bindgen-tests/tests/headers/derive-clone.h
diff --git a/tests/headers/derive-clone_1_0.h b/bindgen-tests/tests/headers/derive-clone_1_0.h
index 34ef40ae..34ef40ae 100644
--- a/tests/headers/derive-clone_1_0.h
+++ b/bindgen-tests/tests/headers/derive-clone_1_0.h
diff --git a/tests/headers/derive-custom.h b/bindgen-tests/tests/headers/derive-custom.h
index 8c57278c..8c57278c 100644
--- a/tests/headers/derive-custom.h
+++ b/bindgen-tests/tests/headers/derive-custom.h
diff --git a/tests/headers/derive-debug-bitfield-core.hpp b/bindgen-tests/tests/headers/derive-debug-bitfield-core.hpp
index 2073cc2a..2073cc2a 100644
--- a/tests/headers/derive-debug-bitfield-core.hpp
+++ b/bindgen-tests/tests/headers/derive-debug-bitfield-core.hpp
diff --git a/tests/headers/derive-debug-bitfield.hpp b/bindgen-tests/tests/headers/derive-debug-bitfield.hpp
index b6891905..b6891905 100644
--- a/tests/headers/derive-debug-bitfield.hpp
+++ b/bindgen-tests/tests/headers/derive-debug-bitfield.hpp
diff --git a/tests/headers/derive-debug-function-pointer.hpp b/bindgen-tests/tests/headers/derive-debug-function-pointer.hpp
index 147097fb..147097fb 100644
--- a/tests/headers/derive-debug-function-pointer.hpp
+++ b/bindgen-tests/tests/headers/derive-debug-function-pointer.hpp
diff --git a/tests/headers/derive-debug-generic.hpp b/bindgen-tests/tests/headers/derive-debug-generic.hpp
index 50122faf..50122faf 100644
--- a/tests/headers/derive-debug-generic.hpp
+++ b/bindgen-tests/tests/headers/derive-debug-generic.hpp
diff --git a/tests/headers/derive-debug-mangle-name.h b/bindgen-tests/tests/headers/derive-debug-mangle-name.h
index 1cd7db63..1cd7db63 100644
--- a/tests/headers/derive-debug-mangle-name.h
+++ b/bindgen-tests/tests/headers/derive-debug-mangle-name.h
diff --git a/tests/headers/derive-debug-opaque-template-instantiation.hpp b/bindgen-tests/tests/headers/derive-debug-opaque-template-instantiation.hpp
index 0c70fcc5..0c70fcc5 100644
--- a/tests/headers/derive-debug-opaque-template-instantiation.hpp
+++ b/bindgen-tests/tests/headers/derive-debug-opaque-template-instantiation.hpp
diff --git a/tests/headers/derive-debug-opaque.hpp b/bindgen-tests/tests/headers/derive-debug-opaque.hpp
index 715d3c89..715d3c89 100644
--- a/tests/headers/derive-debug-opaque.hpp
+++ b/bindgen-tests/tests/headers/derive-debug-opaque.hpp
diff --git a/tests/headers/derive-default-and-blocklist.hpp b/bindgen-tests/tests/headers/derive-default-and-blocklist.hpp
index 20d938cc..20d938cc 100644
--- a/tests/headers/derive-default-and-blocklist.hpp
+++ b/bindgen-tests/tests/headers/derive-default-and-blocklist.hpp
diff --git a/tests/headers/derive-fn-ptr.h b/bindgen-tests/tests/headers/derive-fn-ptr.h
index 93b980e6..93b980e6 100644
--- a/tests/headers/derive-fn-ptr.h
+++ b/bindgen-tests/tests/headers/derive-fn-ptr.h
diff --git a/tests/headers/derive-hash-and-blocklist.hpp b/bindgen-tests/tests/headers/derive-hash-and-blocklist.hpp
index 51a3372f..51a3372f 100644
--- a/tests/headers/derive-hash-and-blocklist.hpp
+++ b/bindgen-tests/tests/headers/derive-hash-and-blocklist.hpp
diff --git a/tests/headers/derive-hash-blocklisting.hpp b/bindgen-tests/tests/headers/derive-hash-blocklisting.hpp
index 4e20e392..4e20e392 100644
--- a/tests/headers/derive-hash-blocklisting.hpp
+++ b/bindgen-tests/tests/headers/derive-hash-blocklisting.hpp
diff --git a/tests/headers/derive-hash-struct-with-anon-struct-float.h b/bindgen-tests/tests/headers/derive-hash-struct-with-anon-struct-float.h
index dc6e7329..dc6e7329 100644
--- a/tests/headers/derive-hash-struct-with-anon-struct-float.h
+++ b/bindgen-tests/tests/headers/derive-hash-struct-with-anon-struct-float.h
diff --git a/tests/headers/derive-hash-struct-with-float-array.h b/bindgen-tests/tests/headers/derive-hash-struct-with-float-array.h
index 2294b1de..2294b1de 100644
--- a/tests/headers/derive-hash-struct-with-float-array.h
+++ b/bindgen-tests/tests/headers/derive-hash-struct-with-float-array.h
diff --git a/tests/headers/derive-hash-struct-with-incomplete-array.h b/bindgen-tests/tests/headers/derive-hash-struct-with-incomplete-array.h
index 65c009db..65c009db 100644
--- a/tests/headers/derive-hash-struct-with-incomplete-array.h
+++ b/bindgen-tests/tests/headers/derive-hash-struct-with-incomplete-array.h
diff --git a/tests/headers/derive-hash-struct-with-pointer.h b/bindgen-tests/tests/headers/derive-hash-struct-with-pointer.h
index a3ce9cc5..a3ce9cc5 100644
--- a/tests/headers/derive-hash-struct-with-pointer.h
+++ b/bindgen-tests/tests/headers/derive-hash-struct-with-pointer.h
diff --git a/tests/headers/derive-hash-template-def-float.hpp b/bindgen-tests/tests/headers/derive-hash-template-def-float.hpp
index 253fb9ce..253fb9ce 100644
--- a/tests/headers/derive-hash-template-def-float.hpp
+++ b/bindgen-tests/tests/headers/derive-hash-template-def-float.hpp
diff --git a/tests/headers/derive-hash-template-inst-float.hpp b/bindgen-tests/tests/headers/derive-hash-template-inst-float.hpp
index 0a4fc0c1..0a4fc0c1 100644
--- a/tests/headers/derive-hash-template-inst-float.hpp
+++ b/bindgen-tests/tests/headers/derive-hash-template-inst-float.hpp
diff --git a/tests/headers/derive-partialeq-and-blocklist.hpp b/bindgen-tests/tests/headers/derive-partialeq-and-blocklist.hpp
index 953d0677..953d0677 100644
--- a/tests/headers/derive-partialeq-and-blocklist.hpp
+++ b/bindgen-tests/tests/headers/derive-partialeq-and-blocklist.hpp
diff --git a/tests/headers/derive-partialeq-anonfield.h b/bindgen-tests/tests/headers/derive-partialeq-anonfield.h
index 3bbe2bc3..3bbe2bc3 100644
--- a/tests/headers/derive-partialeq-anonfield.h
+++ b/bindgen-tests/tests/headers/derive-partialeq-anonfield.h
diff --git a/tests/headers/derive-partialeq-base.hpp b/bindgen-tests/tests/headers/derive-partialeq-base.hpp
index 2a57dca4..2a57dca4 100644
--- a/tests/headers/derive-partialeq-base.hpp
+++ b/bindgen-tests/tests/headers/derive-partialeq-base.hpp
diff --git a/tests/headers/derive-partialeq-bitfield.hpp b/bindgen-tests/tests/headers/derive-partialeq-bitfield.hpp
index f6dd82e5..f6dd82e5 100644
--- a/tests/headers/derive-partialeq-bitfield.hpp
+++ b/bindgen-tests/tests/headers/derive-partialeq-bitfield.hpp
diff --git a/tests/headers/derive-partialeq-core.h b/bindgen-tests/tests/headers/derive-partialeq-core.h
index 18eed8b3..18eed8b3 100644
--- a/tests/headers/derive-partialeq-core.h
+++ b/bindgen-tests/tests/headers/derive-partialeq-core.h
diff --git a/tests/headers/derive-partialeq-pointer.hpp b/bindgen-tests/tests/headers/derive-partialeq-pointer.hpp
index ce971e07..ce971e07 100644
--- a/tests/headers/derive-partialeq-pointer.hpp
+++ b/bindgen-tests/tests/headers/derive-partialeq-pointer.hpp
diff --git a/tests/headers/derive-partialeq-union.hpp b/bindgen-tests/tests/headers/derive-partialeq-union.hpp
index e2081a01..e2081a01 100644
--- a/tests/headers/derive-partialeq-union.hpp
+++ b/bindgen-tests/tests/headers/derive-partialeq-union.hpp
diff --git a/tests/headers/derive-partialeq-union_1_0.hpp b/bindgen-tests/tests/headers/derive-partialeq-union_1_0.hpp
index d546d77b..d546d77b 100644
--- a/tests/headers/derive-partialeq-union_1_0.hpp
+++ b/bindgen-tests/tests/headers/derive-partialeq-union_1_0.hpp
diff --git a/tests/headers/disable-namespacing.hpp b/bindgen-tests/tests/headers/disable-namespacing.hpp
index 11191361..11191361 100644
--- a/tests/headers/disable-namespacing.hpp
+++ b/bindgen-tests/tests/headers/disable-namespacing.hpp
diff --git a/tests/headers/disable-nested-struct-naming.h b/bindgen-tests/tests/headers/disable-nested-struct-naming.h
index 0e4fccb6..0e4fccb6 100644
--- a/tests/headers/disable-nested-struct-naming.h
+++ b/bindgen-tests/tests/headers/disable-nested-struct-naming.h
diff --git a/tests/headers/disable-untagged-union.hpp b/bindgen-tests/tests/headers/disable-untagged-union.hpp
index 44623181..44623181 100644
--- a/tests/headers/disable-untagged-union.hpp
+++ b/bindgen-tests/tests/headers/disable-untagged-union.hpp
diff --git a/tests/headers/divide-by-zero-in-struct-layout.h b/bindgen-tests/tests/headers/divide-by-zero-in-struct-layout.h
index 7c500cb0..7c500cb0 100644
--- a/tests/headers/divide-by-zero-in-struct-layout.h
+++ b/bindgen-tests/tests/headers/divide-by-zero-in-struct-layout.h
diff --git a/tests/headers/do-not-derive-copy.hpp b/bindgen-tests/tests/headers/do-not-derive-copy.hpp
index 18c26135..18c26135 100644
--- a/tests/headers/do-not-derive-copy.hpp
+++ b/bindgen-tests/tests/headers/do-not-derive-copy.hpp
diff --git a/tests/headers/doggo-or-null.hpp b/bindgen-tests/tests/headers/doggo-or-null.hpp
index 9146e189..9146e189 100644
--- a/tests/headers/doggo-or-null.hpp
+++ b/bindgen-tests/tests/headers/doggo-or-null.hpp
diff --git a/tests/headers/dupe-enum-variant-in-namespace.h b/bindgen-tests/tests/headers/dupe-enum-variant-in-namespace.h
index 2b6fb93a..2b6fb93a 100644
--- a/tests/headers/dupe-enum-variant-in-namespace.h
+++ b/bindgen-tests/tests/headers/dupe-enum-variant-in-namespace.h
diff --git a/tests/headers/duplicated-namespaces-definitions.hpp b/bindgen-tests/tests/headers/duplicated-namespaces-definitions.hpp
index 7c8888de..7c8888de 100644
--- a/tests/headers/duplicated-namespaces-definitions.hpp
+++ b/bindgen-tests/tests/headers/duplicated-namespaces-definitions.hpp
diff --git a/tests/headers/duplicated-namespaces.hpp b/bindgen-tests/tests/headers/duplicated-namespaces.hpp
index 10e1933f..10e1933f 100644
--- a/tests/headers/duplicated-namespaces.hpp
+++ b/bindgen-tests/tests/headers/duplicated-namespaces.hpp
diff --git a/tests/headers/duplicated_constants_in_ns.hpp b/bindgen-tests/tests/headers/duplicated_constants_in_ns.hpp
index bb343641..bb343641 100644
--- a/tests/headers/duplicated_constants_in_ns.hpp
+++ b/bindgen-tests/tests/headers/duplicated_constants_in_ns.hpp
diff --git a/tests/headers/dynamic_loading_attributes.h b/bindgen-tests/tests/headers/dynamic_loading_attributes.h
index e2ca62b1..e2ca62b1 100644
--- a/tests/headers/dynamic_loading_attributes.h
+++ b/bindgen-tests/tests/headers/dynamic_loading_attributes.h
diff --git a/tests/headers/dynamic_loading_required.h b/bindgen-tests/tests/headers/dynamic_loading_required.h
index f9861e84..f9861e84 100644
--- a/tests/headers/dynamic_loading_required.h
+++ b/bindgen-tests/tests/headers/dynamic_loading_required.h
diff --git a/tests/headers/dynamic_loading_simple.h b/bindgen-tests/tests/headers/dynamic_loading_simple.h
index f418851b..f418851b 100644
--- a/tests/headers/dynamic_loading_simple.h
+++ b/bindgen-tests/tests/headers/dynamic_loading_simple.h
diff --git a/tests/headers/dynamic_loading_template.hpp b/bindgen-tests/tests/headers/dynamic_loading_template.hpp
index 27f04c8e..27f04c8e 100644
--- a/tests/headers/dynamic_loading_template.hpp
+++ b/bindgen-tests/tests/headers/dynamic_loading_template.hpp
diff --git a/tests/headers/dynamic_loading_with_allowlist.hpp b/bindgen-tests/tests/headers/dynamic_loading_with_allowlist.hpp
index 995fbdd5..995fbdd5 100644
--- a/tests/headers/dynamic_loading_with_allowlist.hpp
+++ b/bindgen-tests/tests/headers/dynamic_loading_with_allowlist.hpp
diff --git a/tests/headers/dynamic_loading_with_blocklist.hpp b/bindgen-tests/tests/headers/dynamic_loading_with_blocklist.hpp
index 81266d1f..81266d1f 100644
--- a/tests/headers/dynamic_loading_with_blocklist.hpp
+++ b/bindgen-tests/tests/headers/dynamic_loading_with_blocklist.hpp
diff --git a/tests/headers/dynamic_loading_with_class.hpp b/bindgen-tests/tests/headers/dynamic_loading_with_class.hpp
index 632db4d0..632db4d0 100644
--- a/tests/headers/dynamic_loading_with_class.hpp
+++ b/bindgen-tests/tests/headers/dynamic_loading_with_class.hpp
diff --git a/tests/headers/elaborated.hpp b/bindgen-tests/tests/headers/elaborated.hpp
index 4bfbff23..4bfbff23 100644
--- a/tests/headers/elaborated.hpp
+++ b/bindgen-tests/tests/headers/elaborated.hpp
diff --git a/tests/headers/empty-enum.h b/bindgen-tests/tests/headers/empty-enum.h
index 8b7502e6..8b7502e6 100644
--- a/tests/headers/empty-enum.h
+++ b/bindgen-tests/tests/headers/empty-enum.h
diff --git a/tests/headers/empty-union.hpp b/bindgen-tests/tests/headers/empty-union.hpp
index 3b067e39..3b067e39 100644
--- a/tests/headers/empty-union.hpp
+++ b/bindgen-tests/tests/headers/empty-union.hpp
diff --git a/tests/headers/empty_template_param_name.hpp b/bindgen-tests/tests/headers/empty_template_param_name.hpp
index ab2aab92..ab2aab92 100644
--- a/tests/headers/empty_template_param_name.hpp
+++ b/bindgen-tests/tests/headers/empty_template_param_name.hpp
diff --git a/tests/headers/enum-default-bitfield.h b/bindgen-tests/tests/headers/enum-default-bitfield.h
index 5f3cb954..5f3cb954 100644
--- a/tests/headers/enum-default-bitfield.h
+++ b/bindgen-tests/tests/headers/enum-default-bitfield.h
diff --git a/tests/headers/enum-default-consts.h b/bindgen-tests/tests/headers/enum-default-consts.h
index 233d2718..233d2718 100644
--- a/tests/headers/enum-default-consts.h
+++ b/bindgen-tests/tests/headers/enum-default-consts.h
diff --git a/tests/headers/enum-default-module.h b/bindgen-tests/tests/headers/enum-default-module.h
index 8c2ec1bc..8c2ec1bc 100644
--- a/tests/headers/enum-default-module.h
+++ b/bindgen-tests/tests/headers/enum-default-module.h
diff --git a/tests/headers/enum-default-rust.h b/bindgen-tests/tests/headers/enum-default-rust.h
index 7fd2999f..7fd2999f 100644
--- a/tests/headers/enum-default-rust.h
+++ b/bindgen-tests/tests/headers/enum-default-rust.h
diff --git a/tests/headers/enum-doc-bitfield.h b/bindgen-tests/tests/headers/enum-doc-bitfield.h
index 5bbd7287..5bbd7287 100644
--- a/tests/headers/enum-doc-bitfield.h
+++ b/bindgen-tests/tests/headers/enum-doc-bitfield.h
diff --git a/tests/headers/enum-doc-mod.h b/bindgen-tests/tests/headers/enum-doc-mod.h
index e5217451..e5217451 100644
--- a/tests/headers/enum-doc-mod.h
+++ b/bindgen-tests/tests/headers/enum-doc-mod.h
diff --git a/tests/headers/enum-doc-rusty.h b/bindgen-tests/tests/headers/enum-doc-rusty.h
index 35622d2b..35622d2b 100644
--- a/tests/headers/enum-doc-rusty.h
+++ b/bindgen-tests/tests/headers/enum-doc-rusty.h
diff --git a/tests/headers/enum-doc.h b/bindgen-tests/tests/headers/enum-doc.h
index 58e2c69e..58e2c69e 100644
--- a/tests/headers/enum-doc.h
+++ b/bindgen-tests/tests/headers/enum-doc.h
diff --git a/tests/headers/enum-no-debug-rust.h b/bindgen-tests/tests/headers/enum-no-debug-rust.h
index 7cb73980..7cb73980 100644
--- a/tests/headers/enum-no-debug-rust.h
+++ b/bindgen-tests/tests/headers/enum-no-debug-rust.h
diff --git a/tests/headers/enum-translate-type.hpp b/bindgen-tests/tests/headers/enum-translate-type.hpp
index 8d856261..8d856261 100644
--- a/tests/headers/enum-translate-type.hpp
+++ b/bindgen-tests/tests/headers/enum-translate-type.hpp
diff --git a/tests/headers/enum-undefault.h b/bindgen-tests/tests/headers/enum-undefault.h
index 7150be0d..7150be0d 100644
--- a/tests/headers/enum-undefault.h
+++ b/bindgen-tests/tests/headers/enum-undefault.h
diff --git a/tests/headers/enum-variant-replaces.h b/bindgen-tests/tests/headers/enum-variant-replaces.h
index 45eb4d7a..45eb4d7a 100644
--- a/tests/headers/enum-variant-replaces.h
+++ b/bindgen-tests/tests/headers/enum-variant-replaces.h
diff --git a/tests/headers/enum.h b/bindgen-tests/tests/headers/enum.h
index 0147433e..0147433e 100644
--- a/tests/headers/enum.h
+++ b/bindgen-tests/tests/headers/enum.h
diff --git a/tests/headers/enum_alias.hpp b/bindgen-tests/tests/headers/enum_alias.hpp
index 8ddb25c3..8ddb25c3 100644
--- a/tests/headers/enum_alias.hpp
+++ b/bindgen-tests/tests/headers/enum_alias.hpp
diff --git a/tests/headers/enum_and_vtable_mangling.hpp b/bindgen-tests/tests/headers/enum_and_vtable_mangling.hpp
index 659a8bd1..659a8bd1 100644
--- a/tests/headers/enum_and_vtable_mangling.hpp
+++ b/bindgen-tests/tests/headers/enum_and_vtable_mangling.hpp
diff --git a/tests/headers/enum_dupe.h b/bindgen-tests/tests/headers/enum_dupe.h
index b8d9689a..b8d9689a 100644
--- a/tests/headers/enum_dupe.h
+++ b/bindgen-tests/tests/headers/enum_dupe.h
diff --git a/tests/headers/enum_explicit_type.hpp b/bindgen-tests/tests/headers/enum_explicit_type.hpp
index 38e636e6..38e636e6 100644
--- a/tests/headers/enum_explicit_type.hpp
+++ b/bindgen-tests/tests/headers/enum_explicit_type.hpp
diff --git a/tests/headers/enum_explicit_type_constants.hpp b/bindgen-tests/tests/headers/enum_explicit_type_constants.hpp
index e1ecf6fa..e1ecf6fa 100644
--- a/tests/headers/enum_explicit_type_constants.hpp
+++ b/bindgen-tests/tests/headers/enum_explicit_type_constants.hpp
diff --git a/tests/headers/enum_in_template.hpp b/bindgen-tests/tests/headers/enum_in_template.hpp
index 41c017c4..41c017c4 100644
--- a/tests/headers/enum_in_template.hpp
+++ b/bindgen-tests/tests/headers/enum_in_template.hpp
diff --git a/tests/headers/enum_in_template_with_typedef.hpp b/bindgen-tests/tests/headers/enum_in_template_with_typedef.hpp
index 87290ece..87290ece 100644
--- a/tests/headers/enum_in_template_with_typedef.hpp
+++ b/bindgen-tests/tests/headers/enum_in_template_with_typedef.hpp
diff --git a/tests/headers/enum_negative.h b/bindgen-tests/tests/headers/enum_negative.h
index 0fa0df97..0fa0df97 100644
--- a/tests/headers/enum_negative.h
+++ b/bindgen-tests/tests/headers/enum_negative.h
diff --git a/tests/headers/enum_packed.h b/bindgen-tests/tests/headers/enum_packed.h
index cc70c816..cc70c816 100644
--- a/tests/headers/enum_packed.h
+++ b/bindgen-tests/tests/headers/enum_packed.h
diff --git a/tests/headers/error-E0600-cannot-apply-unary-negation-to-u32.h b/bindgen-tests/tests/headers/error-E0600-cannot-apply-unary-negation-to-u32.h
index 4c342c0e..4c342c0e 100644
--- a/tests/headers/error-E0600-cannot-apply-unary-negation-to-u32.h
+++ b/bindgen-tests/tests/headers/error-E0600-cannot-apply-unary-negation-to-u32.h
diff --git a/tests/headers/eval-value-dependent.hpp b/bindgen-tests/tests/headers/eval-value-dependent.hpp
index 0f4dc6ab..0f4dc6ab 100644
--- a/tests/headers/eval-value-dependent.hpp
+++ b/bindgen-tests/tests/headers/eval-value-dependent.hpp
diff --git a/tests/headers/eval-variadic-template-parameter.hpp b/bindgen-tests/tests/headers/eval-variadic-template-parameter.hpp
index 0a9e51c1..0a9e51c1 100644
--- a/tests/headers/eval-variadic-template-parameter.hpp
+++ b/bindgen-tests/tests/headers/eval-variadic-template-parameter.hpp
diff --git a/tests/headers/explicit-padding.h b/bindgen-tests/tests/headers/explicit-padding.h
index 4abaafba..4abaafba 100644
--- a/tests/headers/explicit-padding.h
+++ b/bindgen-tests/tests/headers/explicit-padding.h
diff --git a/tests/headers/extern-const-struct.h b/bindgen-tests/tests/headers/extern-const-struct.h
index 10271274..10271274 100644
--- a/tests/headers/extern-const-struct.h
+++ b/bindgen-tests/tests/headers/extern-const-struct.h
diff --git a/tests/headers/extern.hpp b/bindgen-tests/tests/headers/extern.hpp
index 0779e038..0779e038 100644
--- a/tests/headers/extern.hpp
+++ b/bindgen-tests/tests/headers/extern.hpp
diff --git a/tests/headers/fit-macro-constant-types-signed.h b/bindgen-tests/tests/headers/fit-macro-constant-types-signed.h
index dba20937..dba20937 100644
--- a/tests/headers/fit-macro-constant-types-signed.h
+++ b/bindgen-tests/tests/headers/fit-macro-constant-types-signed.h
diff --git a/tests/headers/fit-macro-constant-types.h b/bindgen-tests/tests/headers/fit-macro-constant-types.h
index b995bfc0..b995bfc0 100644
--- a/tests/headers/fit-macro-constant-types.h
+++ b/bindgen-tests/tests/headers/fit-macro-constant-types.h
diff --git a/tests/headers/float128.hpp b/bindgen-tests/tests/headers/float128.hpp
index f554e88e..f554e88e 100644
--- a/tests/headers/float128.hpp
+++ b/bindgen-tests/tests/headers/float128.hpp
diff --git a/tests/headers/forward-declaration-autoptr.hpp b/bindgen-tests/tests/headers/forward-declaration-autoptr.hpp
index a26c1cd2..a26c1cd2 100644
--- a/tests/headers/forward-declaration-autoptr.hpp
+++ b/bindgen-tests/tests/headers/forward-declaration-autoptr.hpp
diff --git a/tests/headers/forward-enum-decl.hpp b/bindgen-tests/tests/headers/forward-enum-decl.hpp
index 81a0eee7..81a0eee7 100644
--- a/tests/headers/forward-enum-decl.hpp
+++ b/bindgen-tests/tests/headers/forward-enum-decl.hpp
diff --git a/tests/headers/forward-inherit-struct-with-fields.hpp b/bindgen-tests/tests/headers/forward-inherit-struct-with-fields.hpp
index 437fff5d..437fff5d 100644
--- a/tests/headers/forward-inherit-struct-with-fields.hpp
+++ b/bindgen-tests/tests/headers/forward-inherit-struct-with-fields.hpp
diff --git a/tests/headers/forward-inherit-struct.hpp b/bindgen-tests/tests/headers/forward-inherit-struct.hpp
index ac7aef5e..ac7aef5e 100644
--- a/tests/headers/forward-inherit-struct.hpp
+++ b/bindgen-tests/tests/headers/forward-inherit-struct.hpp
diff --git a/tests/headers/forward_declared_complex_types.hpp b/bindgen-tests/tests/headers/forward_declared_complex_types.hpp
index ffc779ad..ffc779ad 100644
--- a/tests/headers/forward_declared_complex_types.hpp
+++ b/bindgen-tests/tests/headers/forward_declared_complex_types.hpp
diff --git a/tests/headers/forward_declared_complex_types_1_0.hpp b/bindgen-tests/tests/headers/forward_declared_complex_types_1_0.hpp
index ff6076fc..ff6076fc 100644
--- a/tests/headers/forward_declared_complex_types_1_0.hpp
+++ b/bindgen-tests/tests/headers/forward_declared_complex_types_1_0.hpp
diff --git a/tests/headers/forward_declared_opaque.h b/bindgen-tests/tests/headers/forward_declared_opaque.h
index 1b58edb9..1b58edb9 100644
--- a/tests/headers/forward_declared_opaque.h
+++ b/bindgen-tests/tests/headers/forward_declared_opaque.h
diff --git a/tests/headers/forward_declared_struct.h b/bindgen-tests/tests/headers/forward_declared_struct.h
index 2a69450c..2a69450c 100644
--- a/tests/headers/forward_declared_struct.h
+++ b/bindgen-tests/tests/headers/forward_declared_struct.h
diff --git a/tests/headers/func_proto.h b/bindgen-tests/tests/headers/func_proto.h
index 51139ca9..51139ca9 100644
--- a/tests/headers/func_proto.h
+++ b/bindgen-tests/tests/headers/func_proto.h
diff --git a/tests/headers/func_ptr.h b/bindgen-tests/tests/headers/func_ptr.h
index 34dc48d1..34dc48d1 100644
--- a/tests/headers/func_ptr.h
+++ b/bindgen-tests/tests/headers/func_ptr.h
diff --git a/tests/headers/func_ptr_in_struct.h b/bindgen-tests/tests/headers/func_ptr_in_struct.h
index ef075df7..ef075df7 100644
--- a/tests/headers/func_ptr_in_struct.h
+++ b/bindgen-tests/tests/headers/func_ptr_in_struct.h
diff --git a/tests/headers/func_ptr_return_type.h b/bindgen-tests/tests/headers/func_ptr_return_type.h
index d529edc7..d529edc7 100644
--- a/tests/headers/func_ptr_return_type.h
+++ b/bindgen-tests/tests/headers/func_ptr_return_type.h
diff --git a/tests/headers/func_return_must_use.h b/bindgen-tests/tests/headers/func_return_must_use.h
index f05bd2de..f05bd2de 100644
--- a/tests/headers/func_return_must_use.h
+++ b/bindgen-tests/tests/headers/func_return_must_use.h
diff --git a/tests/headers/func_with_array_arg.h b/bindgen-tests/tests/headers/func_with_array_arg.h
index 1b81702b..1b81702b 100644
--- a/tests/headers/func_with_array_arg.h
+++ b/bindgen-tests/tests/headers/func_with_array_arg.h
diff --git a/tests/headers/func_with_func_ptr_arg.h b/bindgen-tests/tests/headers/func_with_func_ptr_arg.h
index e9abcae6..e9abcae6 100644
--- a/tests/headers/func_with_func_ptr_arg.h
+++ b/bindgen-tests/tests/headers/func_with_func_ptr_arg.h
diff --git a/tests/headers/function-typedef-stdcall.h b/bindgen-tests/tests/headers/function-typedef-stdcall.h
index 05d1e78a..05d1e78a 100644
--- a/tests/headers/function-typedef-stdcall.h
+++ b/bindgen-tests/tests/headers/function-typedef-stdcall.h
diff --git a/tests/headers/gen-constructors-neg.hpp b/bindgen-tests/tests/headers/gen-constructors-neg.hpp
index 2dd491c4..2dd491c4 100644
--- a/tests/headers/gen-constructors-neg.hpp
+++ b/bindgen-tests/tests/headers/gen-constructors-neg.hpp
diff --git a/tests/headers/gen-constructors.hpp b/bindgen-tests/tests/headers/gen-constructors.hpp
index 809d6ef9..809d6ef9 100644
--- a/tests/headers/gen-constructors.hpp
+++ b/bindgen-tests/tests/headers/gen-constructors.hpp
diff --git a/tests/headers/gen-destructors-neg.hpp b/bindgen-tests/tests/headers/gen-destructors-neg.hpp
index 5ede3ba3..5ede3ba3 100644
--- a/tests/headers/gen-destructors-neg.hpp
+++ b/bindgen-tests/tests/headers/gen-destructors-neg.hpp
diff --git a/tests/headers/gen-destructors.hpp b/bindgen-tests/tests/headers/gen-destructors.hpp
index 719eb248..719eb248 100644
--- a/tests/headers/gen-destructors.hpp
+++ b/bindgen-tests/tests/headers/gen-destructors.hpp
diff --git a/tests/headers/generate-inline.hpp b/bindgen-tests/tests/headers/generate-inline.hpp
index 922ee1ca..922ee1ca 100644
--- a/tests/headers/generate-inline.hpp
+++ b/bindgen-tests/tests/headers/generate-inline.hpp
diff --git a/tests/headers/i128.h b/bindgen-tests/tests/headers/i128.h
index 6ec399c7..6ec399c7 100644
--- a/tests/headers/i128.h
+++ b/bindgen-tests/tests/headers/i128.h
diff --git a/tests/headers/in_class_typedef.hpp b/bindgen-tests/tests/headers/in_class_typedef.hpp
index dda7472d..dda7472d 100644
--- a/tests/headers/in_class_typedef.hpp
+++ b/bindgen-tests/tests/headers/in_class_typedef.hpp
diff --git a/tests/headers/incomplete-array-padding.h b/bindgen-tests/tests/headers/incomplete-array-padding.h
index 3fcc4c1a..3fcc4c1a 100644
--- a/tests/headers/incomplete-array-padding.h
+++ b/bindgen-tests/tests/headers/incomplete-array-padding.h
diff --git a/tests/headers/infinite-macro.h b/bindgen-tests/tests/headers/infinite-macro.h
index ab352c57..ab352c57 100644
--- a/tests/headers/infinite-macro.h
+++ b/bindgen-tests/tests/headers/infinite-macro.h
diff --git a/tests/headers/inherit-from-template-instantiation-with-vtable.hpp b/bindgen-tests/tests/headers/inherit-from-template-instantiation-with-vtable.hpp
index 562ca0e1..562ca0e1 100644
--- a/tests/headers/inherit-from-template-instantiation-with-vtable.hpp
+++ b/bindgen-tests/tests/headers/inherit-from-template-instantiation-with-vtable.hpp
diff --git a/tests/headers/inherit-namespaced.hpp b/bindgen-tests/tests/headers/inherit-namespaced.hpp
index 61eafd5a..61eafd5a 100644
--- a/tests/headers/inherit-namespaced.hpp
+++ b/bindgen-tests/tests/headers/inherit-namespaced.hpp
diff --git a/tests/headers/inherit_named.hpp b/bindgen-tests/tests/headers/inherit_named.hpp
index 9881d1b6..9881d1b6 100644
--- a/tests/headers/inherit_named.hpp
+++ b/bindgen-tests/tests/headers/inherit_named.hpp
diff --git a/tests/headers/inherit_typedef.hpp b/bindgen-tests/tests/headers/inherit_typedef.hpp
index 8d699e82..8d699e82 100644
--- a/tests/headers/inherit_typedef.hpp
+++ b/bindgen-tests/tests/headers/inherit_typedef.hpp
diff --git a/tests/headers/inline-function.h b/bindgen-tests/tests/headers/inline-function.h
index 02cb7c08..02cb7c08 100644
--- a/tests/headers/inline-function.h
+++ b/bindgen-tests/tests/headers/inline-function.h
diff --git a/tests/headers/inline_namespace.hpp b/bindgen-tests/tests/headers/inline_namespace.hpp
index 2ccf8ab0..2ccf8ab0 100644
--- a/tests/headers/inline_namespace.hpp
+++ b/bindgen-tests/tests/headers/inline_namespace.hpp
diff --git a/tests/headers/inline_namespace_allowlist.hpp b/bindgen-tests/tests/headers/inline_namespace_allowlist.hpp
index 90e46dfb..90e46dfb 100644
--- a/tests/headers/inline_namespace_allowlist.hpp
+++ b/bindgen-tests/tests/headers/inline_namespace_allowlist.hpp
diff --git a/tests/headers/inline_namespace_conservative.hpp b/bindgen-tests/tests/headers/inline_namespace_conservative.hpp
index 50068a2e..50068a2e 100644
--- a/tests/headers/inline_namespace_conservative.hpp
+++ b/bindgen-tests/tests/headers/inline_namespace_conservative.hpp
diff --git a/bindgen-tests/tests/headers/inline_namespace_nested.hpp b/bindgen-tests/tests/headers/inline_namespace_nested.hpp
new file mode 100644
index 00000000..5c542e19
--- /dev/null
+++ b/bindgen-tests/tests/headers/inline_namespace_nested.hpp
@@ -0,0 +1,5 @@
+// bindgen-flags: --enable-cxx-namespaces -- -std=c++2a
+
+namespace ranges::inline foo::bar {
+ static int bar = 0;
+}
diff --git a/tests/headers/inline_namespace_no_ns_enabled.hpp b/bindgen-tests/tests/headers/inline_namespace_no_ns_enabled.hpp
index 30cd4e9b..30cd4e9b 100644
--- a/tests/headers/inline_namespace_no_ns_enabled.hpp
+++ b/bindgen-tests/tests/headers/inline_namespace_no_ns_enabled.hpp
diff --git a/bindgen-tests/tests/headers/inner-typedef-gh422.hpp b/bindgen-tests/tests/headers/inner-typedef-gh422.hpp
new file mode 100644
index 00000000..301630a5
--- /dev/null
+++ b/bindgen-tests/tests/headers/inner-typedef-gh422.hpp
@@ -0,0 +1,11 @@
+template <typename T>
+class Foo {
+public:
+ class InnerType {
+ T t;
+ };
+};
+
+typedef Foo<int>::InnerType Bar;
+
+Bar func(); \ No newline at end of file
diff --git a/tests/headers/inner_const.hpp b/bindgen-tests/tests/headers/inner_const.hpp
index 25c2e603..25c2e603 100644
--- a/tests/headers/inner_const.hpp
+++ b/bindgen-tests/tests/headers/inner_const.hpp
diff --git a/tests/headers/inner_template_self.hpp b/bindgen-tests/tests/headers/inner_template_self.hpp
index 1ae5af06..1ae5af06 100644
--- a/tests/headers/inner_template_self.hpp
+++ b/bindgen-tests/tests/headers/inner_template_self.hpp
diff --git a/tests/headers/int128_t.h b/bindgen-tests/tests/headers/int128_t.h
index eece252c..eece252c 100644
--- a/tests/headers/int128_t.h
+++ b/bindgen-tests/tests/headers/int128_t.h
diff --git a/tests/headers/issue-1025-unknown-enum-repr.hpp b/bindgen-tests/tests/headers/issue-1025-unknown-enum-repr.hpp
index 589b3c25..589b3c25 100644
--- a/tests/headers/issue-1025-unknown-enum-repr.hpp
+++ b/bindgen-tests/tests/headers/issue-1025-unknown-enum-repr.hpp
diff --git a/tests/headers/issue-1034.h b/bindgen-tests/tests/headers/issue-1034.h
index 8042fec6..8042fec6 100644
--- a/tests/headers/issue-1034.h
+++ b/bindgen-tests/tests/headers/issue-1034.h
diff --git a/tests/headers/issue-1040.h b/bindgen-tests/tests/headers/issue-1040.h
index 1d61d40d..1d61d40d 100644
--- a/tests/headers/issue-1040.h
+++ b/bindgen-tests/tests/headers/issue-1040.h
diff --git a/tests/headers/issue-1076-unnamed-bitfield-alignment.h b/bindgen-tests/tests/headers/issue-1076-unnamed-bitfield-alignment.h
index 876ec174..876ec174 100644
--- a/tests/headers/issue-1076-unnamed-bitfield-alignment.h
+++ b/bindgen-tests/tests/headers/issue-1076-unnamed-bitfield-alignment.h
diff --git a/tests/headers/issue-1113-template-references.hpp b/bindgen-tests/tests/headers/issue-1113-template-references.hpp
index 46339c5d..46339c5d 100644
--- a/tests/headers/issue-1113-template-references.hpp
+++ b/bindgen-tests/tests/headers/issue-1113-template-references.hpp
diff --git a/tests/headers/issue-1118-using-forward-decl.hpp b/bindgen-tests/tests/headers/issue-1118-using-forward-decl.hpp
index b6ea63f6..b6ea63f6 100644
--- a/tests/headers/issue-1118-using-forward-decl.hpp
+++ b/bindgen-tests/tests/headers/issue-1118-using-forward-decl.hpp
diff --git a/tests/headers/issue-1197-pure-virtual-stuff.hpp b/bindgen-tests/tests/headers/issue-1197-pure-virtual-stuff.hpp
index a0da90c9..a0da90c9 100644
--- a/tests/headers/issue-1197-pure-virtual-stuff.hpp
+++ b/bindgen-tests/tests/headers/issue-1197-pure-virtual-stuff.hpp
diff --git a/tests/headers/issue-1198-alias-rust-bitfield-enum.h b/bindgen-tests/tests/headers/issue-1198-alias-rust-bitfield-enum.h
index 5bccb0d4..5bccb0d4 100644
--- a/tests/headers/issue-1198-alias-rust-bitfield-enum.h
+++ b/bindgen-tests/tests/headers/issue-1198-alias-rust-bitfield-enum.h
diff --git a/tests/headers/issue-1198-alias-rust-const-mod-bitfield-enum.h b/bindgen-tests/tests/headers/issue-1198-alias-rust-const-mod-bitfield-enum.h
index ecdf8c3f..ecdf8c3f 100644
--- a/tests/headers/issue-1198-alias-rust-const-mod-bitfield-enum.h
+++ b/bindgen-tests/tests/headers/issue-1198-alias-rust-const-mod-bitfield-enum.h
diff --git a/tests/headers/issue-1198-alias-rust-const-mod-enum.h b/bindgen-tests/tests/headers/issue-1198-alias-rust-const-mod-enum.h
index 944fac31..944fac31 100644
--- a/tests/headers/issue-1198-alias-rust-const-mod-enum.h
+++ b/bindgen-tests/tests/headers/issue-1198-alias-rust-const-mod-enum.h
diff --git a/tests/headers/issue-1198-alias-rust-enum.h b/bindgen-tests/tests/headers/issue-1198-alias-rust-enum.h
index ede44f0a..ede44f0a 100644
--- a/tests/headers/issue-1198-alias-rust-enum.h
+++ b/bindgen-tests/tests/headers/issue-1198-alias-rust-enum.h
diff --git a/tests/headers/issue-1216-variadic-member.h b/bindgen-tests/tests/headers/issue-1216-variadic-member.h
index b8bc0b81..b8bc0b81 100644
--- a/tests/headers/issue-1216-variadic-member.h
+++ b/bindgen-tests/tests/headers/issue-1216-variadic-member.h
diff --git a/tests/headers/issue-1238-fwd-no-copy.h b/bindgen-tests/tests/headers/issue-1238-fwd-no-copy.h
index 150bbbeb..150bbbeb 100644
--- a/tests/headers/issue-1238-fwd-no-copy.h
+++ b/bindgen-tests/tests/headers/issue-1238-fwd-no-copy.h
diff --git a/tests/headers/issue-1281.h b/bindgen-tests/tests/headers/issue-1281.h
index 4a3aaab0..4a3aaab0 100644
--- a/tests/headers/issue-1281.h
+++ b/bindgen-tests/tests/headers/issue-1281.h
diff --git a/tests/headers/issue-1285.h b/bindgen-tests/tests/headers/issue-1285.h
index a2817d84..a2817d84 100644
--- a/tests/headers/issue-1285.h
+++ b/bindgen-tests/tests/headers/issue-1285.h
diff --git a/tests/headers/issue-1291.hpp b/bindgen-tests/tests/headers/issue-1291.hpp
index 4ec524f1..4ec524f1 100644
--- a/tests/headers/issue-1291.hpp
+++ b/bindgen-tests/tests/headers/issue-1291.hpp
diff --git a/tests/headers/issue-1350-attribute-overloadable.h b/bindgen-tests/tests/headers/issue-1350-attribute-overloadable.h
index 4b0ec2a6..4b0ec2a6 100644
--- a/tests/headers/issue-1350-attribute-overloadable.h
+++ b/bindgen-tests/tests/headers/issue-1350-attribute-overloadable.h
diff --git a/tests/headers/issue-1375-prefixed-functions.h b/bindgen-tests/tests/headers/issue-1375-prefixed-functions.h
index 4264e52d..4264e52d 100644
--- a/tests/headers/issue-1375-prefixed-functions.h
+++ b/bindgen-tests/tests/headers/issue-1375-prefixed-functions.h
diff --git a/tests/headers/issue-1382-rust-primitive-types.h b/bindgen-tests/tests/headers/issue-1382-rust-primitive-types.h
index 4cf346e6..4cf346e6 100644
--- a/tests/headers/issue-1382-rust-primitive-types.h
+++ b/bindgen-tests/tests/headers/issue-1382-rust-primitive-types.h
diff --git a/tests/headers/issue-1435.hpp b/bindgen-tests/tests/headers/issue-1435.hpp
index fbf3c507..fbf3c507 100644
--- a/tests/headers/issue-1435.hpp
+++ b/bindgen-tests/tests/headers/issue-1435.hpp
diff --git a/tests/headers/issue-1443.hpp b/bindgen-tests/tests/headers/issue-1443.hpp
index 9b637ba7..9b637ba7 100644
--- a/tests/headers/issue-1443.hpp
+++ b/bindgen-tests/tests/headers/issue-1443.hpp
diff --git a/tests/headers/issue-1454.h b/bindgen-tests/tests/headers/issue-1454.h
index 96645dac..96645dac 100644
--- a/tests/headers/issue-1454.h
+++ b/bindgen-tests/tests/headers/issue-1454.h
diff --git a/tests/headers/issue-1464.hpp b/bindgen-tests/tests/headers/issue-1464.hpp
index d34d0fe3..d34d0fe3 100644
--- a/tests/headers/issue-1464.hpp
+++ b/bindgen-tests/tests/headers/issue-1464.hpp
diff --git a/tests/headers/issue-1488-enum-new-type.h b/bindgen-tests/tests/headers/issue-1488-enum-new-type.h
index 6855283f..6855283f 100644
--- a/tests/headers/issue-1488-enum-new-type.h
+++ b/bindgen-tests/tests/headers/issue-1488-enum-new-type.h
diff --git a/tests/headers/issue-1488-options.h b/bindgen-tests/tests/headers/issue-1488-options.h
index fba1c93b..fba1c93b 100644
--- a/tests/headers/issue-1488-options.h
+++ b/bindgen-tests/tests/headers/issue-1488-options.h
diff --git a/tests/headers/issue-1488-template-alias-new-type.hpp b/bindgen-tests/tests/headers/issue-1488-template-alias-new-type.hpp
index 4374da3d..4374da3d 100644
--- a/tests/headers/issue-1488-template-alias-new-type.hpp
+++ b/bindgen-tests/tests/headers/issue-1488-template-alias-new-type.hpp
diff --git a/tests/headers/issue-1498.h b/bindgen-tests/tests/headers/issue-1498.h
index aceabbd2..aceabbd2 100644
--- a/tests/headers/issue-1498.h
+++ b/bindgen-tests/tests/headers/issue-1498.h
diff --git a/tests/headers/issue-1514.hpp b/bindgen-tests/tests/headers/issue-1514.hpp
index 2a398898..2a398898 100644
--- a/tests/headers/issue-1514.hpp
+++ b/bindgen-tests/tests/headers/issue-1514.hpp
diff --git a/tests/headers/issue-1554.h b/bindgen-tests/tests/headers/issue-1554.h
index 13452923..13452923 100644
--- a/tests/headers/issue-1554.h
+++ b/bindgen-tests/tests/headers/issue-1554.h
diff --git a/tests/headers/issue-1599-opaque-typedef-to-enum.h b/bindgen-tests/tests/headers/issue-1599-opaque-typedef-to-enum.h
index 85e845b8..85e845b8 100644
--- a/tests/headers/issue-1599-opaque-typedef-to-enum.h
+++ b/bindgen-tests/tests/headers/issue-1599-opaque-typedef-to-enum.h
diff --git a/tests/headers/issue-1676-macro-namespace-prefix.hpp b/bindgen-tests/tests/headers/issue-1676-macro-namespace-prefix.hpp
index 297927b6..297927b6 100644
--- a/tests/headers/issue-1676-macro-namespace-prefix.hpp
+++ b/bindgen-tests/tests/headers/issue-1676-macro-namespace-prefix.hpp
diff --git a/tests/headers/issue-1947.h b/bindgen-tests/tests/headers/issue-1947.h
index e2e9b3e1..e2e9b3e1 100644
--- a/tests/headers/issue-1947.h
+++ b/bindgen-tests/tests/headers/issue-1947.h
diff --git a/tests/headers/issue-1977-larger-arrays.hpp b/bindgen-tests/tests/headers/issue-1977-larger-arrays.hpp
index 58e8e4d1..58e8e4d1 100644
--- a/tests/headers/issue-1977-larger-arrays.hpp
+++ b/bindgen-tests/tests/headers/issue-1977-larger-arrays.hpp
diff --git a/tests/headers/issue-1995.h b/bindgen-tests/tests/headers/issue-1995.h
index 619f6735..619f6735 100644
--- a/tests/headers/issue-1995.h
+++ b/bindgen-tests/tests/headers/issue-1995.h
diff --git a/tests/headers/issue-2019.hpp b/bindgen-tests/tests/headers/issue-2019.hpp
index 2e9a3ffd..2e9a3ffd 100644
--- a/tests/headers/issue-2019.hpp
+++ b/bindgen-tests/tests/headers/issue-2019.hpp
diff --git a/tests/headers/issue-2239-template-dependent-bit-width.hpp b/bindgen-tests/tests/headers/issue-2239-template-dependent-bit-width.hpp
index 4e6feb3f..4e6feb3f 100644
--- a/tests/headers/issue-2239-template-dependent-bit-width.hpp
+++ b/bindgen-tests/tests/headers/issue-2239-template-dependent-bit-width.hpp
diff --git a/tests/headers/issue-358.hpp b/bindgen-tests/tests/headers/issue-358.hpp
index b14521b7..b14521b7 100644
--- a/tests/headers/issue-358.hpp
+++ b/bindgen-tests/tests/headers/issue-358.hpp
diff --git a/tests/headers/issue-372.hpp b/bindgen-tests/tests/headers/issue-372.hpp
index a2a5d451..a2a5d451 100644
--- a/tests/headers/issue-372.hpp
+++ b/bindgen-tests/tests/headers/issue-372.hpp
diff --git a/tests/headers/issue-410.hpp b/bindgen-tests/tests/headers/issue-410.hpp
index d4f3de3d..d4f3de3d 100644
--- a/tests/headers/issue-410.hpp
+++ b/bindgen-tests/tests/headers/issue-410.hpp
diff --git a/tests/headers/issue-446.hpp b/bindgen-tests/tests/headers/issue-446.hpp
index 2e09c274..2e09c274 100644
--- a/tests/headers/issue-446.hpp
+++ b/bindgen-tests/tests/headers/issue-446.hpp
diff --git a/tests/headers/issue-447.hpp b/bindgen-tests/tests/headers/issue-447.hpp
index 43765fa9..43765fa9 100644
--- a/tests/headers/issue-447.hpp
+++ b/bindgen-tests/tests/headers/issue-447.hpp
diff --git a/tests/headers/issue-493.hpp b/bindgen-tests/tests/headers/issue-493.hpp
index 8b122ceb..8b122ceb 100644
--- a/tests/headers/issue-493.hpp
+++ b/bindgen-tests/tests/headers/issue-493.hpp
diff --git a/tests/headers/issue-493_1_0.hpp b/bindgen-tests/tests/headers/issue-493_1_0.hpp
index af6fd47c..af6fd47c 100644
--- a/tests/headers/issue-493_1_0.hpp
+++ b/bindgen-tests/tests/headers/issue-493_1_0.hpp
diff --git a/tests/headers/issue-511.h b/bindgen-tests/tests/headers/issue-511.h
index da364312..da364312 100644
--- a/tests/headers/issue-511.h
+++ b/bindgen-tests/tests/headers/issue-511.h
diff --git a/tests/headers/issue-537-repr-packed-n.h b/bindgen-tests/tests/headers/issue-537-repr-packed-n.h
index f4c0070a..f4c0070a 100644
--- a/tests/headers/issue-537-repr-packed-n.h
+++ b/bindgen-tests/tests/headers/issue-537-repr-packed-n.h
diff --git a/tests/headers/issue-537.h b/bindgen-tests/tests/headers/issue-537.h
index a773199f..a773199f 100644
--- a/tests/headers/issue-537.h
+++ b/bindgen-tests/tests/headers/issue-537.h
diff --git a/tests/headers/issue-544-stylo-creduce-2.hpp b/bindgen-tests/tests/headers/issue-544-stylo-creduce-2.hpp
index f3467f45..f3467f45 100644
--- a/tests/headers/issue-544-stylo-creduce-2.hpp
+++ b/bindgen-tests/tests/headers/issue-544-stylo-creduce-2.hpp
diff --git a/tests/headers/issue-544-stylo-creduce.hpp b/bindgen-tests/tests/headers/issue-544-stylo-creduce.hpp
index ba9f8257..ba9f8257 100644
--- a/tests/headers/issue-544-stylo-creduce.hpp
+++ b/bindgen-tests/tests/headers/issue-544-stylo-creduce.hpp
diff --git a/tests/headers/issue-569-non-type-template-params-causing-layout-test-failures.hpp b/bindgen-tests/tests/headers/issue-569-non-type-template-params-causing-layout-test-failures.hpp
index 297d1112..297d1112 100644
--- a/tests/headers/issue-569-non-type-template-params-causing-layout-test-failures.hpp
+++ b/bindgen-tests/tests/headers/issue-569-non-type-template-params-causing-layout-test-failures.hpp
diff --git a/tests/headers/issue-573-layout-test-failures.hpp b/bindgen-tests/tests/headers/issue-573-layout-test-failures.hpp
index ac8cbd48..ac8cbd48 100644
--- a/tests/headers/issue-573-layout-test-failures.hpp
+++ b/bindgen-tests/tests/headers/issue-573-layout-test-failures.hpp
diff --git a/tests/headers/issue-574-assertion-failure-in-codegen.hpp b/bindgen-tests/tests/headers/issue-574-assertion-failure-in-codegen.hpp
index b563b4ef..b563b4ef 100644
--- a/tests/headers/issue-574-assertion-failure-in-codegen.hpp
+++ b/bindgen-tests/tests/headers/issue-574-assertion-failure-in-codegen.hpp
diff --git a/tests/headers/issue-584-stylo-template-analysis-panic.hpp b/bindgen-tests/tests/headers/issue-584-stylo-template-analysis-panic.hpp
index 5f11ea3c..5f11ea3c 100644
--- a/tests/headers/issue-584-stylo-template-analysis-panic.hpp
+++ b/bindgen-tests/tests/headers/issue-584-stylo-template-analysis-panic.hpp
diff --git a/tests/headers/issue-638-stylo-cannot-find-T-in-this-scope.hpp b/bindgen-tests/tests/headers/issue-638-stylo-cannot-find-T-in-this-scope.hpp
index 13b656e1..13b656e1 100644
--- a/tests/headers/issue-638-stylo-cannot-find-T-in-this-scope.hpp
+++ b/bindgen-tests/tests/headers/issue-638-stylo-cannot-find-T-in-this-scope.hpp
diff --git a/tests/headers/issue-639-typedef-anon-field.hpp b/bindgen-tests/tests/headers/issue-639-typedef-anon-field.hpp
index efd6c4f4..efd6c4f4 100644
--- a/tests/headers/issue-639-typedef-anon-field.hpp
+++ b/bindgen-tests/tests/headers/issue-639-typedef-anon-field.hpp
diff --git a/tests/headers/issue-643-inner-struct.h b/bindgen-tests/tests/headers/issue-643-inner-struct.h
index 25c525b3..25c525b3 100644
--- a/tests/headers/issue-643-inner-struct.h
+++ b/bindgen-tests/tests/headers/issue-643-inner-struct.h
diff --git a/tests/headers/issue-645-cannot-find-type-T-in-this-scope.hpp b/bindgen-tests/tests/headers/issue-645-cannot-find-type-T-in-this-scope.hpp
index 8e07a8a0..8e07a8a0 100644
--- a/tests/headers/issue-645-cannot-find-type-T-in-this-scope.hpp
+++ b/bindgen-tests/tests/headers/issue-645-cannot-find-type-T-in-this-scope.hpp
diff --git a/tests/headers/issue-648-derive-debug-with-padding.h b/bindgen-tests/tests/headers/issue-648-derive-debug-with-padding.h
index 0860ce95..0860ce95 100644
--- a/tests/headers/issue-648-derive-debug-with-padding.h
+++ b/bindgen-tests/tests/headers/issue-648-derive-debug-with-padding.h
diff --git a/tests/headers/issue-654-struct-fn-collision.h b/bindgen-tests/tests/headers/issue-654-struct-fn-collision.h
index f52a1b20..f52a1b20 100644
--- a/tests/headers/issue-654-struct-fn-collision.h
+++ b/bindgen-tests/tests/headers/issue-654-struct-fn-collision.h
diff --git a/tests/headers/issue-662-cannot-find-T-in-this-scope.hpp b/bindgen-tests/tests/headers/issue-662-cannot-find-T-in-this-scope.hpp
index 6b3f928b..6b3f928b 100644
--- a/tests/headers/issue-662-cannot-find-T-in-this-scope.hpp
+++ b/bindgen-tests/tests/headers/issue-662-cannot-find-T-in-this-scope.hpp
diff --git a/tests/headers/issue-662-part-2.hpp b/bindgen-tests/tests/headers/issue-662-part-2.hpp
index 1330c342..1330c342 100644
--- a/tests/headers/issue-662-part-2.hpp
+++ b/bindgen-tests/tests/headers/issue-662-part-2.hpp
diff --git a/tests/headers/issue-674-1.hpp b/bindgen-tests/tests/headers/issue-674-1.hpp
index 7fc781c1..7fc781c1 100644
--- a/tests/headers/issue-674-1.hpp
+++ b/bindgen-tests/tests/headers/issue-674-1.hpp
diff --git a/tests/headers/issue-674-2.hpp b/bindgen-tests/tests/headers/issue-674-2.hpp
index 86d2b648..86d2b648 100644
--- a/tests/headers/issue-674-2.hpp
+++ b/bindgen-tests/tests/headers/issue-674-2.hpp
diff --git a/tests/headers/issue-674-3.hpp b/bindgen-tests/tests/headers/issue-674-3.hpp
index 20aa463c..20aa463c 100644
--- a/tests/headers/issue-674-3.hpp
+++ b/bindgen-tests/tests/headers/issue-674-3.hpp
diff --git a/tests/headers/issue-677-nested-ns-specifier.hpp b/bindgen-tests/tests/headers/issue-677-nested-ns-specifier.hpp
index ef2cea82..ef2cea82 100644
--- a/tests/headers/issue-677-nested-ns-specifier.hpp
+++ b/bindgen-tests/tests/headers/issue-677-nested-ns-specifier.hpp
diff --git a/tests/headers/issue-691-template-parameter-virtual.hpp b/bindgen-tests/tests/headers/issue-691-template-parameter-virtual.hpp
index f80e058d..f80e058d 100644
--- a/tests/headers/issue-691-template-parameter-virtual.hpp
+++ b/bindgen-tests/tests/headers/issue-691-template-parameter-virtual.hpp
diff --git a/tests/headers/issue-710-must-use-type.h b/bindgen-tests/tests/headers/issue-710-must-use-type.h
index 276f636d..276f636d 100644
--- a/tests/headers/issue-710-must-use-type.h
+++ b/bindgen-tests/tests/headers/issue-710-must-use-type.h
diff --git a/tests/headers/issue-739-pointer-wide-bitfield.h b/bindgen-tests/tests/headers/issue-739-pointer-wide-bitfield.h
index eeb7ae9c..eeb7ae9c 100644
--- a/tests/headers/issue-739-pointer-wide-bitfield.h
+++ b/bindgen-tests/tests/headers/issue-739-pointer-wide-bitfield.h
diff --git a/tests/headers/issue-769-bad-instantiation-test.hpp b/bindgen-tests/tests/headers/issue-769-bad-instantiation-test.hpp
index 13c6dd1c..13c6dd1c 100644
--- a/tests/headers/issue-769-bad-instantiation-test.hpp
+++ b/bindgen-tests/tests/headers/issue-769-bad-instantiation-test.hpp
diff --git a/tests/headers/issue-801-opaque-sloppiness.hpp b/bindgen-tests/tests/headers/issue-801-opaque-sloppiness.hpp
index 6b707f4e..6b707f4e 100644
--- a/tests/headers/issue-801-opaque-sloppiness.hpp
+++ b/bindgen-tests/tests/headers/issue-801-opaque-sloppiness.hpp
diff --git a/tests/headers/issue-807-opaque-types-methods-being-generated.hpp b/bindgen-tests/tests/headers/issue-807-opaque-types-methods-being-generated.hpp
index de98b32a..de98b32a 100644
--- a/tests/headers/issue-807-opaque-types-methods-being-generated.hpp
+++ b/bindgen-tests/tests/headers/issue-807-opaque-types-methods-being-generated.hpp
diff --git a/tests/headers/issue-816.h b/bindgen-tests/tests/headers/issue-816.h
index 5f16a178..5f16a178 100644
--- a/tests/headers/issue-816.h
+++ b/bindgen-tests/tests/headers/issue-816.h
diff --git a/tests/headers/issue-820-unused-template-param-in-alias.hpp b/bindgen-tests/tests/headers/issue-820-unused-template-param-in-alias.hpp
index ca5d8b96..ca5d8b96 100644
--- a/tests/headers/issue-820-unused-template-param-in-alias.hpp
+++ b/bindgen-tests/tests/headers/issue-820-unused-template-param-in-alias.hpp
diff --git a/tests/headers/issue-826-generating-methods-when-asked-not-to.hpp b/bindgen-tests/tests/headers/issue-826-generating-methods-when-asked-not-to.hpp
index f6b2ed30..f6b2ed30 100644
--- a/tests/headers/issue-826-generating-methods-when-asked-not-to.hpp
+++ b/bindgen-tests/tests/headers/issue-826-generating-methods-when-asked-not-to.hpp
diff --git a/tests/headers/issue-833-1.hpp b/bindgen-tests/tests/headers/issue-833-1.hpp
index d66ee01f..d66ee01f 100644
--- a/tests/headers/issue-833-1.hpp
+++ b/bindgen-tests/tests/headers/issue-833-1.hpp
diff --git a/tests/headers/issue-833-2.hpp b/bindgen-tests/tests/headers/issue-833-2.hpp
index 487c5607..487c5607 100644
--- a/tests/headers/issue-833-2.hpp
+++ b/bindgen-tests/tests/headers/issue-833-2.hpp
diff --git a/tests/headers/issue-833.hpp b/bindgen-tests/tests/headers/issue-833.hpp
index f8b708bf..f8b708bf 100644
--- a/tests/headers/issue-833.hpp
+++ b/bindgen-tests/tests/headers/issue-833.hpp
diff --git a/tests/headers/issue-834.hpp b/bindgen-tests/tests/headers/issue-834.hpp
index 64797012..64797012 100644
--- a/tests/headers/issue-834.hpp
+++ b/bindgen-tests/tests/headers/issue-834.hpp
diff --git a/tests/headers/issue-848-replacement-system-include.hpp b/bindgen-tests/tests/headers/issue-848-replacement-system-include.hpp
index e95c823f..e95c823f 100644
--- a/tests/headers/issue-848-replacement-system-include.hpp
+++ b/bindgen-tests/tests/headers/issue-848-replacement-system-include.hpp
diff --git a/tests/headers/issue-848/an-include.h b/bindgen-tests/tests/headers/issue-848/an-include.h
index 0421d19f..0421d19f 100644
--- a/tests/headers/issue-848/an-include.h
+++ b/bindgen-tests/tests/headers/issue-848/an-include.h
diff --git a/tests/headers/issue-888-enum-var-decl-jump.hpp b/bindgen-tests/tests/headers/issue-888-enum-var-decl-jump.hpp
index fa4ba56b..fa4ba56b 100644
--- a/tests/headers/issue-888-enum-var-decl-jump.hpp
+++ b/bindgen-tests/tests/headers/issue-888-enum-var-decl-jump.hpp
diff --git a/tests/headers/issue-944-derive-copy-and-blocklisting.hpp b/bindgen-tests/tests/headers/issue-944-derive-copy-and-blocklisting.hpp
index 5e94dfab..5e94dfab 100644
--- a/tests/headers/issue-944-derive-copy-and-blocklisting.hpp
+++ b/bindgen-tests/tests/headers/issue-944-derive-copy-and-blocklisting.hpp
diff --git a/tests/headers/issue-946.h b/bindgen-tests/tests/headers/issue-946.h
index 5d145e09..5d145e09 100644
--- a/tests/headers/issue-946.h
+++ b/bindgen-tests/tests/headers/issue-946.h
diff --git a/tests/headers/issue_311.hpp b/bindgen-tests/tests/headers/issue_311.hpp
index a8d7fd99..a8d7fd99 100644
--- a/tests/headers/issue_311.hpp
+++ b/bindgen-tests/tests/headers/issue_311.hpp
diff --git a/tests/headers/issue_315.hpp b/bindgen-tests/tests/headers/issue_315.hpp
index e58cb5e3..e58cb5e3 100644
--- a/tests/headers/issue_315.hpp
+++ b/bindgen-tests/tests/headers/issue_315.hpp
diff --git a/tests/headers/jsval_layout_opaque.hpp b/bindgen-tests/tests/headers/jsval_layout_opaque.hpp
index ef13b85b..ef13b85b 100644
--- a/tests/headers/jsval_layout_opaque.hpp
+++ b/bindgen-tests/tests/headers/jsval_layout_opaque.hpp
diff --git a/tests/headers/jsval_layout_opaque_1_0.hpp b/bindgen-tests/tests/headers/jsval_layout_opaque_1_0.hpp
index c8e66551..c8e66551 100644
--- a/tests/headers/jsval_layout_opaque_1_0.hpp
+++ b/bindgen-tests/tests/headers/jsval_layout_opaque_1_0.hpp
diff --git a/tests/headers/keywords.h b/bindgen-tests/tests/headers/keywords.h
index 3b3fc497..3b3fc497 100644
--- a/tests/headers/keywords.h
+++ b/bindgen-tests/tests/headers/keywords.h
diff --git a/tests/headers/layout.h b/bindgen-tests/tests/headers/layout.h
index b290ee85..b290ee85 100644
--- a/tests/headers/layout.h
+++ b/bindgen-tests/tests/headers/layout.h
diff --git a/tests/headers/layout_align.h b/bindgen-tests/tests/headers/layout_align.h
index 0201877e..0201877e 100644
--- a/tests/headers/layout_align.h
+++ b/bindgen-tests/tests/headers/layout_align.h
diff --git a/tests/headers/layout_arp.h b/bindgen-tests/tests/headers/layout_arp.h
index 8682cbe0..8682cbe0 100644
--- a/tests/headers/layout_arp.h
+++ b/bindgen-tests/tests/headers/layout_arp.h
diff --git a/tests/headers/layout_array.h b/bindgen-tests/tests/headers/layout_array.h
index e6a57f7c..e6a57f7c 100644
--- a/tests/headers/layout_array.h
+++ b/bindgen-tests/tests/headers/layout_array.h
diff --git a/tests/headers/layout_array_too_long.h b/bindgen-tests/tests/headers/layout_array_too_long.h
index 53e4d8be..53e4d8be 100644
--- a/tests/headers/layout_array_too_long.h
+++ b/bindgen-tests/tests/headers/layout_array_too_long.h
diff --git a/tests/headers/layout_cmdline_token.h b/bindgen-tests/tests/headers/layout_cmdline_token.h
index da1bfc2e..da1bfc2e 100644
--- a/tests/headers/layout_cmdline_token.h
+++ b/bindgen-tests/tests/headers/layout_cmdline_token.h
diff --git a/tests/headers/layout_eth_conf.h b/bindgen-tests/tests/headers/layout_eth_conf.h
index 9446bffb..9446bffb 100644
--- a/tests/headers/layout_eth_conf.h
+++ b/bindgen-tests/tests/headers/layout_eth_conf.h
diff --git a/tests/headers/layout_eth_conf_1_0.h b/bindgen-tests/tests/headers/layout_eth_conf_1_0.h
index 48ba39ff..48ba39ff 100644
--- a/tests/headers/layout_eth_conf_1_0.h
+++ b/bindgen-tests/tests/headers/layout_eth_conf_1_0.h
diff --git a/tests/headers/layout_kni_mbuf.h b/bindgen-tests/tests/headers/layout_kni_mbuf.h
index 4d604aa6..4d604aa6 100644
--- a/tests/headers/layout_kni_mbuf.h
+++ b/bindgen-tests/tests/headers/layout_kni_mbuf.h
diff --git a/tests/headers/layout_large_align_field.h b/bindgen-tests/tests/headers/layout_large_align_field.h
index 63aea90b..63aea90b 100644
--- a/tests/headers/layout_large_align_field.h
+++ b/bindgen-tests/tests/headers/layout_large_align_field.h
diff --git a/tests/headers/layout_mbuf.h b/bindgen-tests/tests/headers/layout_mbuf.h
index 0e342f45..0e342f45 100644
--- a/tests/headers/layout_mbuf.h
+++ b/bindgen-tests/tests/headers/layout_mbuf.h
diff --git a/tests/headers/layout_mbuf_1_0.h b/bindgen-tests/tests/headers/layout_mbuf_1_0.h
index 2854de50..2854de50 100644
--- a/tests/headers/layout_mbuf_1_0.h
+++ b/bindgen-tests/tests/headers/layout_mbuf_1_0.h
diff --git a/tests/headers/long_double.h b/bindgen-tests/tests/headers/long_double.h
index 91c4ed6c..91c4ed6c 100644
--- a/tests/headers/long_double.h
+++ b/bindgen-tests/tests/headers/long_double.h
diff --git a/tests/headers/macro-expr-basic.h b/bindgen-tests/tests/headers/macro-expr-basic.h
index d2de7fdf..d2de7fdf 100644
--- a/tests/headers/macro-expr-basic.h
+++ b/bindgen-tests/tests/headers/macro-expr-basic.h
diff --git a/tests/headers/macro-expr-uncommon-token.h b/bindgen-tests/tests/headers/macro-expr-uncommon-token.h
index dd1b4343..dd1b4343 100644
--- a/tests/headers/macro-expr-uncommon-token.h
+++ b/bindgen-tests/tests/headers/macro-expr-uncommon-token.h
diff --git a/tests/headers/macro-redef.h b/bindgen-tests/tests/headers/macro-redef.h
index 0180d2ab..0180d2ab 100644
--- a/tests/headers/macro-redef.h
+++ b/bindgen-tests/tests/headers/macro-redef.h
diff --git a/tests/headers/macro_const.h b/bindgen-tests/tests/headers/macro_const.h
index 7c5aa438..7c5aa438 100644
--- a/tests/headers/macro_const.h
+++ b/bindgen-tests/tests/headers/macro_const.h
diff --git a/tests/headers/macro_const_1_0.h b/bindgen-tests/tests/headers/macro_const_1_0.h
index 3be86b4f..3be86b4f 100644
--- a/tests/headers/macro_const_1_0.h
+++ b/bindgen-tests/tests/headers/macro_const_1_0.h
diff --git a/tests/headers/maddness-is-avoidable.hpp b/bindgen-tests/tests/headers/maddness-is-avoidable.hpp
index 47a7ffbf..47a7ffbf 100644
--- a/tests/headers/maddness-is-avoidable.hpp
+++ b/bindgen-tests/tests/headers/maddness-is-avoidable.hpp
diff --git a/tests/headers/mangling-ios.h b/bindgen-tests/tests/headers/mangling-ios.h
index d3a0cd78..d3a0cd78 100644
--- a/tests/headers/mangling-ios.h
+++ b/bindgen-tests/tests/headers/mangling-ios.h
diff --git a/tests/headers/mangling-linux32.hpp b/bindgen-tests/tests/headers/mangling-linux32.hpp
index 450c91d7..450c91d7 100644
--- a/tests/headers/mangling-linux32.hpp
+++ b/bindgen-tests/tests/headers/mangling-linux32.hpp
diff --git a/tests/headers/mangling-linux64.hpp b/bindgen-tests/tests/headers/mangling-linux64.hpp
index 36dda913..36dda913 100644
--- a/tests/headers/mangling-linux64.hpp
+++ b/bindgen-tests/tests/headers/mangling-linux64.hpp
diff --git a/tests/headers/mangling-macos.hpp b/bindgen-tests/tests/headers/mangling-macos.hpp
index 94b16202..94b16202 100644
--- a/tests/headers/mangling-macos.hpp
+++ b/bindgen-tests/tests/headers/mangling-macos.hpp
diff --git a/tests/headers/mangling-win32.hpp b/bindgen-tests/tests/headers/mangling-win32.hpp
index 386df4ab..386df4ab 100644
--- a/tests/headers/mangling-win32.hpp
+++ b/bindgen-tests/tests/headers/mangling-win32.hpp
diff --git a/tests/headers/mangling-win64.hpp b/bindgen-tests/tests/headers/mangling-win64.hpp
index 8882d7dd..8882d7dd 100644
--- a/tests/headers/mangling-win64.hpp
+++ b/bindgen-tests/tests/headers/mangling-win64.hpp
diff --git a/bindgen-tests/tests/headers/merge-extern-blocks.h b/bindgen-tests/tests/headers/merge-extern-blocks.h
new file mode 100644
index 00000000..1d46b7d4
--- /dev/null
+++ b/bindgen-tests/tests/headers/merge-extern-blocks.h
@@ -0,0 +1,6 @@
+// bindgen-flags: --merge-extern-blocks -- --target=x86_64-unknown-linux
+int foo();
+typedef struct Point {
+ int x;
+} Point;
+int bar();
diff --git a/tests/headers/method-mangling.hpp b/bindgen-tests/tests/headers/method-mangling.hpp
index 0dac4975..0dac4975 100644
--- a/tests/headers/method-mangling.hpp
+++ b/bindgen-tests/tests/headers/method-mangling.hpp
diff --git a/tests/headers/module-allowlisted.hpp b/bindgen-tests/tests/headers/module-allowlisted.hpp
index f41e874e..f41e874e 100644
--- a/tests/headers/module-allowlisted.hpp
+++ b/bindgen-tests/tests/headers/module-allowlisted.hpp
diff --git a/tests/headers/msvc-no-usr.hpp b/bindgen-tests/tests/headers/msvc-no-usr.hpp
index b15e49f5..b15e49f5 100644
--- a/tests/headers/msvc-no-usr.hpp
+++ b/bindgen-tests/tests/headers/msvc-no-usr.hpp
diff --git a/tests/headers/multiple-inherit-empty-correct-layout.hpp b/bindgen-tests/tests/headers/multiple-inherit-empty-correct-layout.hpp
index 1e2b133a..1e2b133a 100644
--- a/tests/headers/multiple-inherit-empty-correct-layout.hpp
+++ b/bindgen-tests/tests/headers/multiple-inherit-empty-correct-layout.hpp
diff --git a/tests/headers/mutable.hpp b/bindgen-tests/tests/headers/mutable.hpp
index b61a1031..b61a1031 100644
--- a/tests/headers/mutable.hpp
+++ b/bindgen-tests/tests/headers/mutable.hpp
diff --git a/tests/headers/namespace.hpp b/bindgen-tests/tests/headers/namespace.hpp
index 7e4197da..7e4197da 100644
--- a/tests/headers/namespace.hpp
+++ b/bindgen-tests/tests/headers/namespace.hpp
diff --git a/tests/headers/namespace/nsbegin.h b/bindgen-tests/tests/headers/namespace/nsbegin.h
index 47a51c93..47a51c93 100644
--- a/tests/headers/namespace/nsbegin.h
+++ b/bindgen-tests/tests/headers/namespace/nsbegin.h
diff --git a/tests/headers/namespace/nsend.h b/bindgen-tests/tests/headers/namespace/nsend.h
index 5c34318c..5c34318c 100644
--- a/tests/headers/namespace/nsend.h
+++ b/bindgen-tests/tests/headers/namespace/nsend.h
diff --git a/tests/headers/nested-template-typedef.hpp b/bindgen-tests/tests/headers/nested-template-typedef.hpp
index 8c83de5b..8c83de5b 100644
--- a/tests/headers/nested-template-typedef.hpp
+++ b/bindgen-tests/tests/headers/nested-template-typedef.hpp
diff --git a/tests/headers/nested.hpp b/bindgen-tests/tests/headers/nested.hpp
index 299e1768..299e1768 100644
--- a/tests/headers/nested.hpp
+++ b/bindgen-tests/tests/headers/nested.hpp
diff --git a/tests/headers/nested_vtable.hpp b/bindgen-tests/tests/headers/nested_vtable.hpp
index 87d6ce1f..87d6ce1f 100644
--- a/tests/headers/nested_vtable.hpp
+++ b/bindgen-tests/tests/headers/nested_vtable.hpp
diff --git a/tests/headers/nested_within_namespace.hpp b/bindgen-tests/tests/headers/nested_within_namespace.hpp
index a9b7c1ec..a9b7c1ec 100644
--- a/tests/headers/nested_within_namespace.hpp
+++ b/bindgen-tests/tests/headers/nested_within_namespace.hpp
diff --git a/tests/headers/newtype-enum.hpp b/bindgen-tests/tests/headers/newtype-enum.hpp
index 890683ae..890683ae 100644
--- a/tests/headers/newtype-enum.hpp
+++ b/bindgen-tests/tests/headers/newtype-enum.hpp
diff --git a/bindgen-tests/tests/headers/newtype-global-enum.hpp b/bindgen-tests/tests/headers/newtype-global-enum.hpp
new file mode 100644
index 00000000..8021a3cc
--- /dev/null
+++ b/bindgen-tests/tests/headers/newtype-global-enum.hpp
@@ -0,0 +1,8 @@
+// bindgen-flags: --newtype-global-enum "Foo" --rust-target 1.28 -- -std=c++11
+
+enum Foo {
+ Bar = 1 << 1,
+ Baz = 1 << 2,
+ Duplicated = 1 << 2,
+ Negative = -3,
+};
diff --git a/tests/headers/no-comments.h b/bindgen-tests/tests/headers/no-comments.h
index 1ddb1a3b..1ddb1a3b 100644
--- a/tests/headers/no-comments.h
+++ b/bindgen-tests/tests/headers/no-comments.h
diff --git a/tests/headers/no-derive-debug.h b/bindgen-tests/tests/headers/no-derive-debug.h
index d11ca0ad..d11ca0ad 100644
--- a/tests/headers/no-derive-debug.h
+++ b/bindgen-tests/tests/headers/no-derive-debug.h
diff --git a/tests/headers/no-derive-default.h b/bindgen-tests/tests/headers/no-derive-default.h
index d184ee3a..d184ee3a 100644
--- a/tests/headers/no-derive-default.h
+++ b/bindgen-tests/tests/headers/no-derive-default.h
diff --git a/tests/headers/no-hash-allowlisted.hpp b/bindgen-tests/tests/headers/no-hash-allowlisted.hpp
index 0f60817d..0f60817d 100644
--- a/tests/headers/no-hash-allowlisted.hpp
+++ b/bindgen-tests/tests/headers/no-hash-allowlisted.hpp
diff --git a/tests/headers/no-hash-opaque.hpp b/bindgen-tests/tests/headers/no-hash-opaque.hpp
index c1db2cd1..c1db2cd1 100644
--- a/tests/headers/no-hash-opaque.hpp
+++ b/bindgen-tests/tests/headers/no-hash-opaque.hpp
diff --git a/tests/headers/no-partialeq-allowlisted.hpp b/bindgen-tests/tests/headers/no-partialeq-allowlisted.hpp
index ced1b42a..ced1b42a 100644
--- a/tests/headers/no-partialeq-allowlisted.hpp
+++ b/bindgen-tests/tests/headers/no-partialeq-allowlisted.hpp
diff --git a/tests/headers/no-partialeq-opaque.hpp b/bindgen-tests/tests/headers/no-partialeq-opaque.hpp
index a5a03cd2..a5a03cd2 100644
--- a/tests/headers/no-partialeq-opaque.hpp
+++ b/bindgen-tests/tests/headers/no-partialeq-opaque.hpp
diff --git a/tests/headers/no-recursive-allowlisting.h b/bindgen-tests/tests/headers/no-recursive-allowlisting.h
index 1c661711..1c661711 100644
--- a/tests/headers/no-recursive-allowlisting.h
+++ b/bindgen-tests/tests/headers/no-recursive-allowlisting.h
diff --git a/tests/headers/no-std.h b/bindgen-tests/tests/headers/no-std.h
index d98abced..d98abced 100644
--- a/tests/headers/no-std.h
+++ b/bindgen-tests/tests/headers/no-std.h
diff --git a/tests/headers/no_copy.hpp b/bindgen-tests/tests/headers/no_copy.hpp
index 349e428e..349e428e 100644
--- a/tests/headers/no_copy.hpp
+++ b/bindgen-tests/tests/headers/no_copy.hpp
diff --git a/tests/headers/no_copy_allowlisted.hpp b/bindgen-tests/tests/headers/no_copy_allowlisted.hpp
index f3b922ca..f3b922ca 100644
--- a/tests/headers/no_copy_allowlisted.hpp
+++ b/bindgen-tests/tests/headers/no_copy_allowlisted.hpp
diff --git a/tests/headers/no_copy_opaque.hpp b/bindgen-tests/tests/headers/no_copy_opaque.hpp
index c21f213a..c21f213a 100644
--- a/tests/headers/no_copy_opaque.hpp
+++ b/bindgen-tests/tests/headers/no_copy_opaque.hpp
diff --git a/tests/headers/no_debug.hpp b/bindgen-tests/tests/headers/no_debug.hpp
index 2017f75d..2017f75d 100644
--- a/tests/headers/no_debug.hpp
+++ b/bindgen-tests/tests/headers/no_debug.hpp
diff --git a/tests/headers/no_debug_allowlisted.hpp b/bindgen-tests/tests/headers/no_debug_allowlisted.hpp
index 3e3633e4..3e3633e4 100644
--- a/tests/headers/no_debug_allowlisted.hpp
+++ b/bindgen-tests/tests/headers/no_debug_allowlisted.hpp
diff --git a/tests/headers/no_debug_bypass_impl_debug.hpp b/bindgen-tests/tests/headers/no_debug_bypass_impl_debug.hpp
index d934d2c7..d934d2c7 100644
--- a/tests/headers/no_debug_bypass_impl_debug.hpp
+++ b/bindgen-tests/tests/headers/no_debug_bypass_impl_debug.hpp
diff --git a/tests/headers/no_debug_opaque.hpp b/bindgen-tests/tests/headers/no_debug_opaque.hpp
index d5dc18f7..d5dc18f7 100644
--- a/tests/headers/no_debug_opaque.hpp
+++ b/bindgen-tests/tests/headers/no_debug_opaque.hpp
diff --git a/tests/headers/no_default.hpp b/bindgen-tests/tests/headers/no_default.hpp
index 79d25fbd..79d25fbd 100644
--- a/tests/headers/no_default.hpp
+++ b/bindgen-tests/tests/headers/no_default.hpp
diff --git a/tests/headers/no_default_allowlisted.hpp b/bindgen-tests/tests/headers/no_default_allowlisted.hpp
index 8a604081..8a604081 100644
--- a/tests/headers/no_default_allowlisted.hpp
+++ b/bindgen-tests/tests/headers/no_default_allowlisted.hpp
diff --git a/tests/headers/no_default_bypass_derive_default.hpp b/bindgen-tests/tests/headers/no_default_bypass_derive_default.hpp
index ab0fdfae..ab0fdfae 100644
--- a/tests/headers/no_default_bypass_derive_default.hpp
+++ b/bindgen-tests/tests/headers/no_default_bypass_derive_default.hpp
diff --git a/tests/headers/no_default_opaque.hpp b/bindgen-tests/tests/headers/no_default_opaque.hpp
index 3245d8f9..3245d8f9 100644
--- a/tests/headers/no_default_opaque.hpp
+++ b/bindgen-tests/tests/headers/no_default_opaque.hpp
diff --git a/tests/headers/size_t_is_usize.h b/bindgen-tests/tests/headers/no_size_t_is_usize.h
index 564b4867..d4370baf 100644
--- a/tests/headers/size_t_is_usize.h
+++ b/bindgen-tests/tests/headers/no_size_t_is_usize.h
@@ -1,4 +1,4 @@
-// bindgen-flags: --size_t-is-usize
+// bindgen-flags: --no-size_t-is-usize
typedef unsigned long size_t;
typedef long ssize_t;
diff --git a/tests/headers/non-type-params.hpp b/bindgen-tests/tests/headers/non-type-params.hpp
index 3e2ccf8e..3e2ccf8e 100644
--- a/tests/headers/non-type-params.hpp
+++ b/bindgen-tests/tests/headers/non-type-params.hpp
diff --git a/bindgen-tests/tests/headers/noreturn.hpp b/bindgen-tests/tests/headers/noreturn.hpp
new file mode 100644
index 00000000..4ce1e11e
--- /dev/null
+++ b/bindgen-tests/tests/headers/noreturn.hpp
@@ -0,0 +1,4 @@
+// bindgen-flags: --enable-function-attribute-detection -- -std=c++11
+_Noreturn void f(void);
+__attribute__((noreturn)) void g(void);
+[[noreturn]] void h(void);
diff --git a/tests/headers/nsBaseHashtable.hpp b/bindgen-tests/tests/headers/nsBaseHashtable.hpp
index 36a480f2..36a480f2 100644
--- a/tests/headers/nsBaseHashtable.hpp
+++ b/bindgen-tests/tests/headers/nsBaseHashtable.hpp
diff --git a/tests/headers/nsStyleAutoArray.hpp b/bindgen-tests/tests/headers/nsStyleAutoArray.hpp
index 3049ea21..3049ea21 100644
--- a/tests/headers/nsStyleAutoArray.hpp
+++ b/bindgen-tests/tests/headers/nsStyleAutoArray.hpp
diff --git a/tests/headers/objc_allowlist.h b/bindgen-tests/tests/headers/objc_allowlist.h
index b5406d0a..b5406d0a 100644
--- a/tests/headers/objc_allowlist.h
+++ b/bindgen-tests/tests/headers/objc_allowlist.h
diff --git a/bindgen-tests/tests/headers/objc_blocklist.h b/bindgen-tests/tests/headers/objc_blocklist.h
new file mode 100644
index 00000000..605f2993
--- /dev/null
+++ b/bindgen-tests/tests/headers/objc_blocklist.h
@@ -0,0 +1,9 @@
+// bindgen-flags: --objc-extern-crate --blocklist-item ISomeClass::class_ambiguouslyBlockedMethod --blocklist-item ISomeClass::blockedInstanceMethod -- -x objective-c
+// bindgen-osx-only
+
+@interface SomeClass
++ (void)ambiguouslyBlockedMethod;
+- (void)ambiguouslyBlockedMethod;
+- (void)instanceMethod;
+- (void)blockedInstanceMethod;
+@end
diff --git a/tests/headers/objc_category.h b/bindgen-tests/tests/headers/objc_category.h
index b8e60d5f..b8e60d5f 100644
--- a/tests/headers/objc_category.h
+++ b/bindgen-tests/tests/headers/objc_category.h
diff --git a/tests/headers/objc_class.h b/bindgen-tests/tests/headers/objc_class.h
index f5ec9507..f5ec9507 100644
--- a/tests/headers/objc_class.h
+++ b/bindgen-tests/tests/headers/objc_class.h
diff --git a/tests/headers/objc_class_method.h b/bindgen-tests/tests/headers/objc_class_method.h
index 1a68ed3e..1a68ed3e 100644
--- a/tests/headers/objc_class_method.h
+++ b/bindgen-tests/tests/headers/objc_class_method.h
diff --git a/tests/headers/objc_inheritance.h b/bindgen-tests/tests/headers/objc_inheritance.h
index 985f1597..985f1597 100644
--- a/tests/headers/objc_inheritance.h
+++ b/bindgen-tests/tests/headers/objc_inheritance.h
diff --git a/tests/headers/objc_interface.h b/bindgen-tests/tests/headers/objc_interface.h
index df16e921..df16e921 100644
--- a/tests/headers/objc_interface.h
+++ b/bindgen-tests/tests/headers/objc_interface.h
diff --git a/tests/headers/objc_interface_type.h b/bindgen-tests/tests/headers/objc_interface_type.h
index 4667ce2a..4667ce2a 100644
--- a/tests/headers/objc_interface_type.h
+++ b/bindgen-tests/tests/headers/objc_interface_type.h
diff --git a/tests/headers/objc_method.h b/bindgen-tests/tests/headers/objc_method.h
index b89d1621..b89d1621 100644
--- a/tests/headers/objc_method.h
+++ b/bindgen-tests/tests/headers/objc_method.h
diff --git a/tests/headers/objc_method_clash.h b/bindgen-tests/tests/headers/objc_method_clash.h
index d99d3691..d99d3691 100644
--- a/tests/headers/objc_method_clash.h
+++ b/bindgen-tests/tests/headers/objc_method_clash.h
diff --git a/tests/headers/objc_pointer_return_types.h b/bindgen-tests/tests/headers/objc_pointer_return_types.h
index 4d1a6dea..4d1a6dea 100644
--- a/tests/headers/objc_pointer_return_types.h
+++ b/bindgen-tests/tests/headers/objc_pointer_return_types.h
diff --git a/tests/headers/objc_property_fnptr.h b/bindgen-tests/tests/headers/objc_property_fnptr.h
index fe3e7fcc..fe3e7fcc 100644
--- a/tests/headers/objc_property_fnptr.h
+++ b/bindgen-tests/tests/headers/objc_property_fnptr.h
diff --git a/tests/headers/objc_protocol.h b/bindgen-tests/tests/headers/objc_protocol.h
index 46978a3b..46978a3b 100644
--- a/tests/headers/objc_protocol.h
+++ b/bindgen-tests/tests/headers/objc_protocol.h
diff --git a/tests/headers/objc_protocol_inheritance.h b/bindgen-tests/tests/headers/objc_protocol_inheritance.h
index 13135fdd..13135fdd 100644
--- a/tests/headers/objc_protocol_inheritance.h
+++ b/bindgen-tests/tests/headers/objc_protocol_inheritance.h
diff --git a/tests/headers/objc_sel_and_id.h b/bindgen-tests/tests/headers/objc_sel_and_id.h
index 6491a541..6491a541 100644
--- a/tests/headers/objc_sel_and_id.h
+++ b/bindgen-tests/tests/headers/objc_sel_and_id.h
diff --git a/tests/headers/objc_template.h b/bindgen-tests/tests/headers/objc_template.h
index b616da01..b616da01 100644
--- a/tests/headers/objc_template.h
+++ b/bindgen-tests/tests/headers/objc_template.h
diff --git a/tests/headers/only_bitfields.hpp b/bindgen-tests/tests/headers/only_bitfields.hpp
index 793bc66b..793bc66b 100644
--- a/tests/headers/only_bitfields.hpp
+++ b/bindgen-tests/tests/headers/only_bitfields.hpp
diff --git a/tests/headers/opaque-template-inst-member-2.hpp b/bindgen-tests/tests/headers/opaque-template-inst-member-2.hpp
index 85b648ff..85b648ff 100644
--- a/tests/headers/opaque-template-inst-member-2.hpp
+++ b/bindgen-tests/tests/headers/opaque-template-inst-member-2.hpp
diff --git a/tests/headers/opaque-template-inst-member.hpp b/bindgen-tests/tests/headers/opaque-template-inst-member.hpp
index 9b327919..9b327919 100644
--- a/tests/headers/opaque-template-inst-member.hpp
+++ b/bindgen-tests/tests/headers/opaque-template-inst-member.hpp
diff --git a/tests/headers/opaque-template-instantiation-namespaced.hpp b/bindgen-tests/tests/headers/opaque-template-instantiation-namespaced.hpp
index e1cadcc2..e1cadcc2 100644
--- a/tests/headers/opaque-template-instantiation-namespaced.hpp
+++ b/bindgen-tests/tests/headers/opaque-template-instantiation-namespaced.hpp
diff --git a/tests/headers/opaque-template-instantiation.hpp b/bindgen-tests/tests/headers/opaque-template-instantiation.hpp
index fff49af2..fff49af2 100644
--- a/tests/headers/opaque-template-instantiation.hpp
+++ b/bindgen-tests/tests/headers/opaque-template-instantiation.hpp
diff --git a/tests/headers/opaque-tracing.hpp b/bindgen-tests/tests/headers/opaque-tracing.hpp
index cf65276a..cf65276a 100644
--- a/tests/headers/opaque-tracing.hpp
+++ b/bindgen-tests/tests/headers/opaque-tracing.hpp
diff --git a/tests/headers/opaque_in_struct.hpp b/bindgen-tests/tests/headers/opaque_in_struct.hpp
index 12910e1f..12910e1f 100644
--- a/tests/headers/opaque_in_struct.hpp
+++ b/bindgen-tests/tests/headers/opaque_in_struct.hpp
diff --git a/tests/headers/opaque_pointer.hpp b/bindgen-tests/tests/headers/opaque_pointer.hpp
index 00868985..00868985 100644
--- a/tests/headers/opaque_pointer.hpp
+++ b/bindgen-tests/tests/headers/opaque_pointer.hpp
diff --git a/tests/headers/opaque_typedef.hpp b/bindgen-tests/tests/headers/opaque_typedef.hpp
index 878d5bcb..878d5bcb 100644
--- a/tests/headers/opaque_typedef.hpp
+++ b/bindgen-tests/tests/headers/opaque_typedef.hpp
diff --git a/tests/headers/operator.hpp b/bindgen-tests/tests/headers/operator.hpp
index 186f1fe6..186f1fe6 100644
--- a/tests/headers/operator.hpp
+++ b/bindgen-tests/tests/headers/operator.hpp
diff --git a/tests/headers/ord-enum.h b/bindgen-tests/tests/headers/ord-enum.h
index 364f711e..364f711e 100644
--- a/tests/headers/ord-enum.h
+++ b/bindgen-tests/tests/headers/ord-enum.h
diff --git a/tests/headers/overflowed_enum.hpp b/bindgen-tests/tests/headers/overflowed_enum.hpp
index 18d3fe41..18d3fe41 100644
--- a/tests/headers/overflowed_enum.hpp
+++ b/bindgen-tests/tests/headers/overflowed_enum.hpp
diff --git a/tests/headers/overloading.hpp b/bindgen-tests/tests/headers/overloading.hpp
index 3c2b0487..3c2b0487 100644
--- a/tests/headers/overloading.hpp
+++ b/bindgen-tests/tests/headers/overloading.hpp
diff --git a/tests/headers/packed-bitfield.h b/bindgen-tests/tests/headers/packed-bitfield.h
index ef23bc6a..ef23bc6a 100644
--- a/tests/headers/packed-bitfield.h
+++ b/bindgen-tests/tests/headers/packed-bitfield.h
diff --git a/tests/headers/packed-n-with-padding.h b/bindgen-tests/tests/headers/packed-n-with-padding.h
index 8a6233b5..8a6233b5 100644
--- a/tests/headers/packed-n-with-padding.h
+++ b/bindgen-tests/tests/headers/packed-n-with-padding.h
diff --git a/tests/headers/packed-vtable.h b/bindgen-tests/tests/headers/packed-vtable.h
index d2413d45..d2413d45 100644
--- a/tests/headers/packed-vtable.h
+++ b/bindgen-tests/tests/headers/packed-vtable.h
diff --git a/tests/headers/parm-union.hpp b/bindgen-tests/tests/headers/parm-union.hpp
index e36df691..e36df691 100644
--- a/tests/headers/parm-union.hpp
+++ b/bindgen-tests/tests/headers/parm-union.hpp
diff --git a/tests/headers/parsecb-anonymous-enum-variant-rename.h b/bindgen-tests/tests/headers/parsecb-anonymous-enum-variant-rename.h
index 9336cf89..9336cf89 100644
--- a/tests/headers/parsecb-anonymous-enum-variant-rename.h
+++ b/bindgen-tests/tests/headers/parsecb-anonymous-enum-variant-rename.h
diff --git a/tests/headers/partial-specialization-and-inheritance.hpp b/bindgen-tests/tests/headers/partial-specialization-and-inheritance.hpp
index 4eb8f545..4eb8f545 100644
--- a/tests/headers/partial-specialization-and-inheritance.hpp
+++ b/bindgen-tests/tests/headers/partial-specialization-and-inheritance.hpp
diff --git a/tests/headers/pointer-attr.h b/bindgen-tests/tests/headers/pointer-attr.h
index fe0004b8..fe0004b8 100644
--- a/tests/headers/pointer-attr.h
+++ b/bindgen-tests/tests/headers/pointer-attr.h
diff --git a/tests/headers/prepend-enum-constified-variant.h b/bindgen-tests/tests/headers/prepend-enum-constified-variant.h
index e9ba0e73..e9ba0e73 100644
--- a/tests/headers/prepend-enum-constified-variant.h
+++ b/bindgen-tests/tests/headers/prepend-enum-constified-variant.h
diff --git a/tests/headers/prepend_enum_name.hpp b/bindgen-tests/tests/headers/prepend_enum_name.hpp
index e7660369..e7660369 100644
--- a/tests/headers/prepend_enum_name.hpp
+++ b/bindgen-tests/tests/headers/prepend_enum_name.hpp
diff --git a/tests/headers/private.hpp b/bindgen-tests/tests/headers/private.hpp
index c0f3ce7f..c0f3ce7f 100644
--- a/tests/headers/private.hpp
+++ b/bindgen-tests/tests/headers/private.hpp
diff --git a/tests/headers/private_fields.hpp b/bindgen-tests/tests/headers/private_fields.hpp
index 9d55ebca..9d55ebca 100644
--- a/tests/headers/private_fields.hpp
+++ b/bindgen-tests/tests/headers/private_fields.hpp
diff --git a/tests/headers/public-dtor.hpp b/bindgen-tests/tests/headers/public-dtor.hpp
index 5d4fb592..5d4fb592 100644
--- a/tests/headers/public-dtor.hpp
+++ b/bindgen-tests/tests/headers/public-dtor.hpp
diff --git a/tests/headers/qualified-dependent-types.hpp b/bindgen-tests/tests/headers/qualified-dependent-types.hpp
index fcdfc87c..fcdfc87c 100644
--- a/tests/headers/qualified-dependent-types.hpp
+++ b/bindgen-tests/tests/headers/qualified-dependent-types.hpp
diff --git a/tests/headers/redeclaration.hpp b/bindgen-tests/tests/headers/redeclaration.hpp
index d536b158..d536b158 100644
--- a/tests/headers/redeclaration.hpp
+++ b/bindgen-tests/tests/headers/redeclaration.hpp
diff --git a/tests/headers/ref_argument_array.hpp b/bindgen-tests/tests/headers/ref_argument_array.hpp
index 53f66950..53f66950 100644
--- a/tests/headers/ref_argument_array.hpp
+++ b/bindgen-tests/tests/headers/ref_argument_array.hpp
diff --git a/tests/headers/reparented_replacement.hpp b/bindgen-tests/tests/headers/reparented_replacement.hpp
index 4ac2bf03..4ac2bf03 100644
--- a/tests/headers/reparented_replacement.hpp
+++ b/bindgen-tests/tests/headers/reparented_replacement.hpp
diff --git a/tests/headers/replace_template_alias.hpp b/bindgen-tests/tests/headers/replace_template_alias.hpp
index c325b5a3..c325b5a3 100644
--- a/tests/headers/replace_template_alias.hpp
+++ b/bindgen-tests/tests/headers/replace_template_alias.hpp
diff --git a/tests/headers/replace_use.hpp b/bindgen-tests/tests/headers/replace_use.hpp
index de44eb19..de44eb19 100644
--- a/tests/headers/replace_use.hpp
+++ b/bindgen-tests/tests/headers/replace_use.hpp
diff --git a/tests/headers/replaces_double.hpp b/bindgen-tests/tests/headers/replaces_double.hpp
index ce6a8dbb..ce6a8dbb 100644
--- a/tests/headers/replaces_double.hpp
+++ b/bindgen-tests/tests/headers/replaces_double.hpp
diff --git a/tests/headers/repr-align.hpp b/bindgen-tests/tests/headers/repr-align.hpp
index 3347594b..3347594b 100644
--- a/tests/headers/repr-align.hpp
+++ b/bindgen-tests/tests/headers/repr-align.hpp
diff --git a/tests/headers/resolved_type_def_function.h b/bindgen-tests/tests/headers/resolved_type_def_function.h
index 139b8c3e..139b8c3e 100644
--- a/tests/headers/resolved_type_def_function.h
+++ b/bindgen-tests/tests/headers/resolved_type_def_function.h
diff --git a/tests/headers/same_struct_name_in_different_namespaces.hpp b/bindgen-tests/tests/headers/same_struct_name_in_different_namespaces.hpp
index fe685845..fe685845 100644
--- a/tests/headers/same_struct_name_in_different_namespaces.hpp
+++ b/bindgen-tests/tests/headers/same_struct_name_in_different_namespaces.hpp
diff --git a/tests/headers/sentry-defined-multiple-times.hpp b/bindgen-tests/tests/headers/sentry-defined-multiple-times.hpp
index d44837d0..d44837d0 100644
--- a/tests/headers/sentry-defined-multiple-times.hpp
+++ b/bindgen-tests/tests/headers/sentry-defined-multiple-times.hpp
diff --git a/tests/headers/short-enums.hpp b/bindgen-tests/tests/headers/short-enums.hpp
index 14f833de..14f833de 100644
--- a/tests/headers/short-enums.hpp
+++ b/bindgen-tests/tests/headers/short-enums.hpp
diff --git a/tests/headers/size_t_template.hpp b/bindgen-tests/tests/headers/size_t_template.hpp
index 6045c698..6045c698 100644
--- a/tests/headers/size_t_template.hpp
+++ b/bindgen-tests/tests/headers/size_t_template.hpp
diff --git a/tests/headers/sorted-items.h b/bindgen-tests/tests/headers/sorted-items.h
index 11fc2ef4..11fc2ef4 100644
--- a/tests/headers/sorted-items.h
+++ b/bindgen-tests/tests/headers/sorted-items.h
diff --git a/bindgen-tests/tests/headers/stdint_typedef.h b/bindgen-tests/tests/headers/stdint_typedef.h
new file mode 100644
index 00000000..f716a7f1
--- /dev/null
+++ b/bindgen-tests/tests/headers/stdint_typedef.h
@@ -0,0 +1,10 @@
+// bindgen-flags: --allowlist-type="Struct" --allowlist-function="fun"
+
+// no typedef should be emitted for `__uint64_t`
+typedef unsigned long long __uint64_t;
+typedef __uint64_t uint64_t;
+
+uint64_t fun();
+struct Struct {
+ uint64_t field;
+};
diff --git a/tests/headers/struct_containing_forward_declared_struct.h b/bindgen-tests/tests/headers/struct_containing_forward_declared_struct.h
index cf7cb5c4..cf7cb5c4 100644
--- a/tests/headers/struct_containing_forward_declared_struct.h
+++ b/bindgen-tests/tests/headers/struct_containing_forward_declared_struct.h
diff --git a/tests/headers/struct_typedef.h b/bindgen-tests/tests/headers/struct_typedef.h
index 2ed7aabd..2ed7aabd 100644
--- a/tests/headers/struct_typedef.h
+++ b/bindgen-tests/tests/headers/struct_typedef.h
diff --git a/tests/headers/struct_typedef_ns.hpp b/bindgen-tests/tests/headers/struct_typedef_ns.hpp
index 40a7c680..40a7c680 100644
--- a/tests/headers/struct_typedef_ns.hpp
+++ b/bindgen-tests/tests/headers/struct_typedef_ns.hpp
diff --git a/tests/headers/struct_with_anon_struct.h b/bindgen-tests/tests/headers/struct_with_anon_struct.h
index a5e8476d..a5e8476d 100644
--- a/tests/headers/struct_with_anon_struct.h
+++ b/bindgen-tests/tests/headers/struct_with_anon_struct.h
diff --git a/tests/headers/struct_with_anon_struct_array.h b/bindgen-tests/tests/headers/struct_with_anon_struct_array.h
index 94a8ea0a..94a8ea0a 100644
--- a/tests/headers/struct_with_anon_struct_array.h
+++ b/bindgen-tests/tests/headers/struct_with_anon_struct_array.h
diff --git a/tests/headers/struct_with_anon_struct_pointer.h b/bindgen-tests/tests/headers/struct_with_anon_struct_pointer.h
index d92c8011..d92c8011 100644
--- a/tests/headers/struct_with_anon_struct_pointer.h
+++ b/bindgen-tests/tests/headers/struct_with_anon_struct_pointer.h
diff --git a/tests/headers/struct_with_anon_union.h b/bindgen-tests/tests/headers/struct_with_anon_union.h
index bd75563d..bd75563d 100644
--- a/tests/headers/struct_with_anon_union.h
+++ b/bindgen-tests/tests/headers/struct_with_anon_union.h
diff --git a/tests/headers/struct_with_anon_union_1_0.h b/bindgen-tests/tests/headers/struct_with_anon_union_1_0.h
index 847c354b..847c354b 100644
--- a/tests/headers/struct_with_anon_union_1_0.h
+++ b/bindgen-tests/tests/headers/struct_with_anon_union_1_0.h
diff --git a/tests/headers/struct_with_anon_unnamed_struct.h b/bindgen-tests/tests/headers/struct_with_anon_unnamed_struct.h
index 92705238..92705238 100644
--- a/tests/headers/struct_with_anon_unnamed_struct.h
+++ b/bindgen-tests/tests/headers/struct_with_anon_unnamed_struct.h
diff --git a/tests/headers/struct_with_anon_unnamed_union.h b/bindgen-tests/tests/headers/struct_with_anon_unnamed_union.h
index 00fa4900..00fa4900 100644
--- a/tests/headers/struct_with_anon_unnamed_union.h
+++ b/bindgen-tests/tests/headers/struct_with_anon_unnamed_union.h
diff --git a/tests/headers/struct_with_anon_unnamed_union_1_0.h b/bindgen-tests/tests/headers/struct_with_anon_unnamed_union_1_0.h
index 791a1593..791a1593 100644
--- a/tests/headers/struct_with_anon_unnamed_union_1_0.h
+++ b/bindgen-tests/tests/headers/struct_with_anon_unnamed_union_1_0.h
diff --git a/tests/headers/struct_with_bitfields.h b/bindgen-tests/tests/headers/struct_with_bitfields.h
index ba1af26d..ba1af26d 100644
--- a/tests/headers/struct_with_bitfields.h
+++ b/bindgen-tests/tests/headers/struct_with_bitfields.h
diff --git a/tests/headers/struct_with_derive_debug.h b/bindgen-tests/tests/headers/struct_with_derive_debug.h
index 4dc816b7..4dc816b7 100644
--- a/tests/headers/struct_with_derive_debug.h
+++ b/bindgen-tests/tests/headers/struct_with_derive_debug.h
diff --git a/tests/headers/struct_with_large_array.hpp b/bindgen-tests/tests/headers/struct_with_large_array.hpp
index 974ca526..974ca526 100644
--- a/tests/headers/struct_with_large_array.hpp
+++ b/bindgen-tests/tests/headers/struct_with_large_array.hpp
diff --git a/tests/headers/struct_with_nesting.h b/bindgen-tests/tests/headers/struct_with_nesting.h
index ac902b44..ac902b44 100644
--- a/tests/headers/struct_with_nesting.h
+++ b/bindgen-tests/tests/headers/struct_with_nesting.h
diff --git a/tests/headers/struct_with_nesting_1_0.h b/bindgen-tests/tests/headers/struct_with_nesting_1_0.h
index a24ae1db..a24ae1db 100644
--- a/tests/headers/struct_with_nesting_1_0.h
+++ b/bindgen-tests/tests/headers/struct_with_nesting_1_0.h
diff --git a/tests/headers/struct_with_packing.h b/bindgen-tests/tests/headers/struct_with_packing.h
index 9ed50317..9ed50317 100644
--- a/tests/headers/struct_with_packing.h
+++ b/bindgen-tests/tests/headers/struct_with_packing.h
diff --git a/tests/headers/struct_with_struct.h b/bindgen-tests/tests/headers/struct_with_struct.h
index 1a178074..1a178074 100644
--- a/tests/headers/struct_with_struct.h
+++ b/bindgen-tests/tests/headers/struct_with_struct.h
diff --git a/tests/headers/struct_with_typedef_template_arg.hpp b/bindgen-tests/tests/headers/struct_with_typedef_template_arg.hpp
index ec1b55aa..ec1b55aa 100644
--- a/tests/headers/struct_with_typedef_template_arg.hpp
+++ b/bindgen-tests/tests/headers/struct_with_typedef_template_arg.hpp
diff --git a/tests/headers/template-fun-ty.hpp b/bindgen-tests/tests/headers/template-fun-ty.hpp
index bb9d23cf..bb9d23cf 100644
--- a/tests/headers/template-fun-ty.hpp
+++ b/bindgen-tests/tests/headers/template-fun-ty.hpp
diff --git a/tests/headers/template-param-usage-0.hpp b/bindgen-tests/tests/headers/template-param-usage-0.hpp
index 57c11a10..57c11a10 100644
--- a/tests/headers/template-param-usage-0.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-0.hpp
diff --git a/tests/headers/template-param-usage-1.hpp b/bindgen-tests/tests/headers/template-param-usage-1.hpp
index dba41489..dba41489 100644
--- a/tests/headers/template-param-usage-1.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-1.hpp
diff --git a/tests/headers/template-param-usage-10.hpp b/bindgen-tests/tests/headers/template-param-usage-10.hpp
index a6f3ccd8..a6f3ccd8 100644
--- a/tests/headers/template-param-usage-10.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-10.hpp
diff --git a/tests/headers/template-param-usage-11.hpp b/bindgen-tests/tests/headers/template-param-usage-11.hpp
index 8780f5d3..8780f5d3 100644
--- a/tests/headers/template-param-usage-11.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-11.hpp
diff --git a/tests/headers/template-param-usage-12.hpp b/bindgen-tests/tests/headers/template-param-usage-12.hpp
index 9b4cea19..9b4cea19 100644
--- a/tests/headers/template-param-usage-12.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-12.hpp
diff --git a/tests/headers/template-param-usage-13.hpp b/bindgen-tests/tests/headers/template-param-usage-13.hpp
index 87db1a10..87db1a10 100644
--- a/tests/headers/template-param-usage-13.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-13.hpp
diff --git a/tests/headers/template-param-usage-14.hpp b/bindgen-tests/tests/headers/template-param-usage-14.hpp
index 19016296..19016296 100644
--- a/tests/headers/template-param-usage-14.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-14.hpp
diff --git a/tests/headers/template-param-usage-15.hpp b/bindgen-tests/tests/headers/template-param-usage-15.hpp
index bac7ada7..bac7ada7 100644
--- a/tests/headers/template-param-usage-15.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-15.hpp
diff --git a/tests/headers/template-param-usage-2.hpp b/bindgen-tests/tests/headers/template-param-usage-2.hpp
index 302140ab..302140ab 100644
--- a/tests/headers/template-param-usage-2.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-2.hpp
diff --git a/tests/headers/template-param-usage-3.hpp b/bindgen-tests/tests/headers/template-param-usage-3.hpp
index 57396a8a..57396a8a 100644
--- a/tests/headers/template-param-usage-3.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-3.hpp
diff --git a/tests/headers/template-param-usage-4.hpp b/bindgen-tests/tests/headers/template-param-usage-4.hpp
index 0415d692..0415d692 100644
--- a/tests/headers/template-param-usage-4.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-4.hpp
diff --git a/tests/headers/template-param-usage-5.hpp b/bindgen-tests/tests/headers/template-param-usage-5.hpp
index 04b9bf80..04b9bf80 100644
--- a/tests/headers/template-param-usage-5.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-5.hpp
diff --git a/tests/headers/template-param-usage-6.hpp b/bindgen-tests/tests/headers/template-param-usage-6.hpp
index ee0519c5..ee0519c5 100644
--- a/tests/headers/template-param-usage-6.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-6.hpp
diff --git a/tests/headers/template-param-usage-7.hpp b/bindgen-tests/tests/headers/template-param-usage-7.hpp
index 99d4cc71..99d4cc71 100644
--- a/tests/headers/template-param-usage-7.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-7.hpp
diff --git a/tests/headers/template-param-usage-8.hpp b/bindgen-tests/tests/headers/template-param-usage-8.hpp
index 96eabc06..96eabc06 100644
--- a/tests/headers/template-param-usage-8.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-8.hpp
diff --git a/tests/headers/template-param-usage-9.hpp b/bindgen-tests/tests/headers/template-param-usage-9.hpp
index b9bd202c..b9bd202c 100644
--- a/tests/headers/template-param-usage-9.hpp
+++ b/bindgen-tests/tests/headers/template-param-usage-9.hpp
diff --git a/tests/headers/template-with-var.hpp b/bindgen-tests/tests/headers/template-with-var.hpp
index 88f60d21..88f60d21 100644
--- a/tests/headers/template-with-var.hpp
+++ b/bindgen-tests/tests/headers/template-with-var.hpp
diff --git a/tests/headers/template.hpp b/bindgen-tests/tests/headers/template.hpp
index bc32a357..bc32a357 100644
--- a/tests/headers/template.hpp
+++ b/bindgen-tests/tests/headers/template.hpp
diff --git a/tests/headers/template_alias.hpp b/bindgen-tests/tests/headers/template_alias.hpp
index 8b3ea692..8b3ea692 100644
--- a/tests/headers/template_alias.hpp
+++ b/bindgen-tests/tests/headers/template_alias.hpp
diff --git a/tests/headers/template_alias_basic.hpp b/bindgen-tests/tests/headers/template_alias_basic.hpp
index 964f6e27..964f6e27 100644
--- a/tests/headers/template_alias_basic.hpp
+++ b/bindgen-tests/tests/headers/template_alias_basic.hpp
diff --git a/tests/headers/template_alias_namespace.hpp b/bindgen-tests/tests/headers/template_alias_namespace.hpp
index c20bf206..c20bf206 100644
--- a/tests/headers/template_alias_namespace.hpp
+++ b/bindgen-tests/tests/headers/template_alias_namespace.hpp
diff --git a/tests/headers/template_fun.hpp b/bindgen-tests/tests/headers/template_fun.hpp
index 17b1383b..17b1383b 100644
--- a/tests/headers/template_fun.hpp
+++ b/bindgen-tests/tests/headers/template_fun.hpp
diff --git a/tests/headers/template_instantiation_with_fn_local_type.hpp b/bindgen-tests/tests/headers/template_instantiation_with_fn_local_type.hpp
index b7ff28b0..b7ff28b0 100644
--- a/tests/headers/template_instantiation_with_fn_local_type.hpp
+++ b/bindgen-tests/tests/headers/template_instantiation_with_fn_local_type.hpp
diff --git a/tests/headers/template_partial_specification.hpp b/bindgen-tests/tests/headers/template_partial_specification.hpp
index fe1be658..fe1be658 100644
--- a/tests/headers/template_partial_specification.hpp
+++ b/bindgen-tests/tests/headers/template_partial_specification.hpp
diff --git a/tests/headers/template_typedef_transitive_param.hpp b/bindgen-tests/tests/headers/template_typedef_transitive_param.hpp
index 34a5b92c..34a5b92c 100644
--- a/tests/headers/template_typedef_transitive_param.hpp
+++ b/bindgen-tests/tests/headers/template_typedef_transitive_param.hpp
diff --git a/tests/headers/template_typedefs.hpp b/bindgen-tests/tests/headers/template_typedefs.hpp
index 5e13dcd8..5e13dcd8 100644
--- a/tests/headers/template_typedefs.hpp
+++ b/bindgen-tests/tests/headers/template_typedefs.hpp
diff --git a/tests/headers/templateref_opaque.hpp b/bindgen-tests/tests/headers/templateref_opaque.hpp
index 2f6a0027..2f6a0027 100644
--- a/tests/headers/templateref_opaque.hpp
+++ b/bindgen-tests/tests/headers/templateref_opaque.hpp
diff --git a/tests/headers/templatized-bitfield.hpp b/bindgen-tests/tests/headers/templatized-bitfield.hpp
index ed4a1540..ed4a1540 100644
--- a/tests/headers/templatized-bitfield.hpp
+++ b/bindgen-tests/tests/headers/templatized-bitfield.hpp
diff --git a/tests/headers/timex.h b/bindgen-tests/tests/headers/timex.h
index 1add26ca..1add26ca 100644
--- a/tests/headers/timex.h
+++ b/bindgen-tests/tests/headers/timex.h
diff --git a/tests/headers/transform-op.hpp b/bindgen-tests/tests/headers/transform-op.hpp
index aa6118eb..aa6118eb 100644
--- a/tests/headers/transform-op.hpp
+++ b/bindgen-tests/tests/headers/transform-op.hpp
diff --git a/tests/headers/type-referenced-by-allowlisted-function.h b/bindgen-tests/tests/headers/type-referenced-by-allowlisted-function.h
index bf675bc9..bf675bc9 100644
--- a/tests/headers/type-referenced-by-allowlisted-function.h
+++ b/bindgen-tests/tests/headers/type-referenced-by-allowlisted-function.h
diff --git a/tests/headers/type_alias_empty.hpp b/bindgen-tests/tests/headers/type_alias_empty.hpp
index bcccc3c8..bcccc3c8 100644
--- a/tests/headers/type_alias_empty.hpp
+++ b/bindgen-tests/tests/headers/type_alias_empty.hpp
diff --git a/tests/headers/type_alias_partial_template_especialization.hpp b/bindgen-tests/tests/headers/type_alias_partial_template_especialization.hpp
index dfc36786..dfc36786 100644
--- a/tests/headers/type_alias_partial_template_especialization.hpp
+++ b/bindgen-tests/tests/headers/type_alias_partial_template_especialization.hpp
diff --git a/tests/headers/type_alias_template_specialized.hpp b/bindgen-tests/tests/headers/type_alias_template_specialized.hpp
index f7403a36..f7403a36 100644
--- a/tests/headers/type_alias_template_specialized.hpp
+++ b/bindgen-tests/tests/headers/type_alias_template_specialized.hpp
diff --git a/tests/headers/typedefd-array-as-function-arg.h b/bindgen-tests/tests/headers/typedefd-array-as-function-arg.h
index 93790591..93790591 100644
--- a/tests/headers/typedefd-array-as-function-arg.h
+++ b/bindgen-tests/tests/headers/typedefd-array-as-function-arg.h
diff --git a/tests/headers/typeref.hpp b/bindgen-tests/tests/headers/typeref.hpp
index bdc1b302..bdc1b302 100644
--- a/tests/headers/typeref.hpp
+++ b/bindgen-tests/tests/headers/typeref.hpp
diff --git a/tests/headers/typeref_1_0.hpp b/bindgen-tests/tests/headers/typeref_1_0.hpp
index 70dfc11f..70dfc11f 100644
--- a/tests/headers/typeref_1_0.hpp
+++ b/bindgen-tests/tests/headers/typeref_1_0.hpp
diff --git a/tests/headers/underscore.hpp b/bindgen-tests/tests/headers/underscore.hpp
index 1c9371f1..1c9371f1 100644
--- a/tests/headers/underscore.hpp
+++ b/bindgen-tests/tests/headers/underscore.hpp
diff --git a/tests/headers/union-align.h b/bindgen-tests/tests/headers/union-align.h
index 9557b279..9557b279 100644
--- a/tests/headers/union-align.h
+++ b/bindgen-tests/tests/headers/union-align.h
diff --git a/tests/headers/union-in-ns.hpp b/bindgen-tests/tests/headers/union-in-ns.hpp
index 68b8f72d..68b8f72d 100644
--- a/tests/headers/union-in-ns.hpp
+++ b/bindgen-tests/tests/headers/union-in-ns.hpp
diff --git a/tests/headers/union-in-ns_1_0.hpp b/bindgen-tests/tests/headers/union-in-ns_1_0.hpp
index f3ae2210..f3ae2210 100644
--- a/tests/headers/union-in-ns_1_0.hpp
+++ b/bindgen-tests/tests/headers/union-in-ns_1_0.hpp
diff --git a/tests/headers/union_bitfield.h b/bindgen-tests/tests/headers/union_bitfield.h
index 99072957..99072957 100644
--- a/tests/headers/union_bitfield.h
+++ b/bindgen-tests/tests/headers/union_bitfield.h
diff --git a/tests/headers/union_bitfield_1_0.h b/bindgen-tests/tests/headers/union_bitfield_1_0.h
index 06b61ad7..06b61ad7 100644
--- a/tests/headers/union_bitfield_1_0.h
+++ b/bindgen-tests/tests/headers/union_bitfield_1_0.h
diff --git a/tests/headers/union_dtor.hpp b/bindgen-tests/tests/headers/union_dtor.hpp
index 399dc89d..399dc89d 100644
--- a/tests/headers/union_dtor.hpp
+++ b/bindgen-tests/tests/headers/union_dtor.hpp
diff --git a/tests/headers/union_dtor_1_0.hpp b/bindgen-tests/tests/headers/union_dtor_1_0.hpp
index 01f76366..01f76366 100644
--- a/tests/headers/union_dtor_1_0.hpp
+++ b/bindgen-tests/tests/headers/union_dtor_1_0.hpp
diff --git a/tests/headers/union_fields.hpp b/bindgen-tests/tests/headers/union_fields.hpp
index 7bb2a3ce..7bb2a3ce 100644
--- a/tests/headers/union_fields.hpp
+++ b/bindgen-tests/tests/headers/union_fields.hpp
diff --git a/tests/headers/union_fields_1_0.hpp b/bindgen-tests/tests/headers/union_fields_1_0.hpp
index bbb67fbc..bbb67fbc 100644
--- a/tests/headers/union_fields_1_0.hpp
+++ b/bindgen-tests/tests/headers/union_fields_1_0.hpp
diff --git a/tests/headers/union_template.hpp b/bindgen-tests/tests/headers/union_template.hpp
index 8b57f5a0..8b57f5a0 100644
--- a/tests/headers/union_template.hpp
+++ b/bindgen-tests/tests/headers/union_template.hpp
diff --git a/tests/headers/union_template_1_0.hpp b/bindgen-tests/tests/headers/union_template_1_0.hpp
index 18e3d74a..18e3d74a 100644
--- a/tests/headers/union_template_1_0.hpp
+++ b/bindgen-tests/tests/headers/union_template_1_0.hpp
diff --git a/tests/headers/union_with_anon_struct.h b/bindgen-tests/tests/headers/union_with_anon_struct.h
index b239b2d8..b239b2d8 100644
--- a/tests/headers/union_with_anon_struct.h
+++ b/bindgen-tests/tests/headers/union_with_anon_struct.h
diff --git a/tests/headers/union_with_anon_struct_1_0.h b/bindgen-tests/tests/headers/union_with_anon_struct_1_0.h
index 9313299e..9313299e 100644
--- a/tests/headers/union_with_anon_struct_1_0.h
+++ b/bindgen-tests/tests/headers/union_with_anon_struct_1_0.h
diff --git a/tests/headers/union_with_anon_struct_bitfield.h b/bindgen-tests/tests/headers/union_with_anon_struct_bitfield.h
index bbb1ef41..bbb1ef41 100644
--- a/tests/headers/union_with_anon_struct_bitfield.h
+++ b/bindgen-tests/tests/headers/union_with_anon_struct_bitfield.h
diff --git a/tests/headers/union_with_anon_struct_bitfield_1_0.h b/bindgen-tests/tests/headers/union_with_anon_struct_bitfield_1_0.h
index 0b0e3d73..0b0e3d73 100644
--- a/tests/headers/union_with_anon_struct_bitfield_1_0.h
+++ b/bindgen-tests/tests/headers/union_with_anon_struct_bitfield_1_0.h
diff --git a/tests/headers/union_with_anon_union.h b/bindgen-tests/tests/headers/union_with_anon_union.h
index 02b09e2e..02b09e2e 100644
--- a/tests/headers/union_with_anon_union.h
+++ b/bindgen-tests/tests/headers/union_with_anon_union.h
diff --git a/tests/headers/union_with_anon_union_1_0.h b/bindgen-tests/tests/headers/union_with_anon_union_1_0.h
index 28a7231d..28a7231d 100644
--- a/tests/headers/union_with_anon_union_1_0.h
+++ b/bindgen-tests/tests/headers/union_with_anon_union_1_0.h
diff --git a/tests/headers/union_with_anon_unnamed_struct.h b/bindgen-tests/tests/headers/union_with_anon_unnamed_struct.h
index 04903318..04903318 100644
--- a/tests/headers/union_with_anon_unnamed_struct.h
+++ b/bindgen-tests/tests/headers/union_with_anon_unnamed_struct.h
diff --git a/tests/headers/union_with_anon_unnamed_struct_1_0.h b/bindgen-tests/tests/headers/union_with_anon_unnamed_struct_1_0.h
index 506a41f6..506a41f6 100644
--- a/tests/headers/union_with_anon_unnamed_struct_1_0.h
+++ b/bindgen-tests/tests/headers/union_with_anon_unnamed_struct_1_0.h
diff --git a/tests/headers/union_with_anon_unnamed_union.h b/bindgen-tests/tests/headers/union_with_anon_unnamed_union.h
index dbccd5b5..dbccd5b5 100644
--- a/tests/headers/union_with_anon_unnamed_union.h
+++ b/bindgen-tests/tests/headers/union_with_anon_unnamed_union.h
diff --git a/tests/headers/union_with_anon_unnamed_union_1_0.h b/bindgen-tests/tests/headers/union_with_anon_unnamed_union_1_0.h
index c556a613..c556a613 100644
--- a/tests/headers/union_with_anon_unnamed_union_1_0.h
+++ b/bindgen-tests/tests/headers/union_with_anon_unnamed_union_1_0.h
diff --git a/tests/headers/union_with_big_member.h b/bindgen-tests/tests/headers/union_with_big_member.h
index e8a3fe0a..e8a3fe0a 100644
--- a/tests/headers/union_with_big_member.h
+++ b/bindgen-tests/tests/headers/union_with_big_member.h
diff --git a/tests/headers/union_with_big_member_1_0.h b/bindgen-tests/tests/headers/union_with_big_member_1_0.h
index 04294354..04294354 100644
--- a/tests/headers/union_with_big_member_1_0.h
+++ b/bindgen-tests/tests/headers/union_with_big_member_1_0.h
diff --git a/tests/headers/union_with_nesting.h b/bindgen-tests/tests/headers/union_with_nesting.h
index ae25244a..ae25244a 100644
--- a/tests/headers/union_with_nesting.h
+++ b/bindgen-tests/tests/headers/union_with_nesting.h
diff --git a/tests/headers/union_with_nesting_1_0.h b/bindgen-tests/tests/headers/union_with_nesting_1_0.h
index 3cdb7238..3cdb7238 100644
--- a/tests/headers/union_with_nesting_1_0.h
+++ b/bindgen-tests/tests/headers/union_with_nesting_1_0.h
diff --git a/bindgen-tests/tests/headers/union_with_non_copy_member.h b/bindgen-tests/tests/headers/union_with_non_copy_member.h
new file mode 100644
index 00000000..764820a4
--- /dev/null
+++ b/bindgen-tests/tests/headers/union_with_non_copy_member.h
@@ -0,0 +1,20 @@
+// bindgen-flags: --bindgen-wrapper-union 'WithBindgenGeneratedWrapper' --manually-drop-union 'WithManuallyDrop' --no-copy 'NonCopyType'
+
+struct NonCopyType {
+ int foo;
+};
+
+union WithBindgenGeneratedWrapper {
+ struct NonCopyType non_copy_type;
+ int bar;
+};
+
+union WithManuallyDrop {
+ struct NonCopyType non_copy_type;
+ int bar;
+};
+
+union WithDefaultWrapper {
+ struct NonCopyType non_copy_type;
+ int bar;
+};
diff --git a/tests/headers/unknown_attr.h b/bindgen-tests/tests/headers/unknown_attr.h
index 1e89fb14..1e89fb14 100644
--- a/tests/headers/unknown_attr.h
+++ b/bindgen-tests/tests/headers/unknown_attr.h
diff --git a/tests/headers/unsorted-items.h b/bindgen-tests/tests/headers/unsorted-items.h
index 23962d18..23962d18 100644
--- a/tests/headers/unsorted-items.h
+++ b/bindgen-tests/tests/headers/unsorted-items.h
diff --git a/tests/headers/use-core.h b/bindgen-tests/tests/headers/use-core.h
index 5ee0ac6f..5ee0ac6f 100644
--- a/tests/headers/use-core.h
+++ b/bindgen-tests/tests/headers/use-core.h
diff --git a/tests/headers/use-core_1_0.h b/bindgen-tests/tests/headers/use-core_1_0.h
index 40de9d15..40de9d15 100644
--- a/tests/headers/use-core_1_0.h
+++ b/bindgen-tests/tests/headers/use-core_1_0.h
diff --git a/tests/headers/using.hpp b/bindgen-tests/tests/headers/using.hpp
index ba07b9c8..ba07b9c8 100644
--- a/tests/headers/using.hpp
+++ b/bindgen-tests/tests/headers/using.hpp
diff --git a/tests/headers/var-tracing.hpp b/bindgen-tests/tests/headers/var-tracing.hpp
index ef002a00..ef002a00 100644
--- a/tests/headers/var-tracing.hpp
+++ b/bindgen-tests/tests/headers/var-tracing.hpp
diff --git a/tests/headers/variadic-method.hpp b/bindgen-tests/tests/headers/variadic-method.hpp
index 78a8eb45..78a8eb45 100644
--- a/tests/headers/variadic-method.hpp
+++ b/bindgen-tests/tests/headers/variadic-method.hpp
diff --git a/tests/headers/variadic_template_function.hpp b/bindgen-tests/tests/headers/variadic_template_function.hpp
index 4942d8f0..4942d8f0 100644
--- a/tests/headers/variadic_template_function.hpp
+++ b/bindgen-tests/tests/headers/variadic_template_function.hpp
diff --git a/tests/headers/vector.hpp b/bindgen-tests/tests/headers/vector.hpp
index 173aa022..173aa022 100644
--- a/tests/headers/vector.hpp
+++ b/bindgen-tests/tests/headers/vector.hpp
diff --git a/tests/headers/virtual_dtor.hpp b/bindgen-tests/tests/headers/virtual_dtor.hpp
index c35dcab1..c35dcab1 100644
--- a/tests/headers/virtual_dtor.hpp
+++ b/bindgen-tests/tests/headers/virtual_dtor.hpp
diff --git a/tests/headers/virtual_inheritance.hpp b/bindgen-tests/tests/headers/virtual_inheritance.hpp
index 5198c51e..5198c51e 100644
--- a/tests/headers/virtual_inheritance.hpp
+++ b/bindgen-tests/tests/headers/virtual_inheritance.hpp
diff --git a/tests/headers/virtual_interface.hpp b/bindgen-tests/tests/headers/virtual_interface.hpp
index 00ab0737..00ab0737 100644
--- a/tests/headers/virtual_interface.hpp
+++ b/bindgen-tests/tests/headers/virtual_interface.hpp
diff --git a/tests/headers/virtual_overloaded.hpp b/bindgen-tests/tests/headers/virtual_overloaded.hpp
index f5ba5ff2..f5ba5ff2 100644
--- a/tests/headers/virtual_overloaded.hpp
+++ b/bindgen-tests/tests/headers/virtual_overloaded.hpp
diff --git a/tests/headers/vtable_recursive_sig.hpp b/bindgen-tests/tests/headers/vtable_recursive_sig.hpp
index 8a073864..8a073864 100644
--- a/tests/headers/vtable_recursive_sig.hpp
+++ b/bindgen-tests/tests/headers/vtable_recursive_sig.hpp
diff --git a/tests/headers/wasm-constructor-returns.hpp b/bindgen-tests/tests/headers/wasm-constructor-returns.hpp
index 9e470327..9e470327 100644
--- a/tests/headers/wasm-constructor-returns.hpp
+++ b/bindgen-tests/tests/headers/wasm-constructor-returns.hpp
diff --git a/tests/headers/wasm-import-module.h b/bindgen-tests/tests/headers/wasm-import-module.h
index db4fe85c..db4fe85c 100644
--- a/tests/headers/wasm-import-module.h
+++ b/bindgen-tests/tests/headers/wasm-import-module.h
diff --git a/tests/headers/weird_bitfields.hpp b/bindgen-tests/tests/headers/weird_bitfields.hpp
index b2761a80..b2761a80 100644
--- a/tests/headers/weird_bitfields.hpp
+++ b/bindgen-tests/tests/headers/weird_bitfields.hpp
diff --git a/tests/headers/what_is_going_on.hpp b/bindgen-tests/tests/headers/what_is_going_on.hpp
index 078c1ad5..078c1ad5 100644
--- a/tests/headers/what_is_going_on.hpp
+++ b/bindgen-tests/tests/headers/what_is_going_on.hpp
diff --git a/tests/headers/win32-thiscall_1_0.hpp b/bindgen-tests/tests/headers/win32-thiscall_1_0.hpp
index 5907c76e..5907c76e 100644
--- a/tests/headers/win32-thiscall_1_0.hpp
+++ b/bindgen-tests/tests/headers/win32-thiscall_1_0.hpp
diff --git a/tests/headers/win32-thiscall_nightly.hpp b/bindgen-tests/tests/headers/win32-thiscall_nightly.hpp
index 2c9f2f17..2c9f2f17 100644
--- a/tests/headers/win32-thiscall_nightly.hpp
+++ b/bindgen-tests/tests/headers/win32-thiscall_nightly.hpp
diff --git a/tests/headers/win32-vectorcall-1_0.h b/bindgen-tests/tests/headers/win32-vectorcall-1_0.h
index a1f852b5..a1f852b5 100644
--- a/tests/headers/win32-vectorcall-1_0.h
+++ b/bindgen-tests/tests/headers/win32-vectorcall-1_0.h
diff --git a/tests/headers/win32-vectorcall-nightly.h b/bindgen-tests/tests/headers/win32-vectorcall-nightly.h
index c099bb59..c099bb59 100644
--- a/tests/headers/win32-vectorcall-nightly.h
+++ b/bindgen-tests/tests/headers/win32-vectorcall-nightly.h
diff --git a/tests/headers/with_array_pointers_arguments.h b/bindgen-tests/tests/headers/with_array_pointers_arguments.h
index 565b3cf6..565b3cf6 100644
--- a/tests/headers/with_array_pointers_arguments.h
+++ b/bindgen-tests/tests/headers/with_array_pointers_arguments.h
diff --git a/tests/headers/without_array_pointers_arguments.h b/bindgen-tests/tests/headers/without_array_pointers_arguments.h
index 2f066874..2f066874 100644
--- a/tests/headers/without_array_pointers_arguments.h
+++ b/bindgen-tests/tests/headers/without_array_pointers_arguments.h
diff --git a/tests/headers/zero-size-array-align.h b/bindgen-tests/tests/headers/zero-size-array-align.h
index 05b11bce..05b11bce 100644
--- a/tests/headers/zero-size-array-align.h
+++ b/bindgen-tests/tests/headers/zero-size-array-align.h
diff --git a/tests/headers/zero-sized-array.hpp b/bindgen-tests/tests/headers/zero-sized-array.hpp
index ae6d0554..ae6d0554 100644
--- a/tests/headers/zero-sized-array.hpp
+++ b/bindgen-tests/tests/headers/zero-sized-array.hpp
diff --git a/tests/parse_callbacks/mod.rs b/bindgen-tests/tests/parse_callbacks/mod.rs
index 6ade71c2..6ade71c2 100644
--- a/tests/parse_callbacks/mod.rs
+++ b/bindgen-tests/tests/parse_callbacks/mod.rs
diff --git a/tests/quickchecking/.gitignore b/bindgen-tests/tests/quickchecking/.gitignore
index 03314f77..03314f77 100644
--- a/tests/quickchecking/.gitignore
+++ b/bindgen-tests/tests/quickchecking/.gitignore
diff --git a/tests/quickchecking/Cargo.toml b/bindgen-tests/tests/quickchecking/Cargo.toml
index ddefb33d..455a8240 100644
--- a/tests/quickchecking/Cargo.toml
+++ b/bindgen-tests/tests/quickchecking/Cargo.toml
@@ -24,8 +24,8 @@ tempdir = "0.3"
default = []
# Enable the generation of code that allows for zero sized arrays as struct
-# fields. Until issues #684 and #1153 are resolved this can result in failing tests.
-zero-sized-arrays = []
+# fields. Until issues #684 and #1153 are resolved this can result in failing tests.
+zero-sized-arrays = []
# Enable the generation of code that allows for long double types as struct
# fields. Until issue #550 is resolved this can result in failing tests.
diff --git a/tests/quickchecking/README.md b/bindgen-tests/tests/quickchecking/README.md
index d3cfe170..d3cfe170 100644
--- a/tests/quickchecking/README.md
+++ b/bindgen-tests/tests/quickchecking/README.md
diff --git a/tests/quickchecking/src/bin.rs b/bindgen-tests/tests/quickchecking/src/bin.rs
index d2774eb0..f2b52e82 100644
--- a/tests/quickchecking/src/bin.rs
+++ b/bindgen-tests/tests/quickchecking/src/bin.rs
@@ -103,8 +103,10 @@ fn main() {
.get_matches();
let output_path: Option<&str> = matches.value_of("path");
- let generate_range: usize = matches.value_of("range").unwrap().parse::<usize>().unwrap();
- let tests: usize = matches.value_of("count").unwrap().parse::<usize>().unwrap();
+ let generate_range: usize =
+ matches.value_of("range").unwrap().parse::<usize>().unwrap();
+ let tests: usize =
+ matches.value_of("count").unwrap().parse::<usize>().unwrap();
quickchecking::test_bindgen(generate_range, tests, output_path)
}
diff --git a/tests/quickchecking/src/fuzzers.rs b/bindgen-tests/tests/quickchecking/src/fuzzers.rs
index 7c764425..b609dd5a 100644
--- a/tests/quickchecking/src/fuzzers.rs
+++ b/bindgen-tests/tests/quickchecking/src/fuzzers.rs
@@ -1,6 +1,6 @@
use quickcheck::{Arbitrary, Gen, StdGen};
-use std::fmt;
use rand::thread_rng;
+use std::fmt;
/// BaseTypeC is used in generation of C headers to represent the C language's
/// primitive types as well as `void*`.
@@ -185,10 +185,14 @@ impl Arbitrary for DeclarationC {
fn arbitrary<G: Gen>(g: &mut G) -> DeclarationC {
match g.gen_range(0, 5) {
0 => DeclarationC::FunctionDecl(FunctionPrototypeC::arbitrary(g)),
- 1 => DeclarationC::FunctionPtrDecl(FunctionPointerDeclarationC::arbitrary(g)),
+ 1 => DeclarationC::FunctionPtrDecl(
+ FunctionPointerDeclarationC::arbitrary(g),
+ ),
2 => DeclarationC::StructDecl(StructDeclarationC::arbitrary(g)),
3 => DeclarationC::UnionDecl(UnionDeclarationC::arbitrary(g)),
- 4 => DeclarationC::VariableDecl(BasicTypeDeclarationC::arbitrary(g)),
+ 4 => {
+ DeclarationC::VariableDecl(BasicTypeDeclarationC::arbitrary(g))
+ }
_ => unreachable!(),
}
}
@@ -425,9 +429,7 @@ impl fmt::Display for StructDeclarationC {
write!(
f,
"struct {{ {} }} struct_{}{};",
- self.fields,
- self.ident_id,
- self.array_dimension
+ self.fields, self.ident_id, self.array_dimension
)
}
}
@@ -475,9 +477,7 @@ impl fmt::Display for UnionDeclarationC {
write!(
f,
"union {{ {} }} union_{}{};",
- self.fields,
- self.ident_id,
- self.array_dimension
+ self.fields, self.ident_id, self.array_dimension
)
}
}
@@ -574,9 +574,7 @@ impl fmt::Display for ParameterC {
write!(
f,
"{} {} {}",
- self.type_qualifier,
- self.type_name,
- self.pointer_level
+ self.type_qualifier, self.type_name, self.pointer_level
)
}
}
diff --git a/tests/quickchecking/src/lib.rs b/bindgen-tests/tests/quickchecking/src/lib.rs
index d8633dfb..b09d1c49 100644
--- a/tests/quickchecking/src/lib.rs
+++ b/bindgen-tests/tests/quickchecking/src/lib.rs
@@ -26,15 +26,15 @@ extern crate quickcheck;
extern crate rand;
extern crate tempdir;
-use std::sync::Mutex;
use quickcheck::{QuickCheck, StdGen, TestResult};
+use rand::thread_rng;
+use std::error::Error;
use std::fs::File;
use std::io::Write;
-use tempdir::TempDir;
-use std::process::{Command, Output};
use std::path::PathBuf;
-use std::error::Error;
-use rand::thread_rng;
+use std::process::{Command, Output};
+use std::sync::Mutex;
+use tempdir::TempDir;
/// Contains definitions of and impls for types used to fuzz C declarations.
pub mod fuzzers;
@@ -47,12 +47,15 @@ struct Context {
// Initialize global context.
lazy_static! {
- static ref CONTEXT: Mutex<Context> = Mutex::new(Context { output_path: None });
+ static ref CONTEXT: Mutex<Context> =
+ Mutex::new(Context { output_path: None });
}
// Passes fuzzed header to the `csmith-fuzzing/predicate.py` script, returns
// output of the associated command.
-fn run_predicate_script(header: fuzzers::HeaderC) -> Result<Output, Box<Error>> {
+fn run_predicate_script(
+ header: fuzzers::HeaderC,
+) -> Result<Output, Box<dyn Error>> {
let dir = TempDir::new("bindgen_prop")?;
let header_path = dir.path().join("prop_test.h");
@@ -110,7 +113,11 @@ fn bindgen_prop(header: fuzzers::HeaderC) -> TestResult {
/// fuzzed C headers generated with types defined in the `fuzzers` module.
/// Success/Failure is dictated by the result of passing the fuzzed headers
/// to the `csmith-fuzzing/predicate.py` script.
-pub fn test_bindgen(generate_range: usize, tests: usize, output_path: Option<&str>) {
+pub fn test_bindgen(
+ generate_range: usize,
+ tests: usize,
+ output_path: Option<&str>,
+) {
match output_path {
Some(path) => {
CONTEXT.lock().unwrap().output_path =
diff --git a/tests/quickchecking/tests/fuzzed-c-headers.rs b/bindgen-tests/tests/quickchecking/tests/fuzzed-c-headers.rs
index 6b58d24b..800c70b4 100644
--- a/tests/quickchecking/tests/fuzzed-c-headers.rs
+++ b/bindgen-tests/tests/quickchecking/tests/fuzzed-c-headers.rs
@@ -1,13 +1,14 @@
-
extern crate quickcheck;
extern crate quickchecking;
extern crate rand;
-use quickchecking::fuzzers::{ArrayDimensionC, BaseTypeC, BasicTypeDeclarationC, DeclarationC,
- DeclarationListC, FunctionPointerDeclarationC, FunctionPrototypeC,
- HeaderC, ParameterC, ParameterListC, PointerLevelC,
- StructDeclarationC, TypeQualifierC, UnionDeclarationC};
use quickcheck::{Arbitrary, StdGen};
+use quickchecking::fuzzers::{
+ ArrayDimensionC, BaseTypeC, BasicTypeDeclarationC, DeclarationC,
+ DeclarationListC, FunctionPointerDeclarationC, FunctionPrototypeC, HeaderC,
+ ParameterC, ParameterListC, PointerLevelC, StructDeclarationC,
+ TypeQualifierC, UnionDeclarationC,
+};
use rand::thread_rng;
#[test]
diff --git a/tests/rustfmt.toml b/bindgen-tests/tests/rustfmt.toml
index 2564ccb5..2564ccb5 100644
--- a/tests/rustfmt.toml
+++ b/bindgen-tests/tests/rustfmt.toml
diff --git a/tests/stylo.hpp b/bindgen-tests/tests/stylo.hpp
index 88102903..88102903 100644
--- a/tests/stylo.hpp
+++ b/bindgen-tests/tests/stylo.hpp
diff --git a/tests/stylo_sanity.rs b/bindgen-tests/tests/stylo_sanity.rs
index 52b96355..52b96355 100755
--- a/tests/stylo_sanity.rs
+++ b/bindgen-tests/tests/stylo_sanity.rs
diff --git a/tests/test-one.sh b/bindgen-tests/tests/test-one.sh
index 91da55b1..91da55b1 100755
--- a/tests/test-one.sh
+++ b/bindgen-tests/tests/test-one.sh
diff --git a/tests/tests.rs b/bindgen-tests/tests/tests.rs
index 8dcc5437..25c073cc 100644
--- a/tests/tests.rs
+++ b/bindgen-tests/tests/tests.rs
@@ -13,10 +13,11 @@ use std::path::{Path, PathBuf};
use std::process;
use std::sync::Once;
-#[path = "../src/options.rs"]
-mod options;
use crate::options::builder_from_flags;
+#[path = "../../bindgen-cli/options.rs"]
+mod options;
+
mod parse_callbacks;
// Run `rustfmt` on the given source string and return a tuple of the formatted
@@ -31,7 +32,7 @@ fn rustfmt(source: String) -> (String, String) {
let mut rustfmt = {
let mut p = process::Command::new("rustup");
- p.args(&["run", "nightly", "rustfmt", "--version"]);
+ p.args(["run", "nightly", "rustfmt", "--version"]);
p
};
@@ -59,13 +60,13 @@ The latest `rustfmt` is required to run the `bindgen` test suite. Install
Some(r) => process::Command::new(r),
None => {
let mut p = process::Command::new("rustup");
- p.args(&["run", "nightly", "rustfmt"]);
+ p.args(["run", "nightly", "rustfmt"]);
p
}
};
let mut child = child
- .args(&[
+ .args([
"--config-path",
concat!(env!("CARGO_MANIFEST_DIR"), "/tests/rustfmt.toml"),
])
@@ -164,7 +165,7 @@ fn error_diff_mismatch(
let mut actual_result_file = fs::File::create(&actual_result_path)?;
actual_result_file.write_all(actual.as_bytes())?;
std::process::Command::new(var)
- .args(&[filename, &actual_result_path])
+ .args([filename, &actual_result_path])
.output()?;
}
@@ -251,7 +252,7 @@ fn compare_generated_header(
let actual = bindings.to_string();
rustfmt(actual)
}
- Err(_) => ("<error generating bindings>".to_string(), "".to_string()),
+ Err(_) => ("/* error generating bindings */\n".into(), "".to_string()),
};
println!("{}", rustfmt_stderr);
@@ -600,12 +601,12 @@ fn test_mixed_header_and_header_contents() {
#[cfg(not(target_os = "windows"))]
fn no_system_header_includes() {
use std::process::Command;
- assert!(Command::new("./ci/no-includes.sh")
+ assert!(Command::new("../ci/no-includes.sh")
.current_dir(env!("CARGO_MANIFEST_DIR"))
.spawn()
- .expect("should spawn ./ci/no-includes.sh OK")
+ .expect("should spawn ../ci/no-includes.sh OK")
.wait()
- .expect("should wait for ./ci/no-includes OK")
+ .expect("should wait for ../ci/no-includes OK")
.success());
}
@@ -686,3 +687,29 @@ fn allowlist_warnings() {
assert_eq!(1, bindings.warnings().len());
}
+
+fn build_flags_output_helper(builder: &bindgen::Builder) {
+ let mut command_line_flags = builder.command_line_flags();
+ command_line_flags.insert(0, "bindgen".to_string());
+
+ let flags_quoted: Vec<String> = command_line_flags
+ .iter()
+ .map(|x| format!("{}", shlex::quote(x)))
+ .collect();
+ let flags_str = flags_quoted.join(" ");
+ println!("{}", flags_str);
+
+ let (builder, _output, _verbose) =
+ crate::options::builder_from_flags(command_line_flags.into_iter())
+ .unwrap();
+ builder.generate().expect("failed to generate bindings");
+}
+
+#[test]
+fn commandline_multiple_headers() {
+ let bindings = bindgen::Builder::default()
+ .header("tests/headers/char.h")
+ .header("tests/headers/func_ptr.h")
+ .header("tests/headers/16-byte-alignment.h");
+ build_flags_output_helper(&bindings);
+}
diff --git a/tests/uses/.gitignore b/bindgen-tests/tests/uses/.gitignore
index 40d7cb4c..40d7cb4c 100644
--- a/tests/uses/.gitignore
+++ b/bindgen-tests/tests/uses/.gitignore
diff --git a/bindgen/Cargo.toml b/bindgen/Cargo.toml
new file mode 100644
index 00000000..dca779bd
--- /dev/null
+++ b/bindgen/Cargo.toml
@@ -0,0 +1,69 @@
+[package]
+authors = [
+ "Jyun-Yan You <jyyou.tw@gmail.com>",
+ "Emilio Cobos Álvarez <emilio@crisal.io>",
+ "Nick Fitzgerald <fitzgen@gmail.com>",
+ "The Servo project developers",
+]
+description = "Automatically generates Rust FFI bindings to C and C++ libraries."
+keywords = ["bindings", "ffi", "code-generation"]
+categories = ["external-ffi-bindings", "development-tools::ffi"]
+license = "BSD-3-Clause"
+name = "bindgen"
+readme = "README.md"
+repository = "https://github.com/rust-lang/rust-bindgen"
+documentation = "https://docs.rs/bindgen"
+homepage = "https://rust-lang.github.io/rust-bindgen/"
+version = "0.60.1"
+edition = "2018"
+build = "build.rs"
+# If you change this, also update README.md and msrv in .github/workflows/bindgen.yml
+rust-version = "1.57.0"
+
+include = [
+ "LICENSE",
+ "README.md",
+ "Cargo.toml",
+ "build.rs",
+ "src/*.rs",
+ "src/**/*.rs",
+]
+
+
+[lib]
+name = "bindgen"
+path = "./lib.rs"
+
+[badges]
+travis-ci = { repository = "rust-lang/rust-bindgen" }
+
+[dependencies]
+bitflags = "1.0.3"
+cexpr = "0.6"
+clang-sys = { version = "1", features = ["clang_6_0"] }
+lazycell = "1"
+lazy_static = "1"
+peeking_take_while = "0.1.2"
+quote = { version = "1", default-features = false }
+syn = { version = "1.0.99", features = ["full", "extra-traits"]}
+regex = { version = "1.5", default-features = false , features = ["std", "unicode"] }
+which = { version = "4.2.1", optional = true, default-features = false }
+shlex = "1"
+rustc-hash = "1.0.1"
+proc-macro2 = { version = "1", default-features = false }
+log = { version = "0.4", optional = true }
+
+[features]
+default = ["logging", "runtime", "which-rustfmt"]
+logging = ["log"]
+static = ["clang-sys/static"]
+runtime = ["clang-sys/runtime"]
+# Dynamically discover a `rustfmt` binary using the `which` crate
+which-rustfmt = ["which"]
+
+# These features only exist for CI testing -- don't use them if you're not hacking
+# on bindgen!
+testing_only_docs = []
+testing_only_extra_assertions = []
+testing_only_libclang_9 = []
+testing_only_libclang_5 = []
diff --git a/bindgen/build.rs b/bindgen/build.rs
new file mode 100644
index 00000000..8407ceae
--- /dev/null
+++ b/bindgen/build.rs
@@ -0,0 +1,29 @@
+use std::env;
+use std::fs::File;
+use std::io::Write;
+use std::path::{Path, PathBuf};
+
+fn main() {
+ let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
+
+ let mut dst =
+ File::create(Path::new(&out_dir).join("host-target.txt")).unwrap();
+ dst.write_all(env::var("TARGET").unwrap().as_bytes())
+ .unwrap();
+
+ // On behalf of clang_sys, rebuild ourselves if important configuration
+ // variables change, to ensure that bindings get rebuilt if the
+ // underlying libclang changes.
+ println!("cargo:rerun-if-env-changed=LLVM_CONFIG_PATH");
+ println!("cargo:rerun-if-env-changed=LIBCLANG_PATH");
+ println!("cargo:rerun-if-env-changed=LIBCLANG_STATIC_PATH");
+ println!("cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS");
+ println!(
+ "cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_{}",
+ std::env::var("TARGET").unwrap()
+ );
+ println!(
+ "cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_{}",
+ std::env::var("TARGET").unwrap().replace('-', "_")
+ );
+}
diff --git a/src/callbacks.rs b/bindgen/callbacks.rs
index d0eb4667..d0eb4667 100644
--- a/src/callbacks.rs
+++ b/bindgen/callbacks.rs
diff --git a/src/clang.rs b/bindgen/clang.rs
index 2aab9618..ea505c87 100644
--- a/src/clang.rs
+++ b/bindgen/clang.rs
@@ -12,6 +12,40 @@ use std::hash::Hasher;
use std::os::raw::{c_char, c_int, c_longlong, c_uint, c_ulong, c_ulonglong};
use std::{mem, ptr, slice};
+/// Type representing a clang attribute.
+///
+/// Values of this type can be used to check for different attributes using the `has_attrs`
+/// function.
+pub struct Attribute {
+ name: &'static [u8],
+ kind: Option<CXCursorKind>,
+ token_kind: CXTokenKind,
+}
+
+impl Attribute {
+ /// A `warn_unused_result` attribute.
+ pub const MUST_USE: Self = Self {
+ name: b"warn_unused_result",
+ // FIXME(emilio): clang-sys doesn't expose `CXCursor_WarnUnusedResultAttr` (from clang 9).
+ kind: Some(440),
+ token_kind: CXToken_Identifier,
+ };
+
+ /// A `_Noreturn` attribute.
+ pub const NO_RETURN: Self = Self {
+ name: b"_Noreturn",
+ kind: None,
+ token_kind: CXToken_Keyword,
+ };
+
+ /// A `[[noreturn]]` attribute.
+ pub const NO_RETURN_CPP: Self = Self {
+ name: b"noreturn",
+ kind: None,
+ token_kind: CXToken_Identifier,
+ };
+}
+
/// A cursor into the Clang AST, pointing to an AST node.
///
/// We call the AST node pointed to by the cursor the cursor's "referent".
@@ -638,35 +672,41 @@ impl Cursor {
}
}
- /// Whether this cursor has the `warn_unused_result` attribute.
- pub fn has_warn_unused_result_attr(&self) -> bool {
- // FIXME(emilio): clang-sys doesn't expose this (from clang 9).
- const CXCursor_WarnUnusedResultAttr: CXCursorKind = 440;
- self.has_attr("warn_unused_result", Some(CXCursor_WarnUnusedResultAttr))
- }
+ /// Does this cursor have the given attributes?
+ pub fn has_attrs<const N: usize>(
+ &self,
+ attrs: &[Attribute; N],
+ ) -> [bool; N] {
+ let mut found_attrs = [false; N];
+ let mut found_count = 0;
- /// Does this cursor have the given attribute?
- ///
- /// `name` is checked against unexposed attributes.
- fn has_attr(&self, name: &str, clang_kind: Option<CXCursorKind>) -> bool {
- let mut found_attr = false;
self.visit(|cur| {
let kind = cur.kind();
- found_attr = clang_kind.map_or(false, |k| k == kind) ||
- (kind == CXCursor_UnexposedAttr &&
- cur.tokens().iter().any(|t| {
- t.kind == CXToken_Identifier &&
- t.spelling() == name.as_bytes()
- }));
-
- if found_attr {
- CXChildVisit_Break
- } else {
- CXChildVisit_Continue
+ for (idx, attr) in attrs.iter().enumerate() {
+ let found_attr = &mut found_attrs[idx];
+ if !*found_attr {
+ // `attr.name` and` attr.token_kind` are checked against unexposed attributes only.
+ if attr.kind.map_or(false, |k| k == kind) ||
+ (kind == CXCursor_UnexposedAttr &&
+ cur.tokens().iter().any(|t| {
+ t.kind == attr.token_kind &&
+ t.spelling() == attr.name
+ }))
+ {
+ *found_attr = true;
+ found_count += 1;
+
+ if found_count == N {
+ return CXChildVisit_Break;
+ }
+ }
+ }
}
+
+ CXChildVisit_Continue
});
- found_attr
+ found_attrs
}
/// Given that this cursor's referent is a `typedef`, get the `Type` that is
diff --git a/src/codegen/bitfield_unit.rs b/bindgen/codegen/bitfield_unit.rs
index 73ec2bd6..73ec2bd6 100644
--- a/src/codegen/bitfield_unit.rs
+++ b/bindgen/codegen/bitfield_unit.rs
diff --git a/src/codegen/bitfield_unit_tests.rs b/bindgen/codegen/bitfield_unit_tests.rs
index e143e4ea..e143e4ea 100644
--- a/src/codegen/bitfield_unit_tests.rs
+++ b/bindgen/codegen/bitfield_unit_tests.rs
diff --git a/src/codegen/dyngen.rs b/bindgen/codegen/dyngen.rs
index 26cfe5cc..26cfe5cc 100644
--- a/src/codegen/dyngen.rs
+++ b/bindgen/codegen/dyngen.rs
diff --git a/src/codegen/error.rs b/bindgen/codegen/error.rs
index c1bcf4e1..c1bcf4e1 100644
--- a/src/codegen/error.rs
+++ b/bindgen/codegen/error.rs
diff --git a/src/codegen/helpers.rs b/bindgen/codegen/helpers.rs
index 75c169c6..5bf36acb 100644
--- a/src/codegen/helpers.rs
+++ b/bindgen/codegen/helpers.rs
@@ -166,9 +166,19 @@ pub mod ast_ty {
#prefix::#ident
}
}
- None => quote! {
- ::std::os::raw::#ident
- },
+ None => {
+ if ctx.options().use_core &&
+ ctx.options().rust_features().core_ffi_c
+ {
+ quote! {
+ ::core::ffi::#ident
+ }
+ } else {
+ quote! {
+ ::std::os::raw::#ident
+ }
+ }
+ }
}
}
diff --git a/src/codegen/impl_debug.rs b/bindgen/codegen/impl_debug.rs
index 0e2cd33a..0e2cd33a 100644
--- a/src/codegen/impl_debug.rs
+++ b/bindgen/codegen/impl_debug.rs
diff --git a/src/codegen/impl_partialeq.rs b/bindgen/codegen/impl_partialeq.rs
index 960306ff..960306ff 100644
--- a/src/codegen/impl_partialeq.rs
+++ b/bindgen/codegen/impl_partialeq.rs
diff --git a/src/codegen/mod.rs b/bindgen/codegen/mod.rs
index ca4cbf23..7e0d7aa0 100644
--- a/src/codegen/mod.rs
+++ b/bindgen/codegen/mod.rs
@@ -3,6 +3,7 @@ mod error;
mod helpers;
mod impl_debug;
mod impl_partialeq;
+mod postprocessing;
pub mod struct_layout;
#[cfg(test)]
@@ -836,9 +837,34 @@ impl CodeGenerator for Type {
}
// If this is a known named type, disallow generating anything
- // for it too.
+ // for it too. If size_t -> usize conversions are enabled, we
+ // need to check that these conversions are permissible, but
+ // nothing needs to be generated, still.
let spelling = self.name().expect("Unnamed alias?");
if utils::type_from_named(ctx, spelling).is_some() {
+ if let "size_t" | "ssize_t" = spelling {
+ let layout = inner_item
+ .kind()
+ .expect_type()
+ .layout(ctx)
+ .expect("No layout?");
+ assert_eq!(
+ layout.size,
+ ctx.target_pointer_size(),
+ "Target platform requires `--no-size_t-is-usize`. The size of `{}` ({}) does not match the target pointer size ({})",
+ spelling,
+ layout.size,
+ ctx.target_pointer_size(),
+ );
+ assert_eq!(
+ layout.align,
+ ctx.target_pointer_size(),
+ "Target platform requires `--no-size_t-is-usize`. The alignment of `{}` ({}) does not match the target pointer size ({})",
+ spelling,
+ layout.align,
+ ctx.target_pointer_size(),
+ );
+ }
return;
}
@@ -1282,6 +1308,35 @@ impl<'a> FieldCodegen<'a> for Field {
}
}
+fn wrap_union_field_if_needed(
+ ctx: &BindgenContext,
+ struct_layout: &StructLayoutTracker,
+ ty: proc_macro2::TokenStream,
+ result: &mut CodegenResult,
+) -> proc_macro2::TokenStream {
+ if struct_layout.is_rust_union() {
+ if struct_layout.can_copy_union_fields() {
+ ty
+ } else {
+ let prefix = ctx.trait_prefix();
+ quote! {
+ ::#prefix::mem::ManuallyDrop<#ty>
+ }
+ }
+ } else {
+ result.saw_bindgen_union();
+ if ctx.options().enable_cxx_namespaces {
+ quote! {
+ root::__BindgenUnionField<#ty>
+ }
+ } else {
+ quote! {
+ __BindgenUnionField<#ty>
+ }
+ }
+ }
+}
+
impl<'a> FieldCodegen<'a> for FieldData {
type Extra = ();
@@ -1312,17 +1367,8 @@ impl<'a> FieldCodegen<'a> for FieldData {
ty.append_implicit_template_params(ctx, field_item);
// NB: If supported, we use proper `union` types.
- let ty = if parent.is_union() && !struct_layout.is_rust_union() {
- result.saw_bindgen_union();
- if ctx.options().enable_cxx_namespaces {
- quote! {
- root::__BindgenUnionField<#ty>
- }
- } else {
- quote! {
- __BindgenUnionField<#ty>
- }
- }
+ let ty = if parent.is_union() {
+ wrap_union_field_if_needed(ctx, struct_layout, ty, result)
} else if let Some(item) = field_ty.is_incomplete_array(ctx) {
result.saw_incomplete_array();
@@ -1523,21 +1569,15 @@ impl<'a> FieldCodegen<'a> for BitfieldUnit {
let layout = self.layout();
let unit_field_ty = helpers::bitfield_unit(ctx, layout);
- let field_ty = {
- if parent.is_union() && !struct_layout.is_rust_union() {
- result.saw_bindgen_union();
- if ctx.options().enable_cxx_namespaces {
- quote! {
- root::__BindgenUnionField<#unit_field_ty>
- }
- } else {
- quote! {
- __BindgenUnionField<#unit_field_ty>
- }
- }
- } else {
- unit_field_ty.clone()
- }
+ let field_ty = if parent.is_union() {
+ wrap_union_field_if_needed(
+ ctx,
+ struct_layout,
+ unit_field_ty.clone(),
+ result,
+ )
+ } else {
+ unit_field_ty.clone()
};
{
@@ -2577,6 +2617,8 @@ pub enum EnumVariation {
NewType {
/// Indicates whether the newtype will have bitwise operators
is_bitfield: bool,
+ /// Indicates whether the variants will be represented as global constants
+ is_global: bool,
},
/// The code for this enum will use consts
Consts,
@@ -2614,16 +2656,26 @@ impl std::str::FromStr for EnumVariation {
"rust_non_exhaustive" => Ok(EnumVariation::Rust {
non_exhaustive: true,
}),
- "bitfield" => Ok(EnumVariation::NewType { is_bitfield: true }),
+ "bitfield" => Ok(EnumVariation::NewType {
+ is_bitfield: true,
+ is_global: false,
+ }),
"consts" => Ok(EnumVariation::Consts),
"moduleconsts" => Ok(EnumVariation::ModuleConsts),
- "newtype" => Ok(EnumVariation::NewType { is_bitfield: false }),
+ "newtype" => Ok(EnumVariation::NewType {
+ is_bitfield: false,
+ is_global: false,
+ }),
+ "newtype_global" => Ok(EnumVariation::NewType {
+ is_bitfield: false,
+ is_global: true,
+ }),
_ => Err(std::io::Error::new(
std::io::ErrorKind::InvalidInput,
concat!(
"Got an invalid EnumVariation. Accepted values ",
"are 'rust', 'rust_non_exhaustive', 'bitfield', 'consts',",
- "'moduleconsts', and 'newtype'."
+ "'moduleconsts', 'newtype' and 'newtype_global'."
),
)),
}
@@ -2644,6 +2696,7 @@ enum EnumBuilder<'a> {
canonical_name: &'a str,
tokens: proc_macro2::TokenStream,
is_bitfield: bool,
+ is_global: bool,
},
Consts {
variants: Vec<proc_macro2::TokenStream>,
@@ -2684,7 +2737,10 @@ impl<'a> EnumBuilder<'a> {
let ident = Ident::new(name, Span::call_site());
match enum_variation {
- EnumVariation::NewType { is_bitfield } => EnumBuilder::NewType {
+ EnumVariation::NewType {
+ is_bitfield,
+ is_global,
+ } => EnumBuilder::NewType {
codegen_depth: enum_codegen_depth,
canonical_name: name,
tokens: quote! {
@@ -2692,6 +2748,7 @@ impl<'a> EnumBuilder<'a> {
pub struct #ident (pub #repr);
},
is_bitfield,
+ is_global,
},
EnumVariation::Rust { .. } => {
@@ -2792,11 +2849,18 @@ impl<'a> EnumBuilder<'a> {
}
}
- EnumBuilder::NewType { canonical_name, .. } => {
- if ctx.options().rust_features().associated_const && is_ty_named
+ EnumBuilder::NewType {
+ canonical_name,
+ is_global,
+ ..
+ } => {
+ if ctx.options().rust_features().associated_const &&
+ is_ty_named &&
+ !is_global
{
let enum_ident = ctx.rust_ident(canonical_name);
let variant_ident = ctx.rust_ident(variant_name);
+
result.push(quote! {
impl #enum_ident {
#doc
@@ -3374,6 +3438,52 @@ impl std::str::FromStr for AliasVariation {
}
}
+/// Enum for how non-Copy unions should be translated.
+#[derive(Copy, Clone, PartialEq, Eq, Debug)]
+pub enum NonCopyUnionStyle {
+ /// Wrap members in a type generated by bindgen.
+ BindgenWrapper,
+ /// Wrap members in [`::core::mem::ManuallyDrop`].
+ ///
+ /// Note: `ManuallyDrop` was stabilized in Rust 1.20.0, do not use it if your
+ /// MSRV is lower.
+ ManuallyDrop,
+}
+
+impl NonCopyUnionStyle {
+ /// Convert an `NonCopyUnionStyle` to its str representation.
+ pub fn as_str(&self) -> &'static str {
+ match self {
+ Self::BindgenWrapper => "bindgen_wrapper",
+ Self::ManuallyDrop => "manually_drop",
+ }
+ }
+}
+
+impl Default for NonCopyUnionStyle {
+ fn default() -> Self {
+ Self::BindgenWrapper
+ }
+}
+
+impl std::str::FromStr for NonCopyUnionStyle {
+ type Err = std::io::Error;
+
+ fn from_str(s: &str) -> Result<Self, Self::Err> {
+ match s {
+ "bindgen_wrapper" => Ok(Self::BindgenWrapper),
+ "manually_drop" => Ok(Self::ManuallyDrop),
+ _ => Err(std::io::Error::new(
+ std::io::ErrorKind::InvalidInput,
+ concat!(
+ "Got an invalid NonCopyUnionStyle. Accepted values ",
+ "are 'bindgen_wrapper' and 'manually_drop'"
+ ),
+ )),
+ }
+ }
+}
+
/// Fallible conversion to an opaque blob.
///
/// Implementors of this trait should provide the `try_get_layout` method to
@@ -4081,9 +4191,19 @@ impl CodeGenerator for Function {
fn objc_method_codegen(
ctx: &BindgenContext,
method: &ObjCMethod,
+ methods: &mut Vec<proc_macro2::TokenStream>,
class_name: Option<&str>,
+ rust_class_name: &str,
prefix: &str,
-) -> proc_macro2::TokenStream {
+) {
+ // This would ideally resolve the method into an Item, and use
+ // Item::process_before_codegen; however, ObjC methods are not currently
+ // made into function items.
+ let name = format!("{}::{}{}", rust_class_name, prefix, method.rust_name());
+ if ctx.options().blocklisted_items.matches(name) {
+ return;
+ }
+
let signature = method.signature();
let fn_args = utils::fnsig_arguments(ctx, signature);
let fn_ret = utils::fnsig_return_ty(ctx, signature);
@@ -4119,11 +4239,11 @@ fn objc_method_codegen(
let method_name =
ctx.rust_ident(format!("{}{}", prefix, method.rust_name()));
- quote! {
+ methods.push(quote! {
unsafe fn #method_name #sig where <Self as std::ops::Deref>::Target: objc::Message + Sized {
#body
}
- }
+ });
}
impl CodeGenerator for ObjCInterface {
@@ -4139,10 +4259,17 @@ impl CodeGenerator for ObjCInterface {
debug_assert!(item.is_enabled_for_codegen(ctx));
let mut impl_items = vec![];
+ let rust_class_name = item.path_for_allowlisting(ctx)[1..].join("::");
for method in self.methods() {
- let impl_item = objc_method_codegen(ctx, method, None, "");
- impl_items.push(impl_item);
+ objc_method_codegen(
+ ctx,
+ method,
+ &mut impl_items,
+ None,
+ &rust_class_name,
+ "",
+ );
}
for class_method in self.class_methods() {
@@ -4152,13 +4279,14 @@ impl CodeGenerator for ObjCInterface {
.map(|m| m.rust_name())
.any(|x| x == class_method.rust_name());
let prefix = if ambiquity { "class_" } else { "" };
- let impl_item = objc_method_codegen(
+ objc_method_codegen(
ctx,
class_method,
+ &mut impl_items,
Some(self.name()),
+ &rust_class_name,
prefix,
);
- impl_items.push(impl_item);
}
let trait_name = ctx.rust_ident(self.rust_name());
@@ -4330,7 +4458,7 @@ impl CodeGenerator for ObjCInterface {
pub(crate) fn codegen(
context: BindgenContext,
-) -> (Vec<proc_macro2::TokenStream>, BindgenOptions, Vec<String>) {
+) -> (proc_macro2::TokenStream, BindgenOptions, Vec<String>) {
context.gen(|context| {
let _t = context.timer("codegen");
let counter = Cell::new(0);
@@ -4380,7 +4508,7 @@ pub(crate) fn codegen(
result.push(dynamic_items_tokens);
}
- result.items
+ postprocessing::postprocessing(result.items, context.options())
})
}
@@ -4705,6 +4833,10 @@ pub mod utils {
ctx: &BindgenContext,
sig: &FunctionSig,
) -> proc_macro2::TokenStream {
+ if sig.is_divergent() {
+ return quote! { -> ! };
+ }
+
let return_item = ctx.resolve_item(sig.return_type());
if let TypeKind::Void = *return_item.kind().expect_type().kind() {
quote! {}
diff --git a/bindgen/codegen/postprocessing/merge_extern_blocks.rs b/bindgen/codegen/postprocessing/merge_extern_blocks.rs
new file mode 100644
index 00000000..2b761494
--- /dev/null
+++ b/bindgen/codegen/postprocessing/merge_extern_blocks.rs
@@ -0,0 +1,46 @@
+use syn::{Item, ItemForeignMod};
+
+pub(super) fn merge_extern_blocks(items: &mut Vec<Item>) {
+ // Keep all the extern blocks in a different `Vec` for faster search.
+ let mut foreign_mods = Vec::<ItemForeignMod>::new();
+
+ for item in std::mem::take(items) {
+ match item {
+ Item::ForeignMod(ItemForeignMod {
+ attrs,
+ abi,
+ brace_token,
+ items: foreign_items,
+ }) => {
+ let mut exists = false;
+ for foreign_mod in &mut foreign_mods {
+ // Check if there is a extern block with the same ABI and
+ // attributes.
+ if foreign_mod.attrs == attrs && foreign_mod.abi == abi {
+ // Merge the items of the two blocks.
+ foreign_mod.items.extend_from_slice(&foreign_items);
+ exists = true;
+ break;
+ }
+ }
+ // If no existing extern block had the same ABI and attributes, store
+ // it.
+ if !exists {
+ foreign_mods.push(ItemForeignMod {
+ attrs,
+ abi,
+ brace_token,
+ items: foreign_items,
+ });
+ }
+ }
+ // If the item is not an extern block, we don't have to do anything.
+ _ => items.push(item),
+ }
+ }
+
+ // Move all the extern blocks alongside the rest of the items.
+ for foreign_mod in foreign_mods {
+ items.push(Item::ForeignMod(foreign_mod));
+ }
+}
diff --git a/bindgen/codegen/postprocessing/mod.rs b/bindgen/codegen/postprocessing/mod.rs
new file mode 100644
index 00000000..c6612f2b
--- /dev/null
+++ b/bindgen/codegen/postprocessing/mod.rs
@@ -0,0 +1,66 @@
+use proc_macro2::TokenStream;
+use quote::ToTokens;
+use syn::Item;
+
+use crate::BindgenOptions;
+
+mod merge_extern_blocks;
+mod sort_semantically;
+
+use merge_extern_blocks::merge_extern_blocks;
+use sort_semantically::sort_semantically;
+
+struct PostProcessingPass {
+ should_run: fn(&BindgenOptions) -> bool,
+ run: fn(&mut Vec<Item>),
+}
+
+// TODO: This can be a const fn when mutable references are allowed in const
+// context.
+macro_rules! pass {
+ ($pass:ident) => {
+ PostProcessingPass {
+ should_run: |options| options.$pass,
+ run: |items| $pass(items),
+ }
+ };
+}
+
+const PASSES: &[PostProcessingPass] =
+ &[pass!(merge_extern_blocks), pass!(sort_semantically)];
+
+pub(crate) fn postprocessing(
+ items: Vec<TokenStream>,
+ options: &BindgenOptions,
+) -> TokenStream {
+ let require_syn = PASSES.iter().any(|pass| (pass.should_run)(options));
+ if !require_syn {
+ return items.into_iter().collect();
+ }
+ let module_wrapped_tokens =
+ quote!(mod wrapper_for_sorting_hack { #( #items )* });
+
+ // This syn business is a hack, for now. This means that we are re-parsing already
+ // generated code using `syn` (as opposed to `quote`) because `syn` provides us more
+ // control over the elements.
+ // One caveat is that some of the items coming from `quote`d output might have
+ // multiple items within them. Hence, we have to wrap the incoming in a `mod`.
+ // The two `unwrap`s here are deliberate because
+ // The first one won't panic because we build the `mod` and know it is there
+ // The second one won't panic because we know original output has something in
+ // it already.
+ let (_, mut items) = syn::parse2::<syn::ItemMod>(module_wrapped_tokens)
+ .unwrap()
+ .content
+ .unwrap();
+
+ for pass in PASSES {
+ if (pass.should_run)(options) {
+ (pass.run)(&mut items);
+ }
+ }
+
+ let synful_items = items.into_iter().map(|item| item.into_token_stream());
+
+ quote! { #( #synful_items )* }
+}
diff --git a/bindgen/codegen/postprocessing/sort_semantically.rs b/bindgen/codegen/postprocessing/sort_semantically.rs
new file mode 100644
index 00000000..96596cb0
--- /dev/null
+++ b/bindgen/codegen/postprocessing/sort_semantically.rs
@@ -0,0 +1,24 @@
+use syn::Item;
+
+pub(super) fn sort_semantically(items: &mut [Item]) {
+ items.sort_by_key(|item| match item {
+ Item::Type(_) => 0,
+ Item::Struct(_) => 1,
+ Item::Const(_) => 2,
+ Item::Fn(_) => 3,
+ Item::Enum(_) => 4,
+ Item::Union(_) => 5,
+ Item::Static(_) => 6,
+ Item::Trait(_) => 7,
+ Item::TraitAlias(_) => 8,
+ Item::Impl(_) => 9,
+ Item::Mod(_) => 10,
+ Item::Use(_) => 11,
+ Item::Verbatim(_) => 12,
+ Item::ExternCrate(_) => 13,
+ Item::ForeignMod(_) => 14,
+ Item::Macro(_) => 15,
+ Item::Macro2(_) => 16,
+ _ => 18,
+ });
+}
diff --git a/src/codegen/struct_layout.rs b/bindgen/codegen/struct_layout.rs
index 657be0b4..ddac1b0a 100644
--- a/src/codegen/struct_layout.rs
+++ b/bindgen/codegen/struct_layout.rs
@@ -20,6 +20,7 @@ pub struct StructLayoutTracker<'a> {
is_packed: bool,
known_type_layout: Option<Layout>,
is_rust_union: bool,
+ can_copy_union_fields: bool,
latest_offset: usize,
padding_count: usize,
latest_field_layout: Option<Layout>,
@@ -90,8 +91,8 @@ impl<'a> StructLayoutTracker<'a> {
) -> Self {
let known_type_layout = ty.layout(ctx);
let is_packed = comp.is_packed(ctx, known_type_layout.as_ref());
- let is_rust_union = comp.is_union() &&
- comp.can_be_rust_union(ctx, known_type_layout.as_ref());
+ let (is_rust_union, can_copy_union_fields) =
+ comp.is_rust_union(ctx, known_type_layout.as_ref(), name);
StructLayoutTracker {
name,
ctx,
@@ -99,6 +100,7 @@ impl<'a> StructLayoutTracker<'a> {
is_packed,
known_type_layout,
is_rust_union,
+ can_copy_union_fields,
latest_offset: 0,
padding_count: 0,
latest_field_layout: None,
@@ -107,6 +109,10 @@ impl<'a> StructLayoutTracker<'a> {
}
}
+ pub fn can_copy_union_fields(&self) -> bool {
+ self.can_copy_union_fields
+ }
+
pub fn is_rust_union(&self) -> bool {
self.is_rust_union
}
diff --git a/csmith-fuzzing/README.md b/bindgen/csmith-fuzzing/README.md
index cdd6d086..cdd6d086 100644
--- a/csmith-fuzzing/README.md
+++ b/bindgen/csmith-fuzzing/README.md
diff --git a/csmith-fuzzing/csmith.h b/bindgen/csmith-fuzzing/csmith.h
index faaef5b1..faaef5b1 100644
--- a/csmith-fuzzing/csmith.h
+++ b/bindgen/csmith-fuzzing/csmith.h
diff --git a/csmith-fuzzing/driver.py b/bindgen/csmith-fuzzing/driver.py
index 1d3af540..1d3af540 100755
--- a/csmith-fuzzing/driver.py
+++ b/bindgen/csmith-fuzzing/driver.py
diff --git a/csmith-fuzzing/predicate.py b/bindgen/csmith-fuzzing/predicate.py
index 6ca50476..6ca50476 100755
--- a/csmith-fuzzing/predicate.py
+++ b/bindgen/csmith-fuzzing/predicate.py
diff --git a/src/deps.rs b/bindgen/deps.rs
index 479c396c..987225b2 100644
--- a/src/deps.rs
+++ b/bindgen/deps.rs
@@ -1,7 +1,7 @@
/// Generating build depfiles from parsed bindings.
use std::{collections::BTreeSet, path::PathBuf};
-#[derive(Debug)]
+#[derive(Clone, Debug)]
pub(crate) struct DepfileSpec {
pub output_module: String,
pub depfile_path: PathBuf,
diff --git a/src/extra_assertions.rs b/bindgen/extra_assertions.rs
index 0888bf39..0888bf39 100644
--- a/src/extra_assertions.rs
+++ b/bindgen/extra_assertions.rs
diff --git a/src/features.rs b/bindgen/features.rs
index 59467703..4f05b9eb 100644
--- a/src/features.rs
+++ b/bindgen/features.rs
@@ -127,6 +127,9 @@ macro_rules! rust_target_base {
/// Rust stable 1.47
/// * `larger_arrays` ([Tracking issue](https://github.com/rust-lang/rust/pull/74060))
=> Stable_1_47 => 1.47;
+ /// Rust stable 1.64
+ /// * `core_ffi_c` ([Tracking issue](https://github.com/rust-lang/rust/issues/94501))
+ => Stable_1_64 => 1.64;
/// Nightly rust
/// * `thiscall` calling convention ([Tracking issue](https://github.com/rust-lang/rust/issues/42202))
/// * `vectorcall` calling convention (no tracking issue)
@@ -139,7 +142,7 @@ rust_target_base!(rust_target_def);
rust_target_base!(rust_target_values_def);
/// Latest stable release of Rust
-pub const LATEST_STABLE_RUST: RustTarget = RustTarget::Stable_1_47;
+pub const LATEST_STABLE_RUST: RustTarget = RustTarget::Stable_1_64;
/// Create RustFeatures struct definition, new(), and a getter for each field
macro_rules! rust_feature_def {
@@ -233,6 +236,9 @@ rust_feature_def!(
Stable_1_47 {
=> larger_arrays;
}
+ Stable_1_64 {
+ => core_ffi_c;
+ }
Nightly {
=> thiscall_abi;
=> vectorcall_abi;
diff --git a/src/ir/analysis/derive.rs b/bindgen/ir/analysis/derive.rs
index d888cd55..d888cd55 100644
--- a/src/ir/analysis/derive.rs
+++ b/bindgen/ir/analysis/derive.rs
diff --git a/src/ir/analysis/has_destructor.rs b/bindgen/ir/analysis/has_destructor.rs
index 74fd73d1..74fd73d1 100644
--- a/src/ir/analysis/has_destructor.rs
+++ b/bindgen/ir/analysis/has_destructor.rs
diff --git a/src/ir/analysis/has_float.rs b/bindgen/ir/analysis/has_float.rs
index bbf2126f..bbf2126f 100644
--- a/src/ir/analysis/has_float.rs
+++ b/bindgen/ir/analysis/has_float.rs
diff --git a/src/ir/analysis/has_type_param_in_array.rs b/bindgen/ir/analysis/has_type_param_in_array.rs
index aa523047..aa523047 100644
--- a/src/ir/analysis/has_type_param_in_array.rs
+++ b/bindgen/ir/analysis/has_type_param_in_array.rs
diff --git a/src/ir/analysis/has_vtable.rs b/bindgen/ir/analysis/has_vtable.rs
index 8ac47a65..8ac47a65 100644
--- a/src/ir/analysis/has_vtable.rs
+++ b/bindgen/ir/analysis/has_vtable.rs
diff --git a/src/ir/analysis/mod.rs b/bindgen/ir/analysis/mod.rs
index 40dfc6d6..40dfc6d6 100644
--- a/src/ir/analysis/mod.rs
+++ b/bindgen/ir/analysis/mod.rs
diff --git a/src/ir/analysis/sizedness.rs b/bindgen/ir/analysis/sizedness.rs
index 251c3747..251c3747 100644
--- a/src/ir/analysis/sizedness.rs
+++ b/bindgen/ir/analysis/sizedness.rs
diff --git a/src/ir/analysis/template_params.rs b/bindgen/ir/analysis/template_params.rs
index e88b774d..e88b774d 100644
--- a/src/ir/analysis/template_params.rs
+++ b/bindgen/ir/analysis/template_params.rs
diff --git a/src/ir/annotations.rs b/bindgen/ir/annotations.rs
index 288c11eb..288c11eb 100644
--- a/src/ir/annotations.rs
+++ b/bindgen/ir/annotations.rs
diff --git a/src/ir/comment.rs b/bindgen/ir/comment.rs
index c96e3ebb..c96e3ebb 100644
--- a/src/ir/comment.rs
+++ b/bindgen/ir/comment.rs
diff --git a/src/ir/comp.rs b/bindgen/ir/comp.rs
index fdf6a963..f44c5d67 100644
--- a/src/ir/comp.rs
+++ b/bindgen/ir/comp.rs
@@ -14,6 +14,7 @@ use crate::codegen::struct_layout::{align_to, bytes_from_bits_pow2};
use crate::ir::derive::CanDeriveCopy;
use crate::parse::{ClangItemParser, ParseError};
use crate::HashMap;
+use crate::NonCopyUnionStyle;
use peeking_take_while::PeekableExt;
use std::cmp;
use std::io;
@@ -1680,21 +1681,37 @@ impl CompInfo {
///
/// Requirements:
/// 1. Current RustTarget allows for `untagged_union`
- /// 2. Each field can derive `Copy`
+ /// 2. Each field can derive `Copy` or we use ManuallyDrop.
/// 3. It's not zero-sized.
- pub fn can_be_rust_union(
+ ///
+ /// Second boolean returns whether all fields can be copied (and thus
+ /// ManuallyDrop is not needed).
+ pub fn is_rust_union(
&self,
ctx: &BindgenContext,
layout: Option<&Layout>,
- ) -> bool {
+ name: &str,
+ ) -> (bool, bool) {
+ if !self.is_union() {
+ return (false, false);
+ }
+
if !ctx.options().rust_features().untagged_union {
- return false;
+ return (false, false);
}
if self.is_forward_declaration() {
- return false;
+ return (false, false);
}
+ let union_style = if ctx.options().bindgen_wrapper_union.matches(name) {
+ NonCopyUnionStyle::BindgenWrapper
+ } else if ctx.options().manually_drop_union.matches(name) {
+ NonCopyUnionStyle::ManuallyDrop
+ } else {
+ ctx.options().default_non_copy_union_style
+ };
+
let all_can_copy = self.fields().iter().all(|f| match *f {
Field::DataMember(ref field_data) => {
field_data.ty().can_derive_copy(ctx)
@@ -1702,15 +1719,15 @@ impl CompInfo {
Field::Bitfields(_) => true,
});
- if !all_can_copy {
- return false;
+ if !all_can_copy && union_style == NonCopyUnionStyle::BindgenWrapper {
+ return (false, false);
}
if layout.map_or(false, |l| l.size == 0) {
- return false;
+ return (false, false);
}
- true
+ (true, all_can_copy)
}
}
diff --git a/src/ir/context.rs b/bindgen/ir/context.rs
index 7837e594..e2a13b8d 100644
--- a/src/ir/context.rs
+++ b/bindgen/ir/context.rs
@@ -505,7 +505,10 @@ impl<'ctx> AllowlistedItemsTraversal<'ctx> {
impl BindgenContext {
/// Construct the context for the given `options`.
- pub(crate) fn new(options: BindgenOptions) -> Self {
+ pub(crate) fn new(
+ options: BindgenOptions,
+ input_unsaved_files: &[clang::UnsavedFile],
+ ) -> Self {
// TODO(emilio): Use the CXTargetInfo here when available.
//
// see: https://reviews.llvm.org/D32389
@@ -522,7 +525,7 @@ impl BindgenContext {
&index,
"",
&options.clang_args,
- &options.input_unsaved_files,
+ input_unsaved_files,
parse_options,
).expect("libclang error; possible causes include:
- Invalid flag syntax
@@ -2104,13 +2107,18 @@ If you encounter an error missing from this list, please file an issue or a PR!"
}
let mut kind = ModuleKind::Normal;
- let mut found_namespace_keyword = false;
+ let mut looking_for_name = false;
for token in cursor.tokens().iter() {
match token.spelling() {
b"inline" => {
- assert!(!found_namespace_keyword);
- assert!(kind != ModuleKind::Inline);
+ debug_assert!(
+ kind != ModuleKind::Inline,
+ "Multiple inline keywords?"
+ );
kind = ModuleKind::Inline;
+ // When hitting a nested inline namespace we get a spelling
+ // that looks like ["inline", "foo"]. Deal with it properly.
+ looking_for_name = true;
}
// The double colon allows us to handle nested namespaces like
// namespace foo::bar { }
@@ -2119,45 +2127,39 @@ If you encounter an error missing from this list, please file an issue or a PR!"
// but the tokenization of the second begins with the double
// colon. That's ok, so we only need to handle the weird
// tokenization here.
- //
- // Fortunately enough, inline nested namespace specifiers aren't
- // a thing, and are invalid C++ :)
b"namespace" | b"::" => {
- found_namespace_keyword = true;
+ looking_for_name = true;
}
b"{" => {
- assert!(found_namespace_keyword);
+ // This should be an anonymous namespace.
+ assert!(looking_for_name);
break;
}
- name if found_namespace_keyword => {
- if module_name.is_none() {
- module_name =
- Some(String::from_utf8_lossy(name).into_owned());
+ name => {
+ if looking_for_name {
+ if module_name.is_none() {
+ module_name = Some(
+ String::from_utf8_lossy(name).into_owned(),
+ );
+ }
+ break;
+ } else {
+ // This is _likely_, but not certainly, a macro that's
+ // been placed just before the namespace keyword.
+ // Unfortunately, clang tokens don't let us easily see
+ // through the ifdef tokens, so we don't know what this
+ // token should really be. Instead of panicking though,
+ // we warn the user that we assumed the token was blank,
+ // and then move on.
+ //
+ // See also https://github.com/rust-lang/rust-bindgen/issues/1676.
+ warn!(
+ "Ignored unknown namespace prefix '{}' at {:?} in {:?}",
+ String::from_utf8_lossy(name),
+ token,
+ cursor
+ );
}
- break;
- }
- spelling if !found_namespace_keyword => {
- // This is _likely_, but not certainly, a macro that's been placed just before
- // the namespace keyword. Unfortunately, clang tokens don't let us easily see
- // through the ifdef tokens, so we don't know what this token should really be.
- // Instead of panicking though, we warn the user that we assumed the token was
- // blank, and then move on.
- //
- // See also https://github.com/rust-lang/rust-bindgen/issues/1676.
- warn!(
- "Ignored unknown namespace prefix '{}' at {:?} in {:?}",
- String::from_utf8_lossy(spelling),
- token,
- cursor
- );
- }
- spelling => {
- panic!(
- "Unknown token '{}' while processing namespace at {:?} in {:?}",
- String::from_utf8_lossy(spelling),
- token,
- cursor
- );
}
}
}
@@ -2250,24 +2252,27 @@ If you encounter an error missing from this list, please file an issue or a PR!"
// Sized integer types from <stdint.h> get mapped to Rust primitive
// types regardless of whether they are blocklisted, so ensure that
// standard traits are considered derivable for them too.
- None => match name {
- "int8_t" | "uint8_t" | "int16_t" | "uint16_t" |
- "int32_t" | "uint32_t" | "int64_t" |
- "uint64_t" | "uintptr_t" | "intptr_t" |
- "ptrdiff_t" => Some(CanDerive::Yes),
- "size_t" if self.options.size_t_is_usize => {
- Some(CanDerive::Yes)
- }
- "ssize_t" if self.options.size_t_is_usize => {
- Some(CanDerive::Yes)
- }
- _ => Some(CanDerive::No),
- },
+ None => Some(if self.is_stdint_type(name) {
+ CanDerive::Yes
+ } else {
+ CanDerive::No
+ }),
})
.unwrap_or(CanDerive::No)
})
}
+ /// Is the given type a type from <stdint.h> that corresponds to a Rust primitive type?
+ pub fn is_stdint_type(&self, name: &str) -> bool {
+ match name {
+ "int8_t" | "uint8_t" | "int16_t" | "uint16_t" | "int32_t" |
+ "uint32_t" | "int64_t" | "uint64_t" | "uintptr_t" |
+ "intptr_t" | "ptrdiff_t" => true,
+ "size_t" | "ssize_t" => self.options.size_t_is_usize,
+ _ => false,
+ }
+ }
+
/// Get a reference to the set of items we should generate.
pub fn codegen_items(&self) -> &ItemSet {
assert!(self.in_codegen_phase());
@@ -2355,7 +2360,10 @@ If you encounter an error missing from this list, please file an issue or a PR!"
TypeKind::Opaque |
TypeKind::TypeParam => return true,
_ => {}
- };
+ }
+ if self.is_stdint_type(&name) {
+ return true;
+ }
}
// Unnamed top-level enums are special and we
diff --git a/src/ir/derive.rs b/bindgen/ir/derive.rs
index 594ce2ab..594ce2ab 100644
--- a/src/ir/derive.rs
+++ b/bindgen/ir/derive.rs
diff --git a/src/ir/dot.rs b/bindgen/ir/dot.rs
index f7d07f19..f7d07f19 100644
--- a/src/ir/dot.rs
+++ b/bindgen/ir/dot.rs
diff --git a/src/ir/enum_ty.rs b/bindgen/ir/enum_ty.rs
index 97455c91..123d1d79 100644
--- a/src/ir/enum_ty.rs
+++ b/bindgen/ir/enum_ty.rs
@@ -165,7 +165,7 @@ impl Enum {
return false;
}
- self.variants().iter().any(|v| enums.matches(&v.name()))
+ self.variants().iter().any(|v| enums.matches(v.name()))
}
/// Returns the final representation of the enum.
@@ -187,10 +187,25 @@ impl Enum {
&ctx.options().bitfield_enums,
item,
) {
- EnumVariation::NewType { is_bitfield: true }
+ EnumVariation::NewType {
+ is_bitfield: true,
+ is_global: false,
+ }
} else if self.is_matching_enum(ctx, &ctx.options().newtype_enums, item)
{
- EnumVariation::NewType { is_bitfield: false }
+ EnumVariation::NewType {
+ is_bitfield: false,
+ is_global: false,
+ }
+ } else if self.is_matching_enum(
+ ctx,
+ &ctx.options().newtype_global_enums,
+ item,
+ ) {
+ EnumVariation::NewType {
+ is_bitfield: false,
+ is_global: true,
+ }
} else if self.is_matching_enum(
ctx,
&ctx.options().rustified_enums,
diff --git a/src/ir/function.rs b/bindgen/ir/function.rs
index 89905351..c160ed81 100644
--- a/src/ir/function.rs
+++ b/bindgen/ir/function.rs
@@ -6,7 +6,7 @@ use super::dot::DotAttributes;
use super::item::Item;
use super::traversal::{EdgeKind, Trace, Tracer};
use super::ty::TypeKind;
-use crate::clang;
+use crate::clang::{self, Attribute};
use crate::parse::{
ClangItemParser, ClangSubItemParser, ParseError, ParseResult,
};
@@ -228,6 +228,7 @@ pub struct FunctionSig {
/// Whether this function is variadic.
is_variadic: bool,
+ is_divergent: bool,
/// Whether this function's return value must be used.
must_use: bool,
@@ -358,6 +359,7 @@ impl FunctionSig {
return_type: TypeId,
argument_types: Vec<(Option<String>, TypeId)>,
is_variadic: bool,
+ is_divergent: bool,
must_use: bool,
abi: Abi,
) -> Self {
@@ -365,6 +367,7 @@ impl FunctionSig {
return_type,
argument_types,
is_variadic,
+ is_divergent,
must_use,
abi,
}
@@ -447,8 +450,23 @@ impl FunctionSig {
}
};
- let must_use = ctx.options().enable_function_attribute_detection &&
- cursor.has_warn_unused_result_attr();
+ let (must_use, mut is_divergent) =
+ if ctx.options().enable_function_attribute_detection {
+ let [must_use, no_return, no_return_cpp] = cursor.has_attrs(&[
+ Attribute::MUST_USE,
+ Attribute::NO_RETURN,
+ Attribute::NO_RETURN_CPP,
+ ]);
+ (must_use, no_return || no_return_cpp)
+ } else {
+ Default::default()
+ };
+
+ // This looks easy to break but the clang parser keeps the type spelling clean even if
+ // other attributes are added.
+ is_divergent =
+ is_divergent || ty.spelling().contains("__attribute__((noreturn))");
+
let is_method = kind == CXCursor_CXXMethod;
let is_constructor = kind == CXCursor_Constructor;
let is_destructor = kind == CXCursor_Destructor;
@@ -528,7 +546,14 @@ impl FunctionSig {
warn!("Unknown calling convention: {:?}", call_conv);
}
- Ok(Self::new(ret, args, ty.is_variadic(), must_use, abi))
+ Ok(Self::new(
+ ret,
+ args,
+ ty.is_variadic(),
+ is_divergent,
+ must_use,
+ abi,
+ ))
}
/// Get this function signature's return type.
@@ -575,6 +600,10 @@ impl FunctionSig {
matches!(self.abi, Abi::C | Abi::Unknown(..))
}
+
+ pub(crate) fn is_divergent(&self) -> bool {
+ self.is_divergent
+ }
}
impl ClangSubItemParser for Function {
diff --git a/src/ir/int.rs b/bindgen/ir/int.rs
index 22838e89..22838e89 100644
--- a/src/ir/int.rs
+++ b/bindgen/ir/int.rs
diff --git a/src/ir/item.rs b/bindgen/ir/item.rs
index 3b15cd6e..3b15cd6e 100644
--- a/src/ir/item.rs
+++ b/bindgen/ir/item.rs
diff --git a/src/ir/item_kind.rs b/bindgen/ir/item_kind.rs
index 4a12fef4..4a12fef4 100644
--- a/src/ir/item_kind.rs
+++ b/bindgen/ir/item_kind.rs
diff --git a/src/ir/layout.rs b/bindgen/ir/layout.rs
index 6f450307..6f450307 100644
--- a/src/ir/layout.rs
+++ b/bindgen/ir/layout.rs
diff --git a/src/ir/mod.rs b/bindgen/ir/mod.rs
index 8f6a2dac..8f6a2dac 100644
--- a/src/ir/mod.rs
+++ b/bindgen/ir/mod.rs
diff --git a/src/ir/module.rs b/bindgen/ir/module.rs
index d5aca94a..d5aca94a 100644
--- a/src/ir/module.rs
+++ b/bindgen/ir/module.rs
diff --git a/src/ir/objc.rs b/bindgen/ir/objc.rs
index 0845ad0f..0845ad0f 100644
--- a/src/ir/objc.rs
+++ b/bindgen/ir/objc.rs
diff --git a/src/ir/template.rs b/bindgen/ir/template.rs
index 8b06748e..8b06748e 100644
--- a/src/ir/template.rs
+++ b/bindgen/ir/template.rs
diff --git a/src/ir/traversal.rs b/bindgen/ir/traversal.rs
index f14483f2..f14483f2 100644
--- a/src/ir/traversal.rs
+++ b/bindgen/ir/traversal.rs
diff --git a/src/ir/ty.rs b/bindgen/ir/ty.rs
index c85bc687..6a3fd0e8 100644
--- a/src/ir/ty.rs
+++ b/bindgen/ir/ty.rs
@@ -1206,6 +1206,13 @@ impl Trace for Type {
where
T: Tracer,
{
+ if self
+ .name()
+ .map_or(false, |name| context.is_stdint_type(name))
+ {
+ // These types are special-cased in codegen and don't need to be traversed.
+ return;
+ }
match *self.kind() {
TypeKind::Pointer(inner) |
TypeKind::Reference(inner) |
diff --git a/src/ir/var.rs b/bindgen/ir/var.rs
index e44d57af..eecca4df 100644
--- a/src/ir/var.rs
+++ b/bindgen/ir/var.rs
@@ -325,8 +325,7 @@ impl ClangSubItemParser for Var {
let mut val = cursor.evaluate().and_then(|v| v.as_int());
if val.is_none() || !kind.signedness_matches(val.unwrap()) {
- let tu = ctx.translation_unit();
- val = get_integer_literal_from_cursor(&cursor, tu);
+ val = get_integer_literal_from_cursor(&cursor);
}
val.map(|val| {
@@ -391,10 +390,7 @@ fn parse_int_literal_tokens(cursor: &clang::Cursor) -> Option<i64> {
}
}
-fn get_integer_literal_from_cursor(
- cursor: &clang::Cursor,
- unit: &clang::TranslationUnit,
-) -> Option<i64> {
+fn get_integer_literal_from_cursor(cursor: &clang::Cursor) -> Option<i64> {
use clang_sys::*;
let mut value = None;
cursor.visit(|c| {
@@ -403,7 +399,7 @@ fn get_integer_literal_from_cursor(
value = parse_int_literal_tokens(&c);
}
CXCursor_UnexposedExpr => {
- value = get_integer_literal_from_cursor(&c, unit);
+ value = get_integer_literal_from_cursor(&c);
}
_ => (),
}
diff --git a/src/lib.rs b/bindgen/lib.rs
index b90faba6..6e6fa225 100644
--- a/src/lib.rs
+++ b/bindgen/lib.rs
@@ -66,7 +66,9 @@ doc_mod!(ir, ir_docs);
doc_mod!(parse, parse_docs);
doc_mod!(regex_set, regex_set_docs);
-pub use crate::codegen::{AliasVariation, EnumVariation, MacroTypeVariation};
+pub use crate::codegen::{
+ AliasVariation, EnumVariation, MacroTypeVariation, NonCopyUnionStyle,
+};
use crate::features::RustFeatures;
pub use crate::features::{
RustTarget, LATEST_STABLE_RUST, RUST_TARGET_STRINGS,
@@ -81,12 +83,12 @@ use std::fs::{File, OpenOptions};
use std::io::{self, Write};
use std::path::{Path, PathBuf};
use std::process::{Command, Stdio};
+use std::rc::Rc;
use std::{env, iter};
// Some convenient typedefs for a fast hash map and hash set.
type HashMap<K, V> = ::rustc_hash::FxHashMap<K, V>;
type HashSet<K> = ::rustc_hash::FxHashSet<K>;
-use quote::ToTokens;
pub(crate) use std::collections::hash_map::Entry;
/// Default prefix for the anon fields.
@@ -279,11 +281,19 @@ impl Builder {
codegen::EnumVariation::Rust {
non_exhaustive: true,
} => "rust_non_exhaustive",
- codegen::EnumVariation::NewType { is_bitfield: true } => {
- "bitfield"
- }
- codegen::EnumVariation::NewType { is_bitfield: false } => {
- "newtype"
+ codegen::EnumVariation::NewType {
+ is_bitfield: true,
+ ..
+ } => "bitfield",
+ codegen::EnumVariation::NewType {
+ is_bitfield: false,
+ is_global,
+ } => {
+ if is_global {
+ "newtype_global"
+ } else {
+ "newtype"
+ }
}
codegen::EnumVariation::Consts => "consts",
codegen::EnumVariation::ModuleConsts => "moduleconsts",
@@ -304,9 +314,17 @@ impl Builder {
.push(self.options.default_alias_style.as_str().into());
}
+ if self.options.default_non_copy_union_style != Default::default() {
+ output_vector.push("--default-non-copy-union-style".into());
+ output_vector.push(
+ self.options.default_non_copy_union_style.as_str().into(),
+ );
+ }
+
let regex_sets = &[
(&self.options.bitfield_enums, "--bitfield-enum"),
(&self.options.newtype_enums, "--newtype-enum"),
+ (&self.options.newtype_global_enums, "--newtype-global-enum"),
(&self.options.rustified_enums, "--rustified-enum"),
(
&self.options.rustified_non_exhaustive_enums,
@@ -320,6 +338,11 @@ impl Builder {
(&self.options.type_alias, "--type-alias"),
(&self.options.new_type_alias, "--new-type-alias"),
(&self.options.new_type_alias_deref, "--new-type-alias-deref"),
+ (
+ &self.options.bindgen_wrapper_union,
+ "--bindgen-wrapper-union",
+ ),
+ (&self.options.manually_drop_union, "--manually-drop-union"),
(&self.options.blocklisted_types, "--blocklist-type"),
(&self.options.blocklisted_functions, "--blocklist-function"),
(&self.options.blocklisted_items, "--blocklist-item"),
@@ -541,8 +564,8 @@ impl Builder {
output_vector.push("--no-record-matches".into());
}
- if self.options.size_t_is_usize {
- output_vector.push("--size_t-is-usize".into());
+ if !self.options.size_t_is_usize {
+ output_vector.push("--no-size_t-is-usize".into());
}
if !self.options.rustfmt_bindings {
@@ -592,6 +615,10 @@ impl Builder {
output_vector.push("--sort-semantically".into());
}
+ if self.options.merge_extern_blocks {
+ output_vector.push("--merge-extern-blocks".into());
+ }
+
// Add clang arguments
output_vector.push("--".into());
@@ -984,6 +1011,18 @@ impl Builder {
self
}
+ /// Mark the given enum (or set of enums, if using a pattern) as a newtype
+ /// whose variants are exposed as global constants.
+ ///
+ /// Regular expressions are supported.
+ ///
+ /// This makes bindgen generate a type that isn't a Rust `enum`. Regular
+ /// expressions are supported.
+ pub fn newtype_global_enum<T: AsRef<str>>(mut self, arg: T) -> Builder {
+ self.options.newtype_global_enums.insert(arg);
+ self
+ }
+
/// Mark the given enum (or set of enums, if using a pattern) as a Rust
/// enum.
///
@@ -1080,6 +1119,32 @@ impl Builder {
self
}
+ /// Set the default style of code to generate for unions with a non-Copy member.
+ pub fn default_non_copy_union_style(
+ mut self,
+ arg: codegen::NonCopyUnionStyle,
+ ) -> Self {
+ self.options.default_non_copy_union_style = arg;
+ self
+ }
+
+ /// Mark the given union (or set of union, if using a pattern) to use
+ /// a bindgen-generated wrapper for its members if at least one is non-Copy.
+ pub fn bindgen_wrapper_union<T: AsRef<str>>(mut self, arg: T) -> Self {
+ self.options.bindgen_wrapper_union.insert(arg);
+ self
+ }
+
+ /// Mark the given union (or set of union, if using a pattern) to use
+ /// [`::core::mem::ManuallyDrop`] for its members if at least one is non-Copy.
+ ///
+ /// Note: `ManuallyDrop` was stabilized in Rust 1.20.0, do not use it if your
+ /// MSRV is lower.
+ pub fn manually_drop_union<T: AsRef<str>>(mut self, arg: T) -> Self {
+ self.options.manually_drop_union.insert(arg);
+ self
+ }
+
/// Add a string to prepend to the generated bindings. The string is passed
/// through without any modification.
pub fn raw_line<T: Into<String>>(mut self, arg: T) -> Self {
@@ -1401,7 +1466,7 @@ impl Builder {
mut self,
cb: Box<dyn callbacks::ParseCallbacks>,
) -> Self {
- self.options.parse_callbacks = Some(cb);
+ self.options.parse_callbacks = Some(Rc::from(cb));
self
}
@@ -1481,7 +1546,7 @@ impl Builder {
self
}
- /// If true, enables the sorting of the output in a predefined manner
+ /// If true, enables the sorting of the output in a predefined manner.
///
/// TODO: Perhaps move the sorting order out into a config
pub fn sort_semantically(mut self, doit: bool) -> Self {
@@ -1489,6 +1554,12 @@ impl Builder {
self
}
+ /// If true, merges extern blocks.
+ pub fn merge_extern_blocks(mut self, doit: bool) -> Self {
+ self.options.merge_extern_blocks = doit;
+ self
+ }
+
/// Generate the Rust bindings using the options built up thus far.
pub fn generate(mut self) -> Result<Bindings, BindgenError> {
// Add any extra arguments from the environment to the clang command line.
@@ -1504,15 +1575,13 @@ impl Builder {
}),
);
- self.options.input_unsaved_files.extend(
- self.input_header_contents
- .drain(..)
- .map(|(name, contents)| {
- clang::UnsavedFile::new(&name, &contents)
- }),
- );
+ let input_unsaved_files = self
+ .input_header_contents
+ .into_iter()
+ .map(|(name, contents)| clang::UnsavedFile::new(&name, &contents))
+ .collect::<Vec<_>>();
- Bindings::generate(self.options)
+ Bindings::generate(self.options, input_unsaved_files)
}
/// Preprocess and dump the input header files to disk.
@@ -1704,7 +1773,7 @@ impl Builder {
}
/// Configuration options for generated bindings.
-#[derive(Debug)]
+#[derive(Clone, Debug)]
struct BindgenOptions {
/// The set of types that have been blocklisted and should not appear
/// anywhere in the generated code.
@@ -1759,6 +1828,9 @@ struct BindgenOptions {
/// The enum patterns to mark an enum as a newtype.
newtype_enums: RegexSet,
+ /// The enum patterns to mark an enum as a global newtype.
+ newtype_global_enums: RegexSet,
+
/// The enum patterns to mark an enum as a Rust enum.
rustified_enums: RegexSet,
@@ -1787,6 +1859,18 @@ struct BindgenOptions {
/// Deref and Deref to their aliased type.
new_type_alias_deref: RegexSet,
+ /// The default style of code to generate for union containing non-Copy
+ /// members.
+ default_non_copy_union_style: codegen::NonCopyUnionStyle,
+
+ /// The union patterns to mark an non-Copy union as using the bindgen
+ /// generated wrapper.
+ bindgen_wrapper_union: RegexSet,
+
+ /// The union patterns to mark an non-Copy union as using the
+ /// `::core::mem::ManuallyDrop` wrapper.
+ manually_drop_union: RegexSet,
+
/// Whether we should generate builtins or not.
builtins: bool,
@@ -1892,12 +1976,9 @@ struct BindgenOptions {
/// Any additional input header files.
extra_input_headers: Vec<String>,
- /// Unsaved files for input.
- input_unsaved_files: Vec<clang::UnsavedFile>,
-
/// A user-provided visitor to allow customizing different kinds of
/// situations.
- parse_callbacks: Option<Box<dyn callbacks::ParseCallbacks>>,
+ parse_callbacks: Option<Rc<dyn callbacks::ParseCallbacks>>,
/// Which kind of items should we generate? By default, we'll generate all
/// of them.
@@ -2019,8 +2100,11 @@ struct BindgenOptions {
/// Emit vtable functions.
vtable_generation: bool,
- /// Sort the code generation
+ /// Sort the code generation.
sort_semantically: bool,
+
+ /// Deduplicate `extern` blocks.
+ merge_extern_blocks: bool,
}
/// TODO(emilio): This is sort of a lie (see the error message that results from
@@ -2044,11 +2128,14 @@ impl BindgenOptions {
&mut self.constified_enums,
&mut self.constified_enum_modules,
&mut self.newtype_enums,
+ &mut self.newtype_global_enums,
&mut self.rustified_enums,
&mut self.rustified_non_exhaustive_enums,
&mut self.type_alias,
&mut self.new_type_alias,
&mut self.new_type_alias_deref,
+ &mut self.bindgen_wrapper_union,
+ &mut self.manually_drop_union,
&mut self.no_partialeq_types,
&mut self.no_copy_types,
&mut self.no_debug_types,
@@ -2097,6 +2184,7 @@ impl Default for BindgenOptions {
default_enum_style: Default::default(),
bitfield_enums: Default::default(),
newtype_enums: Default::default(),
+ newtype_global_enums: Default::default(),
rustified_enums: Default::default(),
rustified_non_exhaustive_enums: Default::default(),
constified_enums: Default::default(),
@@ -2106,6 +2194,9 @@ impl Default for BindgenOptions {
type_alias: Default::default(),
new_type_alias: Default::default(),
new_type_alias_deref: Default::default(),
+ default_non_copy_union_style: Default::default(),
+ bindgen_wrapper_union: Default::default(),
+ manually_drop_union: Default::default(),
builtins: false,
emit_ast: false,
emit_ir: false,
@@ -2135,7 +2226,6 @@ impl Default for BindgenOptions {
clang_args: vec![],
input_header: None,
extra_input_headers: vec![],
- input_unsaved_files: vec![],
parse_callbacks: None,
codegen_config: CodegenConfig::all(),
conservative_inline_namespaces: false,
@@ -2152,7 +2242,7 @@ impl Default for BindgenOptions {
time_phases: false,
record_matches: true,
rustfmt_bindings: true,
- size_t_is_usize: false,
+ size_t_is_usize: true,
rustfmt_configuration_file: None,
no_partialeq_types: Default::default(),
no_copy_types: Default::default(),
@@ -2170,6 +2260,7 @@ impl Default for BindgenOptions {
force_explicit_padding: false,
vtable_generation: false,
sort_semantically: false,
+ merge_extern_blocks: false,
}
}
}
@@ -2292,6 +2383,7 @@ impl Bindings {
/// Generate bindings for the given options.
pub(crate) fn generate(
mut options: BindgenOptions,
+ input_unsaved_files: Vec<clang::UnsavedFile>,
) -> Result<Bindings, BindgenError> {
ensure_libclang_is_loaded();
@@ -2426,7 +2518,7 @@ impl Bindings {
}
}
- for (idx, f) in options.input_unsaved_files.iter().enumerate() {
+ for (idx, f) in input_unsaved_files.iter().enumerate() {
if idx != 0 || options.input_header.is_some() {
options.clang_args.push("-include".to_owned());
}
@@ -2436,7 +2528,7 @@ impl Bindings {
debug!("Fixed-up options: {:?}", options);
let time_phases = options.time_phases;
- let mut context = BindgenContext::new(options);
+ let mut context = BindgenContext::new(options, &input_unsaved_files);
if is_host_build {
debug_assert_eq!(
@@ -2453,68 +2545,12 @@ impl Bindings {
parse(&mut context)?;
}
- let (items, options, warnings) = codegen::codegen(context);
-
- if options.sort_semantically {
- let module_wrapped_tokens =
- quote!(mod wrapper_for_sorting_hack { #( #items )* });
-
- // This semantically sorting business is a hack, for now. This means that we are
- // re-parsing already generated code using `syn` (as opposed to `quote`) because
- // `syn` provides us more control over the elements.
- // One caveat is that some of the items coming from `quote`d output might have
- // multiple items within them. Hence, we have to wrap the incoming in a `mod`.
- // The two `unwrap`s here are deliberate because
- // The first one won't panic because we build the `mod` and know it is there
- // The second one won't panic because we know original output has something in
- // it already.
- let mut syn_parsed_items =
- syn::parse2::<syn::ItemMod>(module_wrapped_tokens)
- .unwrap()
- .content
- .unwrap()
- .1;
-
- syn_parsed_items.sort_by_key(|item| match item {
- syn::Item::Type(_) => 0,
- syn::Item::Struct(_) => 1,
- syn::Item::Const(_) => 2,
- syn::Item::Fn(_) => 3,
- syn::Item::Enum(_) => 4,
- syn::Item::Union(_) => 5,
- syn::Item::Static(_) => 6,
- syn::Item::Trait(_) => 7,
- syn::Item::TraitAlias(_) => 8,
- syn::Item::Impl(_) => 9,
- syn::Item::Mod(_) => 10,
- syn::Item::Use(_) => 11,
- syn::Item::Verbatim(_) => 12,
- syn::Item::ExternCrate(_) => 13,
- syn::Item::ForeignMod(_) => 14,
- syn::Item::Macro(_) => 15,
- syn::Item::Macro2(_) => 16,
- _ => 18,
- });
-
- let synful_items = syn_parsed_items
- .into_iter()
- .map(|item| item.into_token_stream());
-
- return Ok(Bindings {
- options,
- warnings,
- module: quote! {
- #( #synful_items )*
- },
- });
- }
+ let (module, options, warnings) = codegen::codegen(context);
Ok(Bindings {
options,
warnings,
- module: quote! {
- #( #items )*
- },
+ module,
})
}
@@ -2611,7 +2647,7 @@ impl Bindings {
.as_ref()
.and_then(|f| f.to_str())
{
- cmd.args(&["--config-path", path]);
+ cmd.args(["--config-path", path]);
}
let mut child = cmd.spawn()?;
diff --git a/src/log_stubs.rs b/bindgen/log_stubs.rs
index 83159831..83159831 100644
--- a/src/log_stubs.rs
+++ b/bindgen/log_stubs.rs
diff --git a/src/parse.rs b/bindgen/parse.rs
index f60de431..f60de431 100644
--- a/src/parse.rs
+++ b/bindgen/parse.rs
diff --git a/src/regex_set.rs b/bindgen/regex_set.rs
index 127c0018..9262c4ee 100644
--- a/src/regex_set.rs
+++ b/bindgen/regex_set.rs
@@ -4,7 +4,7 @@ use regex::RegexSet as RxSet;
use std::cell::Cell;
/// A dynamic set of regular expressions.
-#[derive(Debug, Default)]
+#[derive(Clone, Debug, Default)]
pub struct RegexSet {
items: Vec<String>,
/// Whether any of the items in the set was ever matched. The length of this
diff --git a/src/time.rs b/bindgen/time.rs
index c13a640c..c13a640c 100644
--- a/src/time.rs
+++ b/bindgen/time.rs
diff --git a/book/src/command-line-usage.md b/book/src/command-line-usage.md
index d90eb442..b3356d70 100644
--- a/book/src/command-line-usage.md
+++ b/book/src/command-line-usage.md
@@ -3,7 +3,7 @@
Install the `bindgen` executable with `cargo`:
```bash
-$ cargo install bindgen
+$ cargo install bindgen-cli
```
The `bindgen` executable is installed to `~/.cargo/bin`. You have to add that
diff --git a/book/src/objc.md b/book/src/objc.md
index 60e5638d..ce6d7567 100644
--- a/book/src/objc.md
+++ b/book/src/objc.md
@@ -32,6 +32,8 @@ methods found in `NSObject`.
In order to initialize a class `Foo`, you will have to do something like `let
foo = Foo(Foo::alloc().initWithStuff())`.
+To blocklist an Objective-C method, you should add the bindgen generated method
+path (e.g. `IFoo::method` or `IFoo::class_method`) as a blocklist item.
## Supported Features
diff --git a/build.rs b/build.rs
deleted file mode 100644
index 8c05d59b..00000000
--- a/build.rs
+++ /dev/null
@@ -1,90 +0,0 @@
-mod target {
- use std::env;
- use std::fs::File;
- use std::io::Write;
- use std::path::{Path, PathBuf};
-
- pub fn main() {
- let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
-
- let mut dst =
- File::create(Path::new(&out_dir).join("host-target.txt")).unwrap();
- dst.write_all(env::var("TARGET").unwrap().as_bytes())
- .unwrap();
- }
-}
-
-mod testgen {
- use std::char;
- use std::env;
- use std::ffi::OsStr;
- use std::fs::{self, File};
- use std::io::Write;
- use std::path::{Path, PathBuf};
-
- pub fn main() {
- let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
- let mut dst =
- File::create(Path::new(&out_dir).join("tests.rs")).unwrap();
-
- let manifest_dir =
- PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
- let headers_dir = manifest_dir.join("tests").join("headers");
-
- let headers = match fs::read_dir(headers_dir) {
- Ok(dir) => dir,
- // We may not have headers directory after packaging.
- Err(..) => return,
- };
-
- let entries =
- headers.map(|result| result.expect("Couldn't read header file"));
-
- println!("cargo:rerun-if-changed=tests/headers");
-
- for entry in entries {
- match entry.path().extension().and_then(OsStr::to_str) {
- Some("h") | Some("hpp") => {
- let func = entry
- .file_name()
- .to_str()
- .unwrap()
- .replace(|c| !char::is_alphanumeric(c), "_")
- .replace("__", "_")
- .to_lowercase();
- writeln!(
- dst,
- "test_header!(header_{}, {:?});",
- func,
- entry.path(),
- )
- .unwrap();
- }
- _ => {}
- }
- }
-
- dst.flush().unwrap();
- }
-}
-
-fn main() {
- target::main();
- testgen::main();
-
- // On behalf of clang_sys, rebuild ourselves if important configuration
- // variables change, to ensure that bindings get rebuilt if the
- // underlying libclang changes.
- println!("cargo:rerun-if-env-changed=LLVM_CONFIG_PATH");
- println!("cargo:rerun-if-env-changed=LIBCLANG_PATH");
- println!("cargo:rerun-if-env-changed=LIBCLANG_STATIC_PATH");
- println!("cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS");
- println!(
- "cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_{}",
- std::env::var("TARGET").unwrap()
- );
- println!(
- "cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_{}",
- std::env::var("TARGET").unwrap().replace('-', "_")
- );
-}
diff --git a/ci/no-includes.sh b/ci/no-includes.sh
index 6aa0fc12..97966cb0 100755
--- a/ci/no-includes.sh
+++ b/ci/no-includes.sh
@@ -7,7 +7,7 @@ cd "$(dirname "$0")/.."
echo "Checking for #include directives of system headers..."
-grep -rn '#include\s*<.*>' tests/headers || {
+grep -rn '#include\s*<.*>' bindgen-tests/tests/headers || {
echo "Found none; OK!"
exit 0
}
diff --git a/ci/test.sh b/ci/test.sh
index b58ed0f1..788c28fe 100755
--- a/ci/test.sh
+++ b/ci/test.sh
@@ -126,11 +126,11 @@ fi
CARGO_ARGS=`get_cargo_args`
# Ensure we build without warnings
-cargo rustc --lib $CARGO_ARGS -- -Dwarnings
+RUSTFLAGS="-Dwarnings" cargo check $CARGO_ARGS
if [ "$BINDGEN_MAIN_TESTS" == "1" ]; then
# Run the tests
- cargo test $CARGO_ARGS
+ (cd bindgen-tests && cargo test $CARGO_ARGS)
fi
assert_no_diff