diff options
273 files changed, 13304 insertions, 19741 deletions
diff --git a/.github/workflows/bindgen.yml b/.github/workflows/bindgen.yml index 3e223413..6adbb5da 100644 --- a/.github/workflows/bindgen.yml +++ b/.github/workflows/bindgen.yml @@ -48,11 +48,11 @@ jobs: profile: minimal # MSRV below is documented in Cargo.toml and README.md, please update those if you # change this. - toolchain: 1.56.1 + toolchain: 1.57.0 override: true - name: Build with msrv - run: rm Cargo.lock && cargo +1.56.1 build --lib + run: rm Cargo.lock && cargo +1.57.0 build --lib quickchecking: runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index 17b32237..6c2e64e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -143,14 +143,20 @@ ## Added + * new feature: `--sort-semantically` flag to sort the output in a predefined manner [(#1743)] + ## Changed + * clap has been updated, new msrv is 1.57. + ## Removed ## Fixed ## Security +[(#1743)]: https://github.com/rust-lang/rust-bindgen/issues/1743 + # 0.60.1 Released 2022/06/06 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0ffd5b4f..3fe7539f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -152,6 +152,9 @@ $ cargo test ### Testing a Single Header's Bindings Generation and Compiling its Bindings +Note: You will to need to install [Graphviz](https://graphviz.org/) since that +is a dependency for running `test-one.sh`. + Sometimes its useful to work with one test header from start (generating bindings for it) to finish (compiling the bindings and running their layout tests). This can be done with the `tests/test-one.sh` script. It supports fuzzy @@ -24,9 +24,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "bindgen" @@ -47,15 +47,16 @@ dependencies = [ "regex", "rustc-hash", "shlex", + "syn", "tempfile", "which", ] [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "cexpr" @@ -85,20 +86,29 @@ dependencies = [ [[package]] name = "clap" -version = "3.0.4" +version = "3.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d01c9347757e131122b19cd19a05c85805b68c2352a97b623efdc3c295290299" +checksum = "ab8b79fe3946ceb4a0b1c080b4018992b8d27e9ff363644c1c9b6387c854614d" dependencies = [ "atty", "bitflags", + "clap_lex", "indexmap", - "os_str_bytes", "strsim", "termcolor", "textwrap", ] [[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] name = "diff" version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -142,9 +152,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "hashbrown" -version = "0.11.2" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "607c8a29735385251a339424dd462993c0fed8fa09d378f259377df08c126022" [[package]] name = "hermit-abi" @@ -163,9 +173,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "indexmap" -version = "1.7.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg", "hashbrown", @@ -185,9 +195,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.98" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" [[package]] name = "libloading" @@ -210,9 +220,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "minimal-lexical" @@ -233,12 +243,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.0.0" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" -dependencies = [ - "memchr", -] +checksum = "648001efe5d5c0102d8cea768e348da85d90af8ba91f0bea908f157951493cd4" [[package]] name = "peeking_take_while" @@ -254,11 +261,11 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "proc-macro2" -version = "1.0.28" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" +checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] @@ -364,6 +371,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] +name = "syn" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] name = "tempfile" version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -379,24 +397,24 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" dependencies = [ "winapi-util", ] [[package]] name = "textwrap" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80" +checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" [[package]] -name = "unicode-xid" -version = "0.2.2" +name = "unicode-ident" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" [[package]] name = "version_check" @@ -18,7 +18,7 @@ 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.56.1" +rust-version = "1.57.0" include = [ "LICENSE", @@ -57,7 +57,8 @@ lazycell = "1" lazy_static = "1" peeking_take_while = "0.1.2" quote = { version = "1", default-features = false } -regex = { version = "1.5", default-features = false , features = [ "std", "unicode"]} +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" @@ -39,7 +39,7 @@ extern "C" { ## MSRV -The minimum supported Rust version is **1.56.1**. +The minimum supported Rust version is **1.57.0**. No MSRV bump policy has been established yet, so MSRV may increase in any release. diff --git a/src/clang.rs b/src/clang.rs index 587cc0ba..2aab9618 100644 --- a/src/clang.rs +++ b/src/clang.rs @@ -276,6 +276,56 @@ impl Cursor { true } + /// Is the referent any kind of template parameter? + pub fn is_template_parameter(&self) -> bool { + matches!( + self.kind(), + CXCursor_TemplateTemplateParameter | + CXCursor_TemplateTypeParameter | + CXCursor_NonTypeTemplateParameter + ) + } + + /// Does the referent's type or value depend on a template parameter? + pub fn is_dependent_on_template_parameter(&self) -> bool { + fn visitor( + found_template_parameter: &mut bool, + cur: Cursor, + ) -> CXChildVisitResult { + // If we found a template parameter, it is dependent. + if cur.is_template_parameter() { + *found_template_parameter = true; + return CXChildVisit_Break; + } + + // Get the referent and traverse it as well. + if let Some(referenced) = cur.referenced() { + if referenced.is_template_parameter() { + *found_template_parameter = true; + return CXChildVisit_Break; + } + + referenced + .visit(|next| visitor(found_template_parameter, next)); + if *found_template_parameter { + return CXChildVisit_Break; + } + } + + // Continue traversing the AST at the original cursor. + CXChildVisit_Recurse + } + + if self.is_template_parameter() { + return true; + } + + let mut found_template_parameter = false; + self.visit(|next| visitor(&mut found_template_parameter, next)); + + found_template_parameter + } + /// Is this cursor pointing a valid referent? pub fn is_valid(&self) -> bool { unsafe { clang_isInvalid(self.kind()) == 0 } @@ -485,9 +535,45 @@ impl Cursor { !self.is_defaulted_function() } + /// Is the referent a bit field declaration? + pub fn is_bit_field(&self) -> bool { + unsafe { clang_Cursor_isBitField(self.x) != 0 } + } + + /// Get a cursor to the bit field's width expression, or `None` if it's not + /// a bit field. + pub fn bit_width_expr(&self) -> Option<Cursor> { + if !self.is_bit_field() { + return None; + } + + let mut result = None; + self.visit(|cur| { + // The first child may or may not be a TypeRef, depending on whether + // the field's type is builtin. Skip it. + if cur.kind() == CXCursor_TypeRef { + return CXChildVisit_Continue; + } + + // The next expression or literal is the bit width. + result = Some(cur); + + CXChildVisit_Break + }); + + result + } + /// Get the width of this cursor's referent bit field, or `None` if the - /// referent is not a bit field. + /// referent is not a bit field or if the width could not be evaluated. pub fn bit_width(&self) -> Option<u32> { + // It is not safe to check the bit width without ensuring it doesn't + // depend on a template parameter. See + // https://github.com/rust-lang/rust-bindgen/issues/2239 + if self.bit_width_expr()?.is_dependent_on_template_parameter() { + return None; + } + unsafe { let w = clang_getFieldDeclBitWidth(self.x); if w == -1 { @@ -1789,9 +1875,15 @@ pub fn ast_dump(c: &Cursor, depth: isize) -> CXChildVisitResult { format!(" {}number-of-template-args = {}", prefix, num), ); } - if let Some(width) = c.bit_width() { + + if c.is_bit_field() { + let width = match c.bit_width() { + Some(w) => w.to_string(), + None => "<unevaluable>".to_string(), + }; print_indent(depth, format!(" {}bit-width = {}", prefix, width)); } + if let Some(ty) = c.enum_type() { print_indent( depth, diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index ee4a6bfd..ca4cbf23 100644 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -1212,6 +1212,7 @@ impl CodeGenerator for TemplateInstantiation { trait FieldCodegen<'a> { type Extra; + #[allow(clippy::too_many_arguments)] fn codegen<F, M>( &self, ctx: &BindgenContext, @@ -2187,36 +2188,41 @@ impl CodeGenerator for CompInfo { field.offset().map(|offset| { let field_offset = offset / 8; let field_name = ctx.rust_ident(name); - // Put each check in its own function, so - // that rustc with opt-level=0 doesn't take - // too much stack space, see #2218. - let test_fn = Ident::new(&format!("test_field_{}", name), Span::call_site()); quote! { - fn #test_fn() { - assert_eq!( - unsafe { - let uninit = ::#prefix::mem::MaybeUninit::<#canonical_ident>::uninit(); - let ptr = uninit.as_ptr(); - ::#prefix::ptr::addr_of!((*ptr).#field_name) as usize - ptr as usize - }, - #field_offset, - concat!("Offset of field: ", stringify!(#canonical_ident), "::", stringify!(#field_name)) - ); - } - #test_fn(); + assert_eq!( + unsafe { + ::#prefix::ptr::addr_of!((*ptr).#field_name) as usize - ptr as usize + }, + #field_offset, + concat!("Offset of field: ", stringify!(#canonical_ident), "::", stringify!(#field_name)) + ); } }) }) - .collect::<Vec<proc_macro2::TokenStream>>() + .collect() + }; + + let uninit_decl = if !check_field_offset.is_empty() { + // FIXME: When MSRV >= 1.59.0, we can use + // > const PTR: *const #canonical_ident = ::#prefix::mem::MaybeUninit::uninit().as_ptr(); + Some(quote! { + // Use a shared MaybeUninit so that rustc with + // opt-level=0 doesn't take too much stack space, + // see #2218. + const UNINIT: ::#prefix::mem::MaybeUninit<#canonical_ident> = ::#prefix::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + }) + } else { + None }; let item = quote! { #[test] fn #fn_name() { + #uninit_decl assert_eq!(#size_of_expr, #size, concat!("Size of: ", stringify!(#canonical_ident))); - #check_struct_align #( #check_field_offset )* } @@ -2558,7 +2564,7 @@ impl MethodCodegen for Method { } /// A helper type that represents different enum variations. -#[derive(Copy, Clone, PartialEq, Debug)] +#[derive(Copy, Clone, PartialEq, Eq, Debug)] pub enum EnumVariation { /// The code for this enum will use a Rust enum. Note that creating this in unsafe code /// (including FFI) with an invalid value will invoke undefined behaviour, whether or not @@ -3208,7 +3214,7 @@ impl CodeGenerator for Enum { ctx, enum_ty, &ident, - &Ident::new(&*mangled_name, Span::call_site()), + &Ident::new(&mangled_name, Span::call_site()), existing_variant_name, enum_rust_ty.clone(), result, @@ -3277,7 +3283,7 @@ impl CodeGenerator for Enum { } /// Enum for the default type of macro constants. -#[derive(Copy, Clone, PartialEq, Debug)] +#[derive(Copy, Clone, PartialEq, Eq, Debug)] pub enum MacroTypeVariation { /// Use i32 or i64 Signed, @@ -3321,7 +3327,7 @@ impl std::str::FromStr for MacroTypeVariation { } /// Enum for how aliases should be translated. -#[derive(Copy, Clone, PartialEq, Debug)] +#[derive(Copy, Clone, PartialEq, Eq, Debug)] pub enum AliasVariation { /// Convert to regular Rust alias TypeAlias, @@ -4324,7 +4330,7 @@ impl CodeGenerator for ObjCInterface { pub(crate) fn codegen( context: BindgenContext, -) -> (Vec<proc_macro2::TokenStream>, BindgenOptions) { +) -> (Vec<proc_macro2::TokenStream>, BindgenOptions, Vec<String>) { context.gen(|context| { let _t = context.timer("codegen"); let counter = Cell::new(0); diff --git a/src/ir/analysis/derive.rs b/src/ir/analysis/derive.rs index f63458e5..d888cd55 100644 --- a/src/ir/analysis/derive.rs +++ b/src/ir/analysis/derive.rs @@ -485,11 +485,11 @@ impl DeriveTrait { fn consider_edge_tmpl_inst(&self) -> EdgePredicate { match self { DeriveTrait::PartialEqOrPartialOrd => consider_edge_default, - _ => |kind| match kind { - EdgeKind::TemplateArgument | EdgeKind::TemplateDeclaration => { - true - } - _ => false, + _ => |kind| { + matches!( + kind, + EdgeKind::TemplateArgument | EdgeKind::TemplateDeclaration + ) }, } } diff --git a/src/ir/annotations.rs b/src/ir/annotations.rs index 9bcda508..288c11eb 100644 --- a/src/ir/annotations.rs +++ b/src/ir/annotations.rs @@ -7,7 +7,7 @@ use crate::clang; /// What kind of accessor should we provide for a field? -#[derive(Copy, PartialEq, Clone, Debug)] +#[derive(Copy, PartialEq, Eq, Clone, Debug)] pub enum FieldAccessorKind { /// No accessor. None, @@ -25,7 +25,7 @@ pub enum FieldAccessorKind { /// documentation: /// /// http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html -#[derive(Default, Clone, PartialEq, Debug)] +#[derive(Default, Clone, PartialEq, Eq, Debug)] pub struct Annotations { /// Whether this item is marked as opaque. Only applies to types. opaque: bool, diff --git a/src/ir/comp.rs b/src/ir/comp.rs index a221e520..fdf6a963 100644 --- a/src/ir/comp.rs +++ b/src/ir/comp.rs @@ -20,7 +20,7 @@ use std::io; use std::mem; /// The kind of compound type. -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum CompKind { /// A struct. Struct, @@ -29,7 +29,7 @@ pub enum CompKind { } /// The kind of C++ method. -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum MethodKind { /// A constructor. We represent it as method for convenience, to avoid code /// duplication. @@ -55,12 +55,10 @@ pub enum MethodKind { impl MethodKind { /// Is this a destructor method? pub fn is_destructor(&self) -> bool { - match *self { - MethodKind::Destructor | MethodKind::VirtualDestructor { .. } => { - true - } - _ => false, - } + matches!( + *self, + MethodKind::Destructor | MethodKind::VirtualDestructor { .. } + ) } /// Is this a pure virtual method? @@ -1045,6 +1043,11 @@ pub struct CompInfo { /// size_t) has_non_type_template_params: bool, + /// Whether this type has a bit field member whose width couldn't be + /// evaluated (e.g. if it depends on a template parameter). We generate an + /// opaque type in this case. + has_unevaluable_bit_field_width: bool, + /// Whether we saw `__attribute__((packed))` on or within this type. packed_attr: bool, @@ -1078,6 +1081,7 @@ impl CompInfo { has_destructor: false, has_nonempty_base: false, has_non_type_template_params: false, + has_unevaluable_bit_field_width: false, packed_attr: false, found_unknown_attr: false, is_forward_declaration: false, @@ -1317,7 +1321,21 @@ impl CompInfo { } } - let bit_width = cur.bit_width(); + let bit_width = if cur.is_bit_field() { + let width = cur.bit_width(); + + // Make opaque type if the bit width couldn't be + // evaluated. + if width.is_none() { + ci.has_unevaluable_bit_field_width = true; + return CXChildVisit_Break; + } + + width + } else { + None + }; + let field_type = Item::from_ty_or_ref( cur.cur_type(), cur, @@ -1753,7 +1771,9 @@ impl IsOpaque for CompInfo { type Extra = Option<Layout>; fn is_opaque(&self, ctx: &BindgenContext, layout: &Option<Layout>) -> bool { - if self.has_non_type_template_params { + if self.has_non_type_template_params || + self.has_unevaluable_bit_field_width + { return true; } diff --git a/src/ir/context.rs b/src/ir/context.rs index 3bfe549b..7837e594 100644 --- a/src/ir/context.rs +++ b/src/ir/context.rs @@ -459,17 +459,15 @@ pub struct BindgenContext { /// Populated when we enter codegen by `compute_has_float`; always `None` /// before that and `Some` after. has_float: Option<HashSet<ItemId>>, + + /// The set of warnings raised during binding generation. + warnings: Vec<String>, } /// A traversal of allowlisted items. struct AllowlistedItemsTraversal<'ctx> { ctx: &'ctx BindgenContext, - traversal: ItemTraversal< - 'ctx, - ItemSet, - Vec<ItemId>, - for<'a> fn(&'a BindgenContext, Edge) -> bool, - >, + traversal: ItemTraversal<'ctx, ItemSet, Vec<ItemId>>, } impl<'ctx> Iterator for AllowlistedItemsTraversal<'ctx> { @@ -579,6 +577,7 @@ If you encounter an error missing from this list, please file an issue or a PR!" have_destructor: None, has_type_param_in_array: None, has_float: None, + warnings: Vec::new(), } } @@ -821,7 +820,7 @@ If you encounter an error missing from this list, please file an issue or a PR!" name.contains('$') || matches!( name, - "abstract" | "alignof" | "as" | "async" | "become" | + "abstract" | "alignof" | "as" | "async" | "await" | "become" | "box" | "break" | "const" | "continue" | "crate" | "do" | "dyn" | "else" | "enum" | "extern" | "false" | "final" | "fn" | "for" | "if" | "impl" | "in" | "let" | "loop" | @@ -1134,7 +1133,10 @@ If you encounter an error missing from this list, please file an issue or a PR!" /// Enter the code generation phase, invoke the given callback `cb`, and /// leave the code generation phase. - pub(crate) fn gen<F, Out>(mut self, cb: F) -> (Out, BindgenOptions) + pub(crate) fn gen<F, Out>( + mut self, + cb: F, + ) -> (Out, BindgenOptions, Vec<String>) where F: FnOnce(&Self) -> Out, { @@ -1171,7 +1173,7 @@ If you encounter an error missing from this list, please file an issue or a PR!" self.compute_cannot_derive_partialord_partialeq_or_eq(); let ret = cb(&self); - (ret, self.options) + (ret, self.options, self.warnings) } /// When the `testing_only_extra_assertions` feature is enabled, this @@ -2430,16 +2432,24 @@ If you encounter an error missing from this list, please file an issue or a PR!" self.allowlisted = Some(allowlisted); self.codegen_items = Some(codegen_items); + let mut warnings = Vec::new(); + for item in self.options().allowlisted_functions.unmatched_items() { - warn!("unused option: --allowlist-function {}", item); + warnings + .push(format!("unused option: --allowlist-function {}", item)); } for item in self.options().allowlisted_vars.unmatched_items() { - warn!("unused option: --allowlist-var {}", item); + warnings.push(format!("unused option: --allowlist-var {}", item)); } for item in self.options().allowlisted_types.unmatched_items() { - warn!("unused option: --allowlist-type {}", item); + warnings.push(format!("unused option: --allowlist-type {}", item)); + } + + for msg in warnings { + warn!("{}", msg); + self.warnings.push(msg); } } diff --git a/src/ir/function.rs b/src/ir/function.rs index 288c049b..89905351 100644 --- a/src/ir/function.rs +++ b/src/ir/function.rs @@ -19,7 +19,7 @@ use std::io; const RUST_DERIVE_FUNPTR_LIMIT: usize = 12; /// What kind of a function are we looking at? -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum FunctionKind { /// A plain, free function. Function, diff --git a/src/ir/layout.rs b/src/ir/layout.rs index 6cf91131..6f450307 100644 --- a/src/ir/layout.rs +++ b/src/ir/layout.rs @@ -7,7 +7,7 @@ use crate::ir::context::BindgenContext; use std::cmp; /// A type that represents the struct layout of a type. -#[derive(Debug, Clone, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub struct Layout { /// The size (in bytes) of this layout. pub size: usize, @@ -93,7 +93,7 @@ impl Layout { } /// When we are treating a type as opaque, it is just a blob with a `Layout`. -#[derive(Clone, Debug, PartialEq)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct Opaque(pub Layout); impl Opaque { diff --git a/src/ir/traversal.rs b/src/ir/traversal.rs index 088e744a..f14483f2 100644 --- a/src/ir/traversal.rs +++ b/src/ir/traversal.rs @@ -179,17 +179,10 @@ pub enum EdgeKind { /// A predicate to allow visiting only sub-sets of the whole IR graph by /// excluding certain edges from being followed by the traversal. -pub trait TraversalPredicate { - /// Should the traversal follow this edge, and visit everything that is - /// reachable through it? - fn should_follow(&self, ctx: &BindgenContext, edge: Edge) -> bool; -} - -impl TraversalPredicate for for<'a> fn(&'a BindgenContext, Edge) -> bool { - fn should_follow(&self, ctx: &BindgenContext, edge: Edge) -> bool { - (*self)(ctx, edge) - } -} +/// +/// The predicate must return true if the traversal should follow this edge +/// and visit everything that is reachable through it. +pub type TraversalPredicate = for<'a> fn(&'a BindgenContext, Edge) -> bool; /// A `TraversalPredicate` implementation that follows all edges, and therefore /// traversals using this predicate will see the whole IR graph reachable from @@ -378,11 +371,10 @@ pub trait Trace { /// An graph traversal of the transitive closure of references between items. /// /// See `BindgenContext::allowlisted_items` for more information. -pub struct ItemTraversal<'ctx, Storage, Queue, Predicate> +pub struct ItemTraversal<'ctx, Storage, Queue> where Storage: TraversalStorage<'ctx>, Queue: TraversalQueue, - Predicate: TraversalPredicate, { ctx: &'ctx BindgenContext, @@ -393,25 +385,23 @@ where queue: Queue, /// The predicate that determines which edges this traversal will follow. - predicate: Predicate, + predicate: TraversalPredicate, /// The item we are currently traversing. currently_traversing: Option<ItemId>, } -impl<'ctx, Storage, Queue, Predicate> - ItemTraversal<'ctx, Storage, Queue, Predicate> +impl<'ctx, Storage, Queue> ItemTraversal<'ctx, Storage, Queue> where Storage: TraversalStorage<'ctx>, Queue: TraversalQueue, - Predicate: TraversalPredicate, { /// Begin a new traversal, starting from the given roots. pub fn new<R>( ctx: &'ctx BindgenContext, roots: R, - predicate: Predicate, - ) -> ItemTraversal<'ctx, Storage, Queue, Predicate> + predicate: TraversalPredicate, + ) -> ItemTraversal<'ctx, Storage, Queue> where R: IntoIterator<Item = ItemId>, { @@ -433,16 +423,14 @@ where } } -impl<'ctx, Storage, Queue, Predicate> Tracer - for ItemTraversal<'ctx, Storage, Queue, Predicate> +impl<'ctx, Storage, Queue> Tracer for ItemTraversal<'ctx, Storage, Queue> where Storage: TraversalStorage<'ctx>, Queue: TraversalQueue, - Predicate: TraversalPredicate, { fn visit_kind(&mut self, item: ItemId, kind: EdgeKind) { let edge = Edge::new(item, kind); - if !self.predicate.should_follow(self.ctx, edge) { + if !(self.predicate)(self.ctx, edge) { return; } @@ -454,12 +442,10 @@ where } } -impl<'ctx, Storage, Queue, Predicate> Iterator - for ItemTraversal<'ctx, Storage, Queue, Predicate> +impl<'ctx, Storage, Queue> Iterator for ItemTraversal<'ctx, Storage, Queue> where Storage: TraversalStorage<'ctx>, Queue: TraversalQueue, - Predicate: TraversalPredicate, { type Item = ItemId; @@ -488,21 +474,5 @@ where /// /// See `BindgenContext::assert_no_dangling_item_traversal` for more /// information. -pub type AssertNoDanglingItemsTraversal<'ctx> = ItemTraversal< - 'ctx, - Paths<'ctx>, - VecDeque<ItemId>, - for<'a> fn(&'a BindgenContext, Edge) -> bool, ->; - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - #[allow(dead_code)] - fn traversal_predicate_is_object_safe() { - // This should compile only if TraversalPredicate is object safe. - fn takes_by_trait_object(_: &dyn TraversalPredicate) {} - } -} +pub type AssertNoDanglingItemsTraversal<'ctx> = + ItemTraversal<'ctx, Paths<'ctx>, VecDeque<ItemId>>; diff --git a/src/ir/ty.rs b/src/ir/ty.rs index d573408c..c85bc687 100644 --- a/src/ir/ty.rs +++ b/src/ir/ty.rs @@ -564,7 +564,7 @@ impl TemplateParameters for TypeKind { } /// The kind of float this type represents. -#[derive(Debug, Copy, Clone, PartialEq)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum FloatKind { /// A `float`. Float, @@ -1031,7 +1031,16 @@ impl Type { CXType_ObjCObjectPointer | CXType_MemberPointer | CXType_Pointer => { - let pointee = ty.pointee_type().unwrap(); + let mut pointee = ty.pointee_type().unwrap(); + if *ty != canonical_ty { + let canonical_pointee = + canonical_ty.pointee_type().unwrap(); + // clang sometimes loses pointee constness here, see + // #2244. + if canonical_pointee.is_const() != pointee.is_const() { + pointee = canonical_pointee; + } + } let inner = Item::from_ty_or_ref(pointee, location, None, ctx); TypeKind::Pointer(inner) @@ -86,6 +86,7 @@ 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. @@ -587,6 +588,10 @@ impl Builder { output_vector.push("--vtable-generation".into()); } + if self.options.sort_semantically { + output_vector.push("--sort-semantically".into()); + } + // Add clang arguments output_vector.push("--".into()); @@ -1476,6 +1481,14 @@ impl Builder { self } + /// 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 { + self.options.sort_semantically = 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. @@ -2005,6 +2018,9 @@ struct BindgenOptions { /// Emit vtable functions. vtable_generation: bool, + + /// Sort the code generation + sort_semantically: bool, } /// TODO(emilio): This is sort of a lie (see the error message that results from @@ -2153,6 +2169,7 @@ impl Default for BindgenOptions { c_naming: false, force_explicit_padding: false, vtable_generation: false, + sort_semantically: false, } } } @@ -2222,6 +2239,7 @@ impl std::error::Error for BindgenError {} #[derive(Debug)] pub struct Bindings { options: BindgenOptions, + warnings: Vec<String>, module: proc_macro2::TokenStream, } @@ -2435,10 +2453,65 @@ impl Bindings { parse(&mut context)?; } - let (items, options) = codegen::codegen(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 )* + }, + }); + } Ok(Bindings { options, + warnings, module: quote! { #( #items )* }, @@ -2583,6 +2656,23 @@ impl Bindings { _ => Ok(Cow::Owned(source)), } } + + /// Emit all the warning messages raised while generating the bindings in a build script. + /// + /// If you are using `bindgen` outside of a build script you should use [`Bindings::warnings`] + /// and handle the messages accordingly instead. + #[inline] + pub fn emit_warnings(&self) { + for message in &self.warnings { + println!("cargo:warning={}", message); + } + } + + /// Return all the warning messages raised while generating the bindings. + #[inline] + pub fn warnings(&self) -> &[String] { + &self.warnings + } } impl std::fmt::Display for Bindings { diff --git a/src/options.rs b/src/options.rs index 4e1fb93f..83da21f4 100644 --- a/src/options.rs +++ b/src/options.rs @@ -55,21 +55,18 @@ where bitfield flags.", ) .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("newtype-enum") .long("newtype-enum") .help("Mark any enum whose name matches <regex> as a newtype.") .value_name("regex") - .takes_value(true) .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.") .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("constified-enum") @@ -79,7 +76,6 @@ where constants.", ) .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("constified-enum-module") @@ -89,7 +85,6 @@ where constants.", ) .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("default-macro-constant-type") @@ -117,7 +112,6 @@ where normal type aliasing.", ) .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("new-type-alias") @@ -127,7 +121,6 @@ where a new type generated for it.", ) .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("new-type-alias-deref") @@ -137,7 +130,6 @@ where a new type with Deref and DerefMut to the inner type.", ) .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("blocklist-type") @@ -145,7 +137,6 @@ where .long("blocklist-type") .help("Mark <type> as hidden.") .value_name("type") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("blocklist-function") @@ -153,7 +144,6 @@ where .long("blocklist-function") .help("Mark <function> as hidden.") .value_name("function") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("blocklist-item") @@ -161,7 +151,6 @@ where .long("blocklist-item") .help("Mark <item> as hidden.") .value_name("item") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("blocklist-file") @@ -169,7 +158,6 @@ where .long("blocklist-file") .help("Mark all contents of <path> as hidden.") .value_name("path") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("no-layout-tests") @@ -256,14 +244,12 @@ where "Use the given prefix before raw types instead of \ ::std::os::raw.", ) - .value_name("prefix") - .takes_value(true), + .value_name("prefix"), Arg::new("anon-fields-prefix") .long("anon-fields-prefix") .help("Use the given prefix for the anon fields.") .value_name("prefix") - .default_value(DEFAULT_ANON_FIELDS_PREFIX) - .takes_value(true), + .default_value(DEFAULT_ANON_FIELDS_PREFIX), Arg::new("time-phases") .long("time-phases") .help("Time the different bindgen phases and print to stderr"), @@ -278,8 +264,7 @@ where Arg::new("emit-ir-graphviz") .long("emit-ir-graphviz") .help("Dump graphviz dot file.") - .value_name("path") - .takes_value(true), + .value_name("path"), Arg::new("enable-cxx-namespaces") .long("enable-cxx-namespaces") .help("Enable support for C++ namespaces."), @@ -343,7 +328,6 @@ where .long("opaque-type") .help("Mark <type> as opaque.") .value_name("type") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("output") @@ -354,13 +338,11 @@ where Arg::new("raw-line") .long("raw-line") .help("Add a raw line of Rust code at the beginning of output.") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("module-raw-line") .long("module-raw-line") .help("Add a raw line of Rust code to a given module.") - .takes_value(true) .multiple_occurrences(true) .number_of_values(2) .value_names(&["module-name", "raw-line"]), @@ -389,7 +371,6 @@ where generated.", ) .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("generate-inline-functions") @@ -403,7 +384,6 @@ where not be generated.", ) .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("allowlist-var") @@ -415,7 +395,6 @@ where generated.", ) .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("allowlist-file") @@ -423,7 +402,6 @@ where .long("allowlist-file") .help("Allowlist all contents of <path>.") .value_name("path") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("verbose") @@ -464,49 +442,42 @@ where This parameter is incompatible with --no-rustfmt-bindings.", ) .value_name("path") - .takes_value(true) .multiple_occurrences(false) .number_of_values(1), Arg::new("no-partialeq") .long("no-partialeq") .help("Avoid deriving PartialEq for types matching <regex>.") .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("no-copy") .long("no-copy") .help("Avoid deriving Copy for types matching <regex>.") .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("no-debug") .long("no-debug") .help("Avoid deriving Debug for types matching <regex>.") .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("no-default") .long("no-default") .help("Avoid deriving/implement Default for types matching <regex>.") .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("no-hash") .long("no-hash") .help("Avoid deriving Hash for types matching <regex>.") .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("must-use-type") .long("must-use-type") .help("Add #[must_use] annotation to types matching <regex>.") .value_name("regex") - .takes_value(true) .multiple_occurrences(true) .number_of_values(1), Arg::new("enable-function-attribute-detection") @@ -521,7 +492,6 @@ where Arg::new("wasm-import-module-name") .long("wasm-import-module-name") .value_name("name") - .takes_value(true) .help("The name to be used in a #[link(wasm_import_module = ...)] statement"), Arg::new("dynamic-loading") .long("dynamic-loading") @@ -545,6 +515,9 @@ where Arg::new("vtable-generation") .long("vtable-generation") .help("Enables generation of vtable functions."), + Arg::new("sort-semantically") + .long("sort-semantically") + .help("Enables sorting of code generation in a predefined manner."), Arg::new("V") .long("version") .help("Prints the version, and exits"), @@ -1030,5 +1003,9 @@ where builder = builder.vtable_generation(true); } + if matches.is_present("sort-semantically") { + builder = builder.sort_semantically(true); + } + Ok((builder, output, verbose)) } diff --git a/tests/expectations/tests/16-byte-alignment.rs b/tests/expectations/tests/16-byte-alignment.rs index 6aa491d6..a60a63aa 100644 --- a/tests/expectations/tests/16-byte-alignment.rs +++ b/tests/expectations/tests/16-byte-alignment.rs @@ -26,6 +26,10 @@ pub struct rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1>(), 4usize, @@ -42,47 +46,32 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1() { stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1) ) ); - fn test_field_dport() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dport) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(dport) - ) - ); - } - test_field_dport(); - fn test_field_sport() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sport) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(sport) - ) - ); - } - test_field_sport(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sport) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(sport) + ) + ); } #[test] fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_ipv4_tuple__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv4_tuple__bindgen_ty_1>(), 4usize, @@ -93,25 +82,18 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(rte_ipv4_tuple__bindgen_ty_1)) ); - fn test_field_sctp_tag() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv4_tuple__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sctp_tag) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple__bindgen_ty_1), - "::", - stringify!(sctp_tag) - ) - ); - } - test_field_sctp_tag(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).sctp_tag) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple__bindgen_ty_1), + "::", + stringify!(sctp_tag) + ) + ); } impl Default for rte_ipv4_tuple__bindgen_ty_1 { fn default() -> Self { @@ -124,6 +106,9 @@ impl Default for rte_ipv4_tuple__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv4_tuple() { + const UNINIT: ::std::mem::MaybeUninit<rte_ipv4_tuple> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv4_tuple>(), 12usize, @@ -134,42 +119,30 @@ fn bindgen_test_layout_rte_ipv4_tuple() { 4usize, concat!("Alignment of ", stringify!(rte_ipv4_tuple)) ); - fn test_field_src_addr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ipv4_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_addr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple), - "::", - stringify!(src_addr) - ) - ); - } - test_field_src_addr(); - fn test_field_dst_addr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ipv4_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_addr) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple), - "::", - stringify!(dst_addr) - ) - ); - } - test_field_dst_addr(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).src_addr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple), + "::", + stringify!(src_addr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dst_addr) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple), + "::", + stringify!(dst_addr) + ) + ); } impl Default for rte_ipv4_tuple { fn default() -> Self { @@ -201,6 +174,10 @@ pub struct rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1>(), 4usize, @@ -217,47 +194,32 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1() { stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1) ) ); - fn test_field_dport() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dport) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(dport) - ) - ); - } - test_field_dport(); - fn test_field_sport() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sport) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(sport) - ) - ); - } - test_field_sport(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sport) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(sport) + ) + ); } #[test] fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_ipv6_tuple__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv6_tuple__bindgen_ty_1>(), 4usize, @@ -268,25 +230,18 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(rte_ipv6_tuple__bindgen_ty_1)) ); - fn test_field_sctp_tag() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv6_tuple__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sctp_tag) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple__bindgen_ty_1), - "::", - stringify!(sctp_tag) - ) - ); - } - test_field_sctp_tag(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).sctp_tag) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple__bindgen_ty_1), + "::", + stringify!(sctp_tag) + ) + ); } impl Default for rte_ipv6_tuple__bindgen_ty_1 { fn default() -> Self { @@ -299,6 +254,9 @@ impl Default for rte_ipv6_tuple__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv6_tuple() { + const UNINIT: ::std::mem::MaybeUninit<rte_ipv6_tuple> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv6_tuple>(), 36usize, @@ -309,42 +267,30 @@ fn bindgen_test_layout_rte_ipv6_tuple() { 4usize, concat!("Alignment of ", stringify!(rte_ipv6_tuple)) ); - fn test_field_src_addr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ipv6_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_addr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple), - "::", - stringify!(src_addr) - ) - ); - } - test_field_src_addr(); - fn test_field_dst_addr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ipv6_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_addr) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple), - "::", - stringify!(dst_addr) - ) - ); - } - test_field_dst_addr(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).src_addr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple), + "::", + stringify!(src_addr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dst_addr) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple), + "::", + stringify!(dst_addr) + ) + ); } impl Default for rte_ipv6_tuple { fn default() -> Self { @@ -364,6 +310,9 @@ pub union rte_thash_tuple { } #[test] fn bindgen_test_layout_rte_thash_tuple() { + const UNINIT: ::std::mem::MaybeUninit<rte_thash_tuple> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_thash_tuple>(), 48usize, @@ -374,42 +323,26 @@ fn bindgen_test_layout_rte_thash_tuple() { 16usize, concat!("Alignment of ", stringify!(rte_thash_tuple)) ); - fn test_field_v4() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_thash_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).v4) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_thash_tuple), - "::", - stringify!(v4) - ) - ); - } - test_field_v4(); - fn test_field_v6() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_thash_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).v6) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_thash_tuple), - "::", - stringify!(v6) - ) - ); - } - test_field_v6(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).v4) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_thash_tuple), + "::", + stringify!(v4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).v6) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_thash_tuple), + "::", + stringify!(v6) + ) + ); } impl Default for rte_thash_tuple { fn default() -> Self { diff --git a/tests/expectations/tests/16-byte-alignment_1_0.rs b/tests/expectations/tests/16-byte-alignment_1_0.rs index b798697a..369e2c75 100644 --- a/tests/expectations/tests/16-byte-alignment_1_0.rs +++ b/tests/expectations/tests/16-byte-alignment_1_0.rs @@ -71,6 +71,10 @@ pub struct rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1>(), 4usize, @@ -87,44 +91,26 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1() { stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1) ) ); - fn test_field_dport() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dport) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(dport) - ) - ); - } - test_field_dport(); - fn test_field_sport() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sport) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(sport) - ) - ); - } - test_field_sport(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sport) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(sport) + ) + ); } impl Clone for rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { @@ -133,6 +119,9 @@ impl Clone for rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_ipv4_tuple__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv4_tuple__bindgen_ty_1>(), 4usize, @@ -143,25 +132,18 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(rte_ipv4_tuple__bindgen_ty_1)) ); - fn test_field_sctp_tag() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv4_tuple__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sctp_tag) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple__bindgen_ty_1), - "::", - stringify!(sctp_tag) - ) - ); - } - test_field_sctp_tag(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).sctp_tag) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple__bindgen_ty_1), + "::", + stringify!(sctp_tag) + ) + ); } impl Clone for rte_ipv4_tuple__bindgen_ty_1 { fn clone(&self) -> Self { @@ -170,6 +152,9 @@ impl Clone for rte_ipv4_tuple__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv4_tuple() { + const UNINIT: ::std::mem::MaybeUninit<rte_ipv4_tuple> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv4_tuple>(), 12usize, @@ -180,42 +165,30 @@ fn bindgen_test_layout_rte_ipv4_tuple() { 4usize, concat!("Alignment of ", stringify!(rte_ipv4_tuple)) ); - fn test_field_src_addr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ipv4_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_addr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple), - "::", - stringify!(src_addr) - ) - ); - } - test_field_src_addr(); - fn test_field_dst_addr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ipv4_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_addr) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv4_tuple), - "::", - stringify!(dst_addr) - ) - ); - } - test_field_dst_addr(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).src_addr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple), + "::", + stringify!(src_addr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dst_addr) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv4_tuple), + "::", + stringify!(dst_addr) + ) + ); } impl Clone for rte_ipv4_tuple { fn clone(&self) -> Self { @@ -245,6 +218,10 @@ pub struct rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1>(), 4usize, @@ -261,44 +238,26 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1() { stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1) ) ); - fn test_field_dport() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dport) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(dport) - ) - ); - } - test_field_dport(); - fn test_field_sport() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sport) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(sport) - ) - ); - } - test_field_sport(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sport) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(sport) + ) + ); } impl Clone for rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { @@ -307,6 +266,9 @@ impl Clone for rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_ipv6_tuple__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv6_tuple__bindgen_ty_1>(), 4usize, @@ -317,25 +279,18 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(rte_ipv6_tuple__bindgen_ty_1)) ); - fn test_field_sctp_tag() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_ipv6_tuple__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sctp_tag) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple__bindgen_ty_1), - "::", - stringify!(sctp_tag) - ) - ); - } - test_field_sctp_tag(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).sctp_tag) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple__bindgen_ty_1), + "::", + stringify!(sctp_tag) + ) + ); } impl Clone for rte_ipv6_tuple__bindgen_ty_1 { fn clone(&self) -> Self { @@ -344,6 +299,9 @@ impl Clone for rte_ipv6_tuple__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_ipv6_tuple() { + const UNINIT: ::std::mem::MaybeUninit<rte_ipv6_tuple> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ipv6_tuple>(), 36usize, @@ -354,42 +312,30 @@ fn bindgen_test_layout_rte_ipv6_tuple() { 4usize, concat!("Alignment of ", stringify!(rte_ipv6_tuple)) ); - fn test_field_src_addr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ipv6_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_addr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple), - "::", - stringify!(src_addr) - ) - ); - } - test_field_src_addr(); - fn test_field_dst_addr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ipv6_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_addr) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_ipv6_tuple), - "::", - stringify!(dst_addr) - ) - ); - } - test_field_dst_addr(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).src_addr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple), + "::", + stringify!(src_addr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dst_addr) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_ipv6_tuple), + "::", + stringify!(dst_addr) + ) + ); } impl Clone for rte_ipv6_tuple { fn clone(&self) -> Self { @@ -405,47 +351,34 @@ pub struct rte_thash_tuple { } #[test] fn bindgen_test_layout_rte_thash_tuple() { + const UNINIT: ::std::mem::MaybeUninit<rte_thash_tuple> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_thash_tuple>(), 48usize, concat!("Size of: ", stringify!(rte_thash_tuple)) ); - fn test_field_v4() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_thash_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).v4) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_thash_tuple), - "::", - stringify!(v4) - ) - ); - } - test_field_v4(); - fn test_field_v6() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_thash_tuple>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).v6) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_thash_tuple), - "::", - stringify!(v6) - ) - ); - } - test_field_v6(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).v4) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_thash_tuple), + "::", + stringify!(v4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).v6) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_thash_tuple), + "::", + stringify!(v6) + ) + ); } impl Clone for rte_thash_tuple { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/accessors.rs b/tests/expectations/tests/accessors.rs index 843b792e..05fdaf4c 100644 --- a/tests/expectations/tests/accessors.rs +++ b/tests/expectations/tests/accessors.rs @@ -18,6 +18,9 @@ pub struct SomeAccessors { } #[test] fn bindgen_test_layout_SomeAccessors() { + const UNINIT: ::std::mem::MaybeUninit<SomeAccessors> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<SomeAccessors>(), 16usize, @@ -28,77 +31,56 @@ fn bindgen_test_layout_SomeAccessors() { 4usize, concat!("Alignment of ", stringify!(SomeAccessors)) ); - fn test_field_mNoAccessor() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<SomeAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mNoAccessor) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(SomeAccessors), - "::", - stringify!(mNoAccessor) - ) - ); - } - test_field_mNoAccessor(); - fn test_field_mBothAccessors() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<SomeAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBothAccessors) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(SomeAccessors), - "::", - stringify!(mBothAccessors) - ) - ); - } - test_field_mBothAccessors(); - fn test_field_mUnsafeAccessors() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<SomeAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mUnsafeAccessors) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(SomeAccessors), - "::", - stringify!(mUnsafeAccessors) - ) - ); - } - test_field_mUnsafeAccessors(); - fn test_field_mImmutableAccessor() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<SomeAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mImmutableAccessor) as usize - - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(SomeAccessors), - "::", - stringify!(mImmutableAccessor) - ) - ); - } - test_field_mImmutableAccessor(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mNoAccessor) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SomeAccessors), + "::", + stringify!(mNoAccessor) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBothAccessors) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SomeAccessors), + "::", + stringify!(mBothAccessors) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mUnsafeAccessors) as usize - + ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SomeAccessors), + "::", + stringify!(mUnsafeAccessors) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mImmutableAccessor) as usize - + ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(SomeAccessors), + "::", + stringify!(mImmutableAccessor) + ) + ); } impl SomeAccessors { #[inline] @@ -133,6 +115,9 @@ pub struct AllAccessors { } #[test] fn bindgen_test_layout_AllAccessors() { + const UNINIT: ::std::mem::MaybeUninit<AllAccessors> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AllAccessors>(), 8usize, @@ -143,42 +128,31 @@ fn bindgen_test_layout_AllAccessors() { 4usize, concat!("Alignment of ", stringify!(AllAccessors)) ); - fn test_field_mBothAccessors() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AllAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBothAccessors) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AllAccessors), - "::", - stringify!(mBothAccessors) - ) - ); - } - test_field_mBothAccessors(); - fn test_field_mAlsoBothAccessors() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AllAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mAlsoBothAccessors) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(AllAccessors), - "::", - stringify!(mAlsoBothAccessors) - ) - ); - } - test_field_mAlsoBothAccessors(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBothAccessors) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AllAccessors), + "::", + stringify!(mBothAccessors) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mAlsoBothAccessors) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(AllAccessors), + "::", + stringify!(mAlsoBothAccessors) + ) + ); } impl AllAccessors { #[inline] @@ -207,6 +181,9 @@ pub struct AllUnsafeAccessors { } #[test] fn bindgen_test_layout_AllUnsafeAccessors() { + const UNINIT: ::std::mem::MaybeUninit<AllUnsafeAccessors> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AllUnsafeAccessors>(), 8usize, @@ -217,44 +194,31 @@ fn bindgen_test_layout_AllUnsafeAccessors() { 4usize, concat!("Alignment of ", stringify!(AllUnsafeAccessors)) ); - fn test_field_mBothAccessors() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<AllUnsafeAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBothAccessors) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AllUnsafeAccessors), - "::", - stringify!(mBothAccessors) - ) - ); - } - test_field_mBothAccessors(); - fn test_field_mAlsoBothAccessors() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<AllUnsafeAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mAlsoBothAccessors) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(AllUnsafeAccessors), - "::", - stringify!(mAlsoBothAccessors) - ) - ); - } - test_field_mAlsoBothAccessors(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBothAccessors) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AllUnsafeAccessors), + "::", + stringify!(mBothAccessors) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mAlsoBothAccessors) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(AllUnsafeAccessors), + "::", + stringify!(mAlsoBothAccessors) + ) + ); } impl AllUnsafeAccessors { #[inline] @@ -292,6 +256,9 @@ pub struct ContradictAccessors { } #[test] fn bindgen_test_layout_ContradictAccessors() { + const UNINIT: ::std::mem::MaybeUninit<ContradictAccessors> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContradictAccessors>(), 16usize, @@ -302,82 +269,56 @@ fn bindgen_test_layout_ContradictAccessors() { 4usize, concat!("Alignment of ", stringify!(ContradictAccessors)) ); - fn test_field_mBothAccessors() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContradictAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBothAccessors) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContradictAccessors), - "::", - stringify!(mBothAccessors) - ) - ); - } - test_field_mBothAccessors(); - fn test_field_mNoAccessors() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContradictAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mNoAccessors) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ContradictAccessors), - "::", - stringify!(mNoAccessors) - ) - ); - } - test_field_mNoAccessors(); - fn test_field_mUnsafeAccessors() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContradictAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mUnsafeAccessors) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ContradictAccessors), - "::", - stringify!(mUnsafeAccessors) - ) - ); - } - test_field_mUnsafeAccessors(); - fn test_field_mImmutableAccessor() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContradictAccessors>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mImmutableAccessor) as usize - - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(ContradictAccessors), - "::", - stringify!(mImmutableAccessor) - ) - ); - } - test_field_mImmutableAccessor(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBothAccessors) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContradictAccessors), + "::", + stringify!(mBothAccessors) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mNoAccessors) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ContradictAccessors), + "::", + stringify!(mNoAccessors) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mUnsafeAccessors) as usize - + ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ContradictAccessors), + "::", + stringify!(mUnsafeAccessors) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mImmutableAccessor) as usize - + ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ContradictAccessors), + "::", + stringify!(mImmutableAccessor) + ) + ); } impl ContradictAccessors { #[inline] @@ -411,6 +352,9 @@ pub struct Replaced { } #[test] fn bindgen_test_layout_Replaced() { + const UNINIT: ::std::mem::MaybeUninit<Replaced> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Replaced>(), 4usize, @@ -421,23 +365,18 @@ fn bindgen_test_layout_Replaced() { 4usize, concat!("Alignment of ", stringify!(Replaced)) ); - fn test_field_mAccessor() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Replaced>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mAccessor) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Replaced), - "::", - stringify!(mAccessor) - ) - ); - } - test_field_mAccessor(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mAccessor) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Replaced), + "::", + stringify!(mAccessor) + ) + ); } impl Replaced { #[inline] @@ -457,6 +396,9 @@ pub struct Wrapper { } #[test] fn bindgen_test_layout_Wrapper() { + const UNINIT: ::std::mem::MaybeUninit<Wrapper> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Wrapper>(), 4usize, @@ -467,23 +409,18 @@ fn bindgen_test_layout_Wrapper() { 4usize, concat!("Alignment of ", stringify!(Wrapper)) ); - fn test_field_mReplaced() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Wrapper>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mReplaced) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Wrapper), - "::", - stringify!(mReplaced) - ) - ); - } - test_field_mReplaced(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mReplaced) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Wrapper), + "::", + stringify!(mReplaced) + ) + ); } impl Wrapper { #[inline] diff --git a/tests/expectations/tests/allowlist-file.rs b/tests/expectations/tests/allowlist-file.rs index e737fe82..3b72fb75 100644 --- a/tests/expectations/tests/allowlist-file.rs +++ b/tests/expectations/tests/allowlist-file.rs @@ -58,6 +58,9 @@ pub struct StructWithAllowlistedDefinition { } #[test] fn bindgen_test_layout_StructWithAllowlistedDefinition() { + const UNINIT: ::std::mem::MaybeUninit<StructWithAllowlistedDefinition> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<StructWithAllowlistedDefinition>(), 8usize, @@ -68,25 +71,16 @@ fn bindgen_test_layout_StructWithAllowlistedDefinition() { 8usize, concat!("Alignment of ", stringify!(StructWithAllowlistedDefinition)) ); - fn test_field_other() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - StructWithAllowlistedDefinition, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(StructWithAllowlistedDefinition), - "::", - stringify!(other) - ) - ); - } - test_field_other(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(StructWithAllowlistedDefinition), + "::", + stringify!(other) + ) + ); } impl Default for StructWithAllowlistedDefinition { fn default() -> Self { @@ -104,6 +98,9 @@ pub struct StructWithAllowlistedFwdDecl { } #[test] fn bindgen_test_layout_StructWithAllowlistedFwdDecl() { + const UNINIT: ::std::mem::MaybeUninit<StructWithAllowlistedFwdDecl> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<StructWithAllowlistedFwdDecl>(), 4usize, @@ -114,25 +111,16 @@ fn bindgen_test_layout_StructWithAllowlistedFwdDecl() { 4usize, concat!("Alignment of ", stringify!(StructWithAllowlistedFwdDecl)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - StructWithAllowlistedFwdDecl, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(StructWithAllowlistedFwdDecl), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(StructWithAllowlistedFwdDecl), + "::", + stringify!(b) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -141,6 +129,9 @@ pub struct AllowlistMe { } #[test] fn bindgen_test_layout_AllowlistMe() { + const UNINIT: ::std::mem::MaybeUninit<AllowlistMe> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AllowlistMe>(), 4usize, @@ -151,21 +142,14 @@ fn bindgen_test_layout_AllowlistMe() { 4usize, concat!("Alignment of ", stringify!(AllowlistMe)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AllowlistMe>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AllowlistMe), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AllowlistMe), + "::", + stringify!(foo) + ) + ); } diff --git a/tests/expectations/tests/allowlist-namespaces.rs b/tests/expectations/tests/allowlist-namespaces.rs index ac868c64..ee9fe428 100644 --- a/tests/expectations/tests/allowlist-namespaces.rs +++ b/tests/expectations/tests/allowlist-namespaces.rs @@ -41,6 +41,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Test() { + const UNINIT: ::std::mem::MaybeUninit<Test> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Test>(), 1usize, @@ -51,24 +54,18 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(Test)) ); - fn test_field_helper() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).helper) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(helper) - ) - ); - } - test_field_helper(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).helper) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Test), + "::", + stringify!(helper) + ) + ); } } } diff --git a/tests/expectations/tests/allowlist_warnings.rs b/tests/expectations/tests/allowlist_warnings.rs new file mode 100644 index 00000000..131dbdf3 --- /dev/null +++ b/tests/expectations/tests/allowlist_warnings.rs @@ -0,0 +1,6 @@ +#![allow( + dead_code, + non_snake_case, + non_camel_case_types, + non_upper_case_globals +)] diff --git a/tests/expectations/tests/allowlisted-item-references-no-hash.rs b/tests/expectations/tests/allowlisted-item-references-no-hash.rs index 82701634..56dc5bce 100644 --- a/tests/expectations/tests/allowlisted-item-references-no-hash.rs +++ b/tests/expectations/tests/allowlisted-item-references-no-hash.rs @@ -30,6 +30,9 @@ pub struct AllowlistMe { } #[test] fn bindgen_test_layout_AllowlistMe() { + const UNINIT: ::std::mem::MaybeUninit<AllowlistMe> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AllowlistMe>(), 1usize, @@ -40,21 +43,14 @@ fn bindgen_test_layout_AllowlistMe() { 1usize, concat!("Alignment of ", stringify!(AllowlistMe)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AllowlistMe>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AllowlistMe), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AllowlistMe), + "::", + stringify!(a) + ) + ); } diff --git a/tests/expectations/tests/allowlisted-item-references-no-partialeq.rs b/tests/expectations/tests/allowlisted-item-references-no-partialeq.rs index ec4e0c9d..36cdda0e 100644 --- a/tests/expectations/tests/allowlisted-item-references-no-partialeq.rs +++ b/tests/expectations/tests/allowlisted-item-references-no-partialeq.rs @@ -30,6 +30,9 @@ pub struct AllowlistMe { } #[test] fn bindgen_test_layout_AllowlistMe() { + const UNINIT: ::std::mem::MaybeUninit<AllowlistMe> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AllowlistMe>(), 1usize, @@ -40,21 +43,14 @@ fn bindgen_test_layout_AllowlistMe() { 1usize, concat!("Alignment of ", stringify!(AllowlistMe)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AllowlistMe>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AllowlistMe), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AllowlistMe), + "::", + stringify!(a) + ) + ); } diff --git a/tests/expectations/tests/allowlisted_item_references_no_copy.rs b/tests/expectations/tests/allowlisted_item_references_no_copy.rs index 9f6685ec..625e0ce6 100644 --- a/tests/expectations/tests/allowlisted_item_references_no_copy.rs +++ b/tests/expectations/tests/allowlisted_item_references_no_copy.rs @@ -30,6 +30,9 @@ pub struct AllowlistMe { } #[test] fn bindgen_test_layout_AllowlistMe() { + const UNINIT: ::std::mem::MaybeUninit<AllowlistMe> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AllowlistMe>(), 1usize, @@ -40,21 +43,14 @@ fn bindgen_test_layout_AllowlistMe() { 1usize, concat!("Alignment of ", stringify!(AllowlistMe)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AllowlistMe>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AllowlistMe), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AllowlistMe), + "::", + stringify!(a) + ) + ); } diff --git a/tests/expectations/tests/annotation_hide.rs b/tests/expectations/tests/annotation_hide.rs index a899195e..a90c4261 100644 --- a/tests/expectations/tests/annotation_hide.rs +++ b/tests/expectations/tests/annotation_hide.rs @@ -32,6 +32,9 @@ pub struct NotAnnotated { } #[test] fn bindgen_test_layout_NotAnnotated() { + const UNINIT: ::std::mem::MaybeUninit<NotAnnotated> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NotAnnotated>(), 4usize, @@ -42,21 +45,14 @@ fn bindgen_test_layout_NotAnnotated() { 4usize, concat!("Alignment of ", stringify!(NotAnnotated)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<NotAnnotated>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NotAnnotated), - "::", - stringify!(f) - ) - ); - } - test_field_f(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NotAnnotated), + "::", + stringify!(f) + ) + ); } diff --git a/tests/expectations/tests/anon-fields-prefix.rs b/tests/expectations/tests/anon-fields-prefix.rs index a77bc8a7..d09cab40 100644 --- a/tests/expectations/tests/anon-fields-prefix.rs +++ b/tests/expectations/tests/anon-fields-prefix.rs @@ -21,6 +21,9 @@ pub struct color__bindgen_ty_1 { } #[test] fn bindgen_test_layout_color__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<color__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<color__bindgen_ty_1>(), 3usize, @@ -31,60 +34,36 @@ fn bindgen_test_layout_color__bindgen_ty_1() { 1usize, concat!("Alignment of ", stringify!(color__bindgen_ty_1)) ); - fn test_field_r() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<color__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(color__bindgen_ty_1), - "::", - stringify!(r) - ) - ); - } - test_field_r(); - fn test_field_g() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<color__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize - }, - 1usize, - concat!( - "Offset of field: ", - stringify!(color__bindgen_ty_1), - "::", - stringify!(g) - ) - ); - } - test_field_g(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<color__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(color__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(color__bindgen_ty_1), + "::", + stringify!(r) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(color__bindgen_ty_1), + "::", + stringify!(g) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(color__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -95,6 +74,9 @@ pub struct color__bindgen_ty_2 { } #[test] fn bindgen_test_layout_color__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<color__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<color__bindgen_ty_2>(), 3usize, @@ -105,63 +87,42 @@ fn bindgen_test_layout_color__bindgen_ty_2() { 1usize, concat!("Alignment of ", stringify!(color__bindgen_ty_2)) ); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<color__bindgen_ty_2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(color__bindgen_ty_2), - "::", - stringify!(y) - ) - ); - } - test_field_y(); - fn test_field_u() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<color__bindgen_ty_2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize - }, - 1usize, - concat!( - "Offset of field: ", - stringify!(color__bindgen_ty_2), - "::", - stringify!(u) - ) - ); - } - test_field_u(); - fn test_field_v() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<color__bindgen_ty_2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(color__bindgen_ty_2), - "::", - stringify!(v) - ) - ); - } - test_field_v(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(color__bindgen_ty_2), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(color__bindgen_ty_2), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(color__bindgen_ty_2), + "::", + stringify!(v) + ) + ); } #[test] fn bindgen_test_layout_color() { + const UNINIT: ::std::mem::MaybeUninit<color> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<color>(), 3usize, @@ -172,23 +133,11 @@ fn bindgen_test_layout_color() { 1usize, concat!("Alignment of ", stringify!(color)) ); - fn test_field_v3() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<color>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).v3) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(color), - "::", - stringify!(v3) - ) - ); - } - test_field_v3(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).v3) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(color), "::", stringify!(v3)) + ); } impl Default for color { fn default() -> Self { diff --git a/tests/expectations/tests/anon_enum.rs b/tests/expectations/tests/anon_enum.rs index 06e98e71..429f94ce 100644 --- a/tests/expectations/tests/anon_enum.rs +++ b/tests/expectations/tests/anon_enum.rs @@ -19,6 +19,9 @@ pub enum Test__bindgen_ty_1 { } #[test] fn bindgen_test_layout_Test() { + const UNINIT: ::std::mem::MaybeUninit<Test> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Test>(), 8usize, @@ -29,40 +32,16 @@ fn bindgen_test_layout_Test() { 4usize, concat!("Alignment of ", stringify!(Test)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(foo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(bar)) + ); } #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/tests/expectations/tests/anon_struct_in_union.rs b/tests/expectations/tests/anon_struct_in_union.rs index 49caa13b..f32b057b 100644 --- a/tests/expectations/tests/anon_struct_in_union.rs +++ b/tests/expectations/tests/anon_struct_in_union.rs @@ -22,6 +22,9 @@ pub struct s__bindgen_ty_1_inner { } #[test] fn bindgen_test_layout_s__bindgen_ty_1_inner() { + const UNINIT: ::std::mem::MaybeUninit<s__bindgen_ty_1_inner> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<s__bindgen_ty_1_inner>(), 4usize, @@ -32,27 +35,22 @@ fn bindgen_test_layout_s__bindgen_ty_1_inner() { 4usize, concat!("Alignment of ", stringify!(s__bindgen_ty_1_inner)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<s__bindgen_ty_1_inner>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(s__bindgen_ty_1_inner), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(s__bindgen_ty_1_inner), + "::", + stringify!(b) + ) + ); } #[test] fn bindgen_test_layout_s__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<s__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<s__bindgen_ty_1>(), 4usize, @@ -63,24 +61,16 @@ fn bindgen_test_layout_s__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(s__bindgen_ty_1)) ); - fn test_field_field() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<s__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(s__bindgen_ty_1), - "::", - stringify!(field) - ) - ); - } - test_field_field(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(s__bindgen_ty_1), + "::", + stringify!(field) + ) + ); } impl Default for s__bindgen_ty_1 { fn default() -> Self { @@ -93,6 +83,9 @@ impl Default for s__bindgen_ty_1 { } #[test] fn bindgen_test_layout_s() { + const UNINIT: ::std::mem::MaybeUninit<s> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<s>(), 4usize, @@ -103,18 +96,11 @@ fn bindgen_test_layout_s() { 4usize, concat!("Alignment of ", stringify!(s)) ); - fn test_field_u() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<s>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(s), "::", stringify!(u)) - ); - } - test_field_u(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(s), "::", stringify!(u)) + ); } impl Default for s { fn default() -> Self { diff --git a/tests/expectations/tests/anon_struct_in_union_1_0.rs b/tests/expectations/tests/anon_struct_in_union_1_0.rs index 492ed6ca..cbc5ac9b 100644 --- a/tests/expectations/tests/anon_struct_in_union_1_0.rs +++ b/tests/expectations/tests/anon_struct_in_union_1_0.rs @@ -66,6 +66,9 @@ pub struct s__bindgen_ty_1_inner { } #[test] fn bindgen_test_layout_s__bindgen_ty_1_inner() { + const UNINIT: ::std::mem::MaybeUninit<s__bindgen_ty_1_inner> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<s__bindgen_ty_1_inner>(), 4usize, @@ -76,24 +79,16 @@ fn bindgen_test_layout_s__bindgen_ty_1_inner() { 4usize, concat!("Alignment of ", stringify!(s__bindgen_ty_1_inner)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<s__bindgen_ty_1_inner>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(s__bindgen_ty_1_inner), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(s__bindgen_ty_1_inner), + "::", + stringify!(b) + ) + ); } impl Clone for s__bindgen_ty_1_inner { fn clone(&self) -> Self { @@ -102,6 +97,9 @@ impl Clone for s__bindgen_ty_1_inner { } #[test] fn bindgen_test_layout_s__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<s__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<s__bindgen_ty_1>(), 4usize, @@ -112,24 +110,16 @@ fn bindgen_test_layout_s__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(s__bindgen_ty_1)) ); - fn test_field_field() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<s__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(s__bindgen_ty_1), - "::", - stringify!(field) - ) - ); - } - test_field_field(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).field) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(s__bindgen_ty_1), + "::", + stringify!(field) + ) + ); } impl Clone for s__bindgen_ty_1 { fn clone(&self) -> Self { @@ -138,6 +128,9 @@ impl Clone for s__bindgen_ty_1 { } #[test] fn bindgen_test_layout_s() { + const UNINIT: ::std::mem::MaybeUninit<s> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<s>(), 4usize, @@ -148,18 +141,11 @@ fn bindgen_test_layout_s() { 4usize, concat!("Alignment of ", stringify!(s)) ); - fn test_field_u() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<s>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(s), "::", stringify!(u)) - ); - } - test_field_u(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(s), "::", stringify!(u)) + ); } impl Clone for s { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/array-of-zero-sized-types.rs b/tests/expectations/tests/array-of-zero-sized-types.rs index 875aef10..ad1f22ed 100644 --- a/tests/expectations/tests/array-of-zero-sized-types.rs +++ b/tests/expectations/tests/array-of-zero-sized-types.rs @@ -33,6 +33,9 @@ pub struct HasArrayOfEmpty { } #[test] fn bindgen_test_layout_HasArrayOfEmpty() { + const UNINIT: ::std::mem::MaybeUninit<HasArrayOfEmpty> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<HasArrayOfEmpty>(), 10usize, @@ -43,22 +46,14 @@ fn bindgen_test_layout_HasArrayOfEmpty() { 1usize, concat!("Alignment of ", stringify!(HasArrayOfEmpty)) ); - fn test_field_empties() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<HasArrayOfEmpty>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).empties) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(HasArrayOfEmpty), - "::", - stringify!(empties) - ) - ); - } - test_field_empties(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).empties) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HasArrayOfEmpty), + "::", + stringify!(empties) + ) + ); } diff --git a/tests/expectations/tests/bindgen-union-inside-namespace.rs b/tests/expectations/tests/bindgen-union-inside-namespace.rs index 04cdf0b4..8a091cb5 100644 --- a/tests/expectations/tests/bindgen-union-inside-namespace.rs +++ b/tests/expectations/tests/bindgen-union-inside-namespace.rs @@ -67,6 +67,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 4usize, @@ -77,40 +80,30 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(foo) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(bar) + ) + ); } impl Clone for Bar { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/bitfield-linux-32.rs b/tests/expectations/tests/bitfield-linux-32.rs index dd41d92d..44c68626 100644 --- a/tests/expectations/tests/bitfield-linux-32.rs +++ b/tests/expectations/tests/bitfield-linux-32.rs @@ -100,6 +100,9 @@ pub struct Test { } #[test] fn bindgen_test_layout_Test() { + const UNINIT: ::std::mem::MaybeUninit<Test> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Test>(), 16usize, @@ -110,23 +113,11 @@ fn bindgen_test_layout_Test() { 4usize, concat!("Alignment of ", stringify!(Test)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(foo)) + ); } impl Test { #[inline] diff --git a/tests/expectations/tests/bitfield_align.rs b/tests/expectations/tests/bitfield_align.rs index 1b951336..4baca112 100644 --- a/tests/expectations/tests/bitfield_align.rs +++ b/tests/expectations/tests/bitfield_align.rs @@ -102,6 +102,9 @@ pub struct A { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 4usize, @@ -112,30 +115,16 @@ fn bindgen_test_layout_A() { 4usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(x)) - ); - } - test_field_x(); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 3usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(y)) - ); - } - test_field_y(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(x)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 3usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(y)) + ); } impl A { #[inline] @@ -401,6 +390,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 8usize, @@ -411,30 +403,16 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(x)) - ); - } - test_field_x(); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 4usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(baz)) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(x)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(baz)) + ); } impl C { #[inline] @@ -712,6 +690,9 @@ pub struct Date3 { } #[test] fn bindgen_test_layout_Date3() { + const UNINIT: ::std::mem::MaybeUninit<Date3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Date3>(), 4usize, @@ -722,23 +703,16 @@ fn bindgen_test_layout_Date3() { 2usize, concat!("Alignment of ", stringify!(Date3)) ); - fn test_field_byte() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Date3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).byte) as usize - ptr as usize - }, - 3usize, - concat!( - "Offset of field: ", - stringify!(Date3), - "::", - stringify!(byte) - ) - ); - } - test_field_byte(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).byte) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(Date3), + "::", + stringify!(byte) + ) + ); } impl Date3 { #[inline] diff --git a/tests/expectations/tests/blocklist-and-impl-debug.rs b/tests/expectations/tests/blocklist-and-impl-debug.rs index 055cca8c..788cb30c 100644 --- a/tests/expectations/tests/blocklist-and-impl-debug.rs +++ b/tests/expectations/tests/blocklist-and-impl-debug.rs @@ -14,6 +14,9 @@ pub struct ShouldManuallyImplDebug { } #[test] fn bindgen_test_layout_ShouldManuallyImplDebug() { + const UNINIT: ::std::mem::MaybeUninit<ShouldManuallyImplDebug> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldManuallyImplDebug>(), 1usize, @@ -24,25 +27,16 @@ fn bindgen_test_layout_ShouldManuallyImplDebug() { 1usize, concat!("Alignment of ", stringify!(ShouldManuallyImplDebug)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldManuallyImplDebug>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldManuallyImplDebug), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldManuallyImplDebug), + "::", + stringify!(a) + ) + ); } impl Default for ShouldManuallyImplDebug { fn default() -> Self { diff --git a/tests/expectations/tests/blocklist-file.rs b/tests/expectations/tests/blocklist-file.rs index 7843028d..4d2b6712 100644 --- a/tests/expectations/tests/blocklist-file.rs +++ b/tests/expectations/tests/blocklist-file.rs @@ -14,6 +14,9 @@ pub struct SizedIntegers { } #[test] fn bindgen_test_layout_SizedIntegers() { + const UNINIT: ::std::mem::MaybeUninit<SizedIntegers> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<SizedIntegers>(), 8usize, @@ -24,57 +27,36 @@ fn bindgen_test_layout_SizedIntegers() { 4usize, concat!("Alignment of ", stringify!(SizedIntegers)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<SizedIntegers>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(SizedIntegers), - "::", - stringify!(x) - ) - ); - } - test_field_x(); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<SizedIntegers>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(SizedIntegers), - "::", - stringify!(y) - ) - ); - } - test_field_y(); - fn test_field_z() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<SizedIntegers>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(SizedIntegers), - "::", - stringify!(z) - ) - ); - } - test_field_z(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SizedIntegers), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(SizedIntegers), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SizedIntegers), + "::", + stringify!(z) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -83,6 +65,9 @@ pub struct StructWithBlocklistedFwdDecl { } #[test] fn bindgen_test_layout_StructWithBlocklistedFwdDecl() { + const UNINIT: ::std::mem::MaybeUninit<StructWithBlocklistedFwdDecl> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<StructWithBlocklistedFwdDecl>(), 1usize, @@ -93,23 +78,14 @@ fn bindgen_test_layout_StructWithBlocklistedFwdDecl() { 1usize, concat!("Alignment of ", stringify!(StructWithBlocklistedFwdDecl)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - StructWithBlocklistedFwdDecl, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(StructWithBlocklistedFwdDecl), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(StructWithBlocklistedFwdDecl), + "::", + stringify!(b) + ) + ); } diff --git a/tests/expectations/tests/blocks-signature.rs b/tests/expectations/tests/blocks-signature.rs index 048a0d4e..779d0ecb 100644 --- a/tests/expectations/tests/blocks-signature.rs +++ b/tests/expectations/tests/blocks-signature.rs @@ -37,6 +37,9 @@ pub struct contains_block_pointers { } #[test] fn bindgen_test_layout_contains_block_pointers() { + const UNINIT: ::std::mem::MaybeUninit<contains_block_pointers> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<contains_block_pointers>(), 16usize, @@ -47,44 +50,26 @@ fn bindgen_test_layout_contains_block_pointers() { 8usize, concat!("Alignment of ", stringify!(contains_block_pointers)) ); - fn test_field_val() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<contains_block_pointers>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(contains_block_pointers), - "::", - stringify!(val) - ) - ); - } - test_field_val(); - fn test_field_ptr_val() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<contains_block_pointers>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ptr_val) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(contains_block_pointers), - "::", - stringify!(ptr_val) - ) - ); - } - test_field_ptr_val(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(contains_block_pointers), + "::", + stringify!(val) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptr_val) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(contains_block_pointers), + "::", + stringify!(ptr_val) + ) + ); } impl Default for contains_block_pointers { fn default() -> Self { diff --git a/tests/expectations/tests/blocks.rs b/tests/expectations/tests/blocks.rs index abeec80f..dbafaf94 100644 --- a/tests/expectations/tests/blocks.rs +++ b/tests/expectations/tests/blocks.rs @@ -36,6 +36,9 @@ pub struct contains_block_pointers { } #[test] fn bindgen_test_layout_contains_block_pointers() { + const UNINIT: ::std::mem::MaybeUninit<contains_block_pointers> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<contains_block_pointers>(), 16usize, @@ -46,44 +49,26 @@ fn bindgen_test_layout_contains_block_pointers() { 8usize, concat!("Alignment of ", stringify!(contains_block_pointers)) ); - fn test_field_val() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<contains_block_pointers>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(contains_block_pointers), - "::", - stringify!(val) - ) - ); - } - test_field_val(); - fn test_field_ptr_val() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<contains_block_pointers>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ptr_val) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(contains_block_pointers), - "::", - stringify!(ptr_val) - ) - ); - } - test_field_ptr_val(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(contains_block_pointers), + "::", + stringify!(val) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptr_val) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(contains_block_pointers), + "::", + stringify!(ptr_val) + ) + ); } impl Default for contains_block_pointers { fn default() -> Self { diff --git a/tests/expectations/tests/c_naming.rs b/tests/expectations/tests/c_naming.rs index bc0955fe..3e56b1d6 100644 --- a/tests/expectations/tests/c_naming.rs +++ b/tests/expectations/tests/c_naming.rs @@ -12,6 +12,9 @@ pub struct struct_a { } #[test] fn bindgen_test_layout_struct_a() { + const UNINIT: ::std::mem::MaybeUninit<struct_a> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<struct_a>(), 4usize, @@ -22,23 +25,16 @@ fn bindgen_test_layout_struct_a() { 4usize, concat!("Alignment of ", stringify!(struct_a)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<struct_a>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(struct_a), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(struct_a), + "::", + stringify!(a) + ) + ); } pub type a = *const struct_a; #[repr(C)] @@ -49,6 +45,9 @@ pub union union_b { } #[test] fn bindgen_test_layout_union_b() { + const UNINIT: ::std::mem::MaybeUninit<union_b> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<union_b>(), 4usize, @@ -59,40 +58,26 @@ fn bindgen_test_layout_union_b() { 4usize, concat!("Alignment of ", stringify!(union_b)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<union_b>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(union_b), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<union_b>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(union_b), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(union_b), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(union_b), + "::", + stringify!(b) + ) + ); } impl Default for union_b { fn default() -> Self { diff --git a/tests/expectations/tests/canonical-types.rs b/tests/expectations/tests/canonical-types.rs index effe7fed..a68e1424 100644 --- a/tests/expectations/tests/canonical-types.rs +++ b/tests/expectations/tests/canonical-types.rs @@ -166,6 +166,9 @@ pub struct ClassAInner { } #[test] fn bindgen_test_layout_ClassAInner() { + const UNINIT: ::std::mem::MaybeUninit<ClassAInner> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ClassAInner>(), 8usize, @@ -176,23 +179,16 @@ fn bindgen_test_layout_ClassAInner() { 8usize, concat!("Alignment of ", stringify!(ClassAInner)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ClassAInner>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ClassAInner), - "::", - stringify!(x) - ) - ); - } - test_field_x(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ClassAInner), + "::", + stringify!(x) + ) + ); } impl Default for ClassAInner { fn default() -> Self { @@ -210,6 +206,9 @@ pub struct ClassCInnerA { } #[test] fn bindgen_test_layout_ClassCInnerA() { + const UNINIT: ::std::mem::MaybeUninit<ClassCInnerA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ClassCInnerA>(), 8usize, @@ -220,23 +219,16 @@ fn bindgen_test_layout_ClassCInnerA() { 8usize, concat!("Alignment of ", stringify!(ClassCInnerA)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ClassCInnerA>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ClassCInnerA), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ClassCInnerA), + "::", + stringify!(member) + ) + ); } impl Default for ClassCInnerA { fn default() -> Self { @@ -254,6 +246,9 @@ pub struct ClassCInnerB { } #[test] fn bindgen_test_layout_ClassCInnerB() { + const UNINIT: ::std::mem::MaybeUninit<ClassCInnerB> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ClassCInnerB>(), 8usize, @@ -264,23 +259,16 @@ fn bindgen_test_layout_ClassCInnerB() { 8usize, concat!("Alignment of ", stringify!(ClassCInnerB)) ); - fn test_field_cache() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ClassCInnerB>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cache) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ClassCInnerB), - "::", - stringify!(cache) - ) - ); - } - test_field_cache(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cache) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ClassCInnerB), + "::", + stringify!(cache) + ) + ); } impl Default for ClassCInnerB { fn default() -> Self { diff --git a/tests/expectations/tests/char.rs b/tests/expectations/tests/char.rs index 3b6e1195..960a681f 100644 --- a/tests/expectations/tests/char.rs +++ b/tests/expectations/tests/char.rs @@ -26,6 +26,9 @@ pub struct Test { } #[test] fn bindgen_test_layout_Test() { + const UNINIT: ::std::mem::MaybeUninit<Test> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Test>(), 12usize, @@ -36,198 +39,69 @@ fn bindgen_test_layout_Test() { 1usize, concat!("Alignment of ", stringify!(Test)) ); - fn test_field_ch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ch) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(ch) - ) - ); - } - test_field_ch(); - fn test_field_u() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize - }, - 1usize, - concat!("Offset of field: ", stringify!(Test), "::", stringify!(u)) - ); - } - test_field_u(); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 2usize, - concat!("Offset of field: ", stringify!(Test), "::", stringify!(d)) - ); - } - test_field_d(); - fn test_field_cch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize - }, - 3usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(cch) - ) - ); - } - test_field_cch(); - fn test_field_cu() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cu) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(cu) - ) - ); - } - test_field_cu(); - fn test_field_cd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cd) as usize - ptr as usize - }, - 5usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(cd) - ) - ); - } - test_field_cd(); - fn test_field_Cch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Cch) as usize - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Cch) - ) - ); - } - test_field_Cch(); - fn test_field_Cu() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Cu) as usize - ptr as usize - }, - 7usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Cu) - ) - ); - } - test_field_Cu(); - fn test_field_Cd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Cd) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Cd) - ) - ); - } - test_field_Cd(); - fn test_field_Ccch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ccch) as usize - ptr as usize - }, - 9usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Ccch) - ) - ); - } - test_field_Ccch(); - fn test_field_Ccu() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ccu) as usize - ptr as usize - }, - 10usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Ccu) - ) - ); - } - test_field_Ccu(); - fn test_field_Ccd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ccd) as usize - ptr as usize - }, - 11usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Ccd) - ) - ); - } - test_field_Ccd(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ch) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(ch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 1usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(u)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 2usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(d)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize }, + 3usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(cch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cu) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(cu)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cd) as usize - ptr as usize }, + 5usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(cd)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cch) as usize - ptr as usize }, + 6usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cu) as usize - ptr as usize }, + 7usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cu)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cd) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cd)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ccch) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(Test), + "::", + stringify!(Ccch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ccu) as usize - ptr as usize }, + 10usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Ccu)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ccd) as usize - ptr as usize }, + 11usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Ccd)) + ); } diff --git a/tests/expectations/tests/class.rs b/tests/expectations/tests/class.rs index 3bfba7e1..8542135b 100644 --- a/tests/expectations/tests/class.rs +++ b/tests/expectations/tests/class.rs @@ -43,6 +43,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 40usize, @@ -53,35 +56,23 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(a)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(big_array) + ) + ); } impl Default for C { fn default() -> Self { @@ -100,6 +91,9 @@ pub struct C_with_zero_length_array { } #[test] fn bindgen_test_layout_C_with_zero_length_array() { + const UNINIT: ::std::mem::MaybeUninit<C_with_zero_length_array> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array>(), 40usize, @@ -110,64 +104,41 @@ fn bindgen_test_layout_C_with_zero_length_array() { 4usize, concat!("Alignment of ", stringify!(C_with_zero_length_array)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(big_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(zero_length_array) + ) + ); } impl Default for C_with_zero_length_array { fn default() -> Self { @@ -186,6 +157,9 @@ pub struct C_with_zero_length_array_2 { } #[test] fn bindgen_test_layout_C_with_zero_length_array_2() { + const UNINIT: ::std::mem::MaybeUninit<C_with_zero_length_array_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array_2>(), 4usize, @@ -196,45 +170,29 @@ fn bindgen_test_layout_C_with_zero_length_array_2() { 4usize, concat!("Alignment of ", stringify!(C_with_zero_length_array_2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_2), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_2), + "::", + stringify!(zero_length_array) + ) + ); } #[repr(C)] pub struct C_with_incomplete_array { @@ -353,6 +311,9 @@ pub struct WithDtor { } #[test] fn bindgen_test_layout_WithDtor() { + const UNINIT: ::std::mem::MaybeUninit<WithDtor> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithDtor>(), 4usize, @@ -363,23 +324,16 @@ fn bindgen_test_layout_WithDtor() { 4usize, concat!("Alignment of ", stringify!(WithDtor)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithDtor), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithDtor), + "::", + stringify!(b) + ) + ); } #[repr(C)] pub struct IncompleteArrayNonCopiable { @@ -416,6 +370,9 @@ pub union Union { } #[test] fn bindgen_test_layout_Union() { + const UNINIT: ::std::mem::MaybeUninit<Union> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Union>(), 4usize, @@ -426,40 +383,16 @@ fn bindgen_test_layout_Union() { 4usize, concat!("Alignment of ", stringify!(Union)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Union>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Union), - "::", - stringify!(d) - ) - ); - } - test_field_d(); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Union>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Union), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Union), "::", stringify!(d)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Union), "::", stringify!(i)) + ); } impl Default for Union { fn default() -> Self { @@ -477,6 +410,9 @@ pub struct WithUnion { } #[test] fn bindgen_test_layout_WithUnion() { + const UNINIT: ::std::mem::MaybeUninit<WithUnion> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithUnion>(), 4usize, @@ -487,23 +423,16 @@ fn bindgen_test_layout_WithUnion() { 4usize, concat!("Alignment of ", stringify!(WithUnion)) ); - fn test_field_data() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithUnion), - "::", - stringify!(data) - ) - ); - } - test_field_data(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithUnion), + "::", + stringify!(data) + ) + ); } impl Default for WithUnion { fn default() -> Self { diff --git a/tests/expectations/tests/class_1_0.rs b/tests/expectations/tests/class_1_0.rs index 5415500a..f6c3021e 100644 --- a/tests/expectations/tests/class_1_0.rs +++ b/tests/expectations/tests/class_1_0.rs @@ -86,6 +86,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 40usize, @@ -96,35 +99,23 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(a)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(big_array) + ) + ); } impl Clone for C { fn clone(&self) -> Self { @@ -153,6 +144,9 @@ pub struct C_with_zero_length_array { } #[test] fn bindgen_test_layout_C_with_zero_length_array() { + const UNINIT: ::std::mem::MaybeUninit<C_with_zero_length_array> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array>(), 40usize, @@ -163,64 +157,41 @@ fn bindgen_test_layout_C_with_zero_length_array() { 4usize, concat!("Alignment of ", stringify!(C_with_zero_length_array)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(big_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(zero_length_array) + ) + ); } impl Default for C_with_zero_length_array { fn default() -> Self { @@ -239,6 +210,9 @@ pub struct C_with_zero_length_array_2 { } #[test] fn bindgen_test_layout_C_with_zero_length_array_2() { + const UNINIT: ::std::mem::MaybeUninit<C_with_zero_length_array_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array_2>(), 4usize, @@ -249,45 +223,29 @@ fn bindgen_test_layout_C_with_zero_length_array_2() { 4usize, concat!("Alignment of ", stringify!(C_with_zero_length_array_2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_2), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_2), + "::", + stringify!(zero_length_array) + ) + ); } #[repr(C)] pub struct C_with_incomplete_array { @@ -406,6 +364,9 @@ pub struct WithDtor { } #[test] fn bindgen_test_layout_WithDtor() { + const UNINIT: ::std::mem::MaybeUninit<WithDtor> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithDtor>(), 4usize, @@ -416,23 +377,16 @@ fn bindgen_test_layout_WithDtor() { 4usize, concat!("Alignment of ", stringify!(WithDtor)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithDtor), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithDtor), + "::", + stringify!(b) + ) + ); } #[repr(C)] pub struct IncompleteArrayNonCopiable { @@ -470,6 +424,9 @@ pub struct Union { } #[test] fn bindgen_test_layout_Union() { + const UNINIT: ::std::mem::MaybeUninit<Union> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Union>(), 4usize, @@ -480,40 +437,16 @@ fn bindgen_test_layout_Union() { 4usize, concat!("Alignment of ", stringify!(Union)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Union>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Union), - "::", - stringify!(d) - ) - ); - } - test_field_d(); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Union>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Union), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Union), "::", stringify!(d)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Union), "::", stringify!(i)) + ); } impl Clone for Union { fn clone(&self) -> Self { @@ -527,6 +460,9 @@ pub struct WithUnion { } #[test] fn bindgen_test_layout_WithUnion() { + const UNINIT: ::std::mem::MaybeUninit<WithUnion> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithUnion>(), 4usize, @@ -537,23 +473,16 @@ fn bindgen_test_layout_WithUnion() { 4usize, concat!("Alignment of ", stringify!(WithUnion)) ); - fn test_field_data() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithUnion), - "::", - stringify!(data) - ) - ); - } - test_field_data(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithUnion), + "::", + stringify!(data) + ) + ); } impl Clone for WithUnion { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/class_nested.rs b/tests/expectations/tests/class_nested.rs index 7ea2fe81..f2cc8326 100644 --- a/tests/expectations/tests/class_nested.rs +++ b/tests/expectations/tests/class_nested.rs @@ -17,6 +17,9 @@ pub struct A_B { } #[test] fn bindgen_test_layout_A_B() { + const UNINIT: ::std::mem::MaybeUninit<A_B> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A_B>(), 4usize, @@ -27,23 +30,18 @@ fn bindgen_test_layout_A_B() { 4usize, concat!("Alignment of ", stringify!(A_B)) ); - fn test_field_member_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A_B>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member_b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A_B), - "::", - stringify!(member_b) - ) - ); - } - test_field_member_b(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).member_b) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(A_B), + "::", + stringify!(member_b) + ) + ); } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -62,6 +60,9 @@ impl<T> Default for A_D<T> { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 4usize, @@ -72,23 +73,18 @@ fn bindgen_test_layout_A() { 4usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_member_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member_a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A), - "::", - stringify!(member_a) - ) - ); - } - test_field_member_a(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).member_a) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(A), + "::", + stringify!(member_a) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] @@ -97,6 +93,9 @@ pub struct A_C { } #[test] fn bindgen_test_layout_A_C() { + const UNINIT: ::std::mem::MaybeUninit<A_C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A_C>(), 4usize, @@ -107,23 +106,11 @@ fn bindgen_test_layout_A_C() { 4usize, concat!("Alignment of ", stringify!(A_C)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A_C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A_C), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A_C), "::", stringify!(baz)) + ); } extern "C" { pub static mut var: A_B; @@ -157,6 +144,9 @@ pub struct D { } #[test] fn bindgen_test_layout_D() { + const UNINIT: ::std::mem::MaybeUninit<D> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<D>(), 4usize, @@ -167,23 +157,11 @@ fn bindgen_test_layout_D() { 4usize, concat!("Alignment of ", stringify!(D)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<D>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(D), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(D), "::", stringify!(member)) + ); } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] diff --git a/tests/expectations/tests/class_no_members.rs b/tests/expectations/tests/class_no_members.rs index 75487a40..676590c8 100644 --- a/tests/expectations/tests/class_no_members.rs +++ b/tests/expectations/tests/class_no_members.rs @@ -48,6 +48,9 @@ pub struct whatever_child_with_member { } #[test] fn bindgen_test_layout_whatever_child_with_member() { + const UNINIT: ::std::mem::MaybeUninit<whatever_child_with_member> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<whatever_child_with_member>(), 4usize, @@ -58,23 +61,16 @@ fn bindgen_test_layout_whatever_child_with_member() { 4usize, concat!("Alignment of ", stringify!(whatever_child_with_member)) ); - fn test_field_m_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - whatever_child_with_member, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(whatever_child_with_member), - "::", - stringify!(m_member) - ) - ); - } - test_field_m_member(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(whatever_child_with_member), + "::", + stringify!(m_member) + ) + ); } diff --git a/tests/expectations/tests/class_use_as.rs b/tests/expectations/tests/class_use_as.rs index 12a51bd6..ef130c16 100644 --- a/tests/expectations/tests/class_use_as.rs +++ b/tests/expectations/tests/class_use_as.rs @@ -13,6 +13,9 @@ pub struct whatever { } #[test] fn bindgen_test_layout_whatever() { + const UNINIT: ::std::mem::MaybeUninit<whatever> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<whatever>(), 4usize, @@ -23,23 +26,18 @@ fn bindgen_test_layout_whatever() { 4usize, concat!("Alignment of ", stringify!(whatever)) ); - fn test_field_replacement() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<whatever>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).replacement) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(whatever), - "::", - stringify!(replacement) - ) - ); - } - test_field_replacement(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).replacement) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(whatever), + "::", + stringify!(replacement) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] @@ -48,6 +46,9 @@ pub struct container { } #[test] fn bindgen_test_layout_container() { + const UNINIT: ::std::mem::MaybeUninit<container> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<container>(), 4usize, @@ -58,21 +59,14 @@ fn bindgen_test_layout_container() { 4usize, concat!("Alignment of ", stringify!(container)) ); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<container>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(container), - "::", - stringify!(c) - ) - ); - } - test_field_c(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(container), + "::", + stringify!(c) + ) + ); } diff --git a/tests/expectations/tests/class_with_dtor.rs b/tests/expectations/tests/class_with_dtor.rs index a6e75867..86d2a576 100644 --- a/tests/expectations/tests/class_with_dtor.rs +++ b/tests/expectations/tests/class_with_dtor.rs @@ -28,6 +28,9 @@ pub struct WithoutDtor { } #[test] fn bindgen_test_layout_WithoutDtor() { + const UNINIT: ::std::mem::MaybeUninit<WithoutDtor> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithoutDtor>(), 8usize, @@ -38,24 +41,19 @@ fn bindgen_test_layout_WithoutDtor() { 8usize, concat!("Alignment of ", stringify!(WithoutDtor)) ); - fn test_field_shouldBeWithDtor() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithoutDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).shouldBeWithDtor) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithoutDtor), - "::", - stringify!(shouldBeWithDtor) - ) - ); - } - test_field_shouldBeWithDtor(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).shouldBeWithDtor) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithoutDtor), + "::", + stringify!(shouldBeWithDtor) + ) + ); } impl Default for WithoutDtor { fn default() -> Self { diff --git a/tests/expectations/tests/class_with_inner_struct.rs b/tests/expectations/tests/class_with_inner_struct.rs index ba1373b2..eab9d598 100644 --- a/tests/expectations/tests/class_with_inner_struct.rs +++ b/tests/expectations/tests/class_with_inner_struct.rs @@ -20,6 +20,9 @@ pub struct A_Segment { } #[test] fn bindgen_test_layout_A_Segment() { + const UNINIT: ::std::mem::MaybeUninit<A_Segment> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A_Segment>(), 8usize, @@ -30,40 +33,26 @@ fn bindgen_test_layout_A_Segment() { 4usize, concat!("Alignment of ", stringify!(A_Segment)) ); - fn test_field_begin() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A_Segment), - "::", - stringify!(begin) - ) - ); - } - test_field_begin(); - fn test_field_end() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(A_Segment), - "::", - stringify!(end) - ) - ); - } - test_field_end(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(A_Segment), + "::", + stringify!(begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(A_Segment), + "::", + stringify!(end) + ) + ); } #[repr(C)] #[derive(Copy, Clone)] @@ -72,6 +61,9 @@ pub union A__bindgen_ty_1 { } #[test] fn bindgen_test_layout_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A__bindgen_ty_1>(), 4usize, @@ -82,24 +74,16 @@ fn bindgen_test_layout_A__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(A__bindgen_ty_1)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<A__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A__bindgen_ty_1), - "::", - stringify!(f) - ) - ); - } - test_field_f(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(A__bindgen_ty_1), + "::", + stringify!(f) + ) + ); } impl Default for A__bindgen_ty_1 { fn default() -> Self { @@ -117,6 +101,9 @@ pub union A__bindgen_ty_2 { } #[test] fn bindgen_test_layout_A__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<A__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A__bindgen_ty_2>(), 4usize, @@ -127,24 +114,16 @@ fn bindgen_test_layout_A__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(A__bindgen_ty_2)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<A__bindgen_ty_2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A__bindgen_ty_2), - "::", - stringify!(d) - ) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(A__bindgen_ty_2), + "::", + stringify!(d) + ) + ); } impl Default for A__bindgen_ty_2 { fn default() -> Self { @@ -157,6 +136,9 @@ impl Default for A__bindgen_ty_2 { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 12usize, @@ -167,35 +149,23 @@ fn bindgen_test_layout_A() { 4usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(c)) - ); - } - test_field_c(); - fn test_field_named_union() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).named_union) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(A), - "::", - stringify!(named_union) - ) - ); - } - test_field_named_union(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(c)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).named_union) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(A), + "::", + stringify!(named_union) + ) + ); } impl Default for A { fn default() -> Self { @@ -219,6 +189,9 @@ pub struct B_Segment { } #[test] fn bindgen_test_layout_B_Segment() { + const UNINIT: ::std::mem::MaybeUninit<B_Segment> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<B_Segment>(), 8usize, @@ -229,43 +202,32 @@ fn bindgen_test_layout_B_Segment() { 4usize, concat!("Alignment of ", stringify!(B_Segment)) ); - fn test_field_begin() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<B_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(B_Segment), - "::", - stringify!(begin) - ) - ); - } - test_field_begin(); - fn test_field_end() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<B_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(B_Segment), - "::", - stringify!(end) - ) - ); - } - test_field_end(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(B_Segment), + "::", + stringify!(begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(B_Segment), + "::", + stringify!(end) + ) + ); } #[test] fn bindgen_test_layout_B() { + const UNINIT: ::std::mem::MaybeUninit<B> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<B>(), 4usize, @@ -276,18 +238,11 @@ fn bindgen_test_layout_B() { 4usize, concat!("Alignment of ", stringify!(B)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<B>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(B), "::", stringify!(d)) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(B), "::", stringify!(d)) + ); } #[repr(i32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -319,6 +274,9 @@ pub struct C__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<C__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C__bindgen_ty_1__bindgen_ty_1>(), 16usize, @@ -329,82 +287,46 @@ fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(C__bindgen_ty_1__bindgen_ty_1)) ); - fn test_field_mX1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mX1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(mX1) - ) - ); - } - test_field_mX1(); - fn test_field_mY1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mY1) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(mY1) - ) - ); - } - test_field_mY1(); - fn test_field_mX2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mX2) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(mX2) - ) - ); - } - test_field_mX2(); - fn test_field_mY2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mY2) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(mY2) - ) - ); - } - test_field_mY2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mX1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(mX1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mY1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(mY1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mX2) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(mX2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mY2) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(mY2) + ) + ); } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -414,6 +336,9 @@ pub struct C__bindgen_ty_1__bindgen_ty_2 { } #[test] fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<C__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C__bindgen_ty_1__bindgen_ty_2>(), 8usize, @@ -424,44 +349,28 @@ fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(C__bindgen_ty_1__bindgen_ty_2)) ); - fn test_field_mStepSyntax() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mStepSyntax) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(mStepSyntax) - ) - ); - } - test_field_mStepSyntax(); - fn test_field_mSteps() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mSteps) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(mSteps) - ) - ); - } - test_field_mSteps(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mStepSyntax) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(mStepSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mSteps) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(mSteps) + ) + ); } impl Default for C__bindgen_ty_1__bindgen_ty_2 { fn default() -> Self { @@ -474,6 +383,9 @@ impl Default for C__bindgen_ty_1__bindgen_ty_2 { } #[test] fn bindgen_test_layout_C__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<C__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C__bindgen_ty_1>(), 16usize, @@ -484,24 +396,16 @@ fn bindgen_test_layout_C__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(C__bindgen_ty_1)) ); - fn test_field_mFunc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mFunc) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1), - "::", - stringify!(mFunc) - ) - ); - } - test_field_mFunc(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFunc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1), + "::", + stringify!(mFunc) + ) + ); } impl Default for C__bindgen_ty_1 { fn default() -> Self { @@ -520,6 +424,9 @@ pub struct C_Segment { } #[test] fn bindgen_test_layout_C_Segment() { + const UNINIT: ::std::mem::MaybeUninit<C_Segment> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_Segment>(), 8usize, @@ -530,43 +437,32 @@ fn bindgen_test_layout_C_Segment() { 4usize, concat!("Alignment of ", stringify!(C_Segment)) ); - fn test_field_begin() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_Segment), - "::", - stringify!(begin) - ) - ); - } - test_field_begin(); - fn test_field_end() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_Segment), - "::", - stringify!(end) - ) - ); - } - test_field_end(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_Segment), + "::", + stringify!(begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_Segment), + "::", + stringify!(end) + ) + ); } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 20usize, @@ -577,18 +473,11 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(d)) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(d)) + ); } impl Default for C { fn default() -> Self { diff --git a/tests/expectations/tests/class_with_inner_struct_1_0.rs b/tests/expectations/tests/class_with_inner_struct_1_0.rs index 3774c144..42656079 100644 --- a/tests/expectations/tests/class_with_inner_struct_1_0.rs +++ b/tests/expectations/tests/class_with_inner_struct_1_0.rs @@ -63,6 +63,9 @@ pub struct A_Segment { } #[test] fn bindgen_test_layout_A_Segment() { + const UNINIT: ::std::mem::MaybeUninit<A_Segment> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A_Segment>(), 8usize, @@ -73,40 +76,26 @@ fn bindgen_test_layout_A_Segment() { 4usize, concat!("Alignment of ", stringify!(A_Segment)) ); - fn test_field_begin() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A_Segment), - "::", - stringify!(begin) - ) - ); - } - test_field_begin(); - fn test_field_end() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(A_Segment), - "::", - stringify!(end) - ) - ); - } - test_field_end(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(A_Segment), + "::", + stringify!(begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(A_Segment), + "::", + stringify!(end) + ) + ); } impl Clone for A_Segment { fn clone(&self) -> Self { @@ -121,6 +110,9 @@ pub struct A__bindgen_ty_1 { } #[test] fn bindgen_test_layout_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A__bindgen_ty_1>(), 4usize, @@ -131,24 +123,16 @@ fn bindgen_test_layout_A__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(A__bindgen_ty_1)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<A__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A__bindgen_ty_1), - "::", - stringify!(f) - ) - ); - } - test_field_f(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(A__bindgen_ty_1), + "::", + stringify!(f) + ) + ); } impl Clone for A__bindgen_ty_1 { fn clone(&self) -> Self { @@ -163,6 +147,9 @@ pub struct A__bindgen_ty_2 { } #[test] fn bindgen_test_layout_A__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<A__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A__bindgen_ty_2>(), 4usize, @@ -173,24 +160,16 @@ fn bindgen_test_layout_A__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(A__bindgen_ty_2)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<A__bindgen_ty_2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A__bindgen_ty_2), - "::", - stringify!(d) - ) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(A__bindgen_ty_2), + "::", + stringify!(d) + ) + ); } impl Clone for A__bindgen_ty_2 { fn clone(&self) -> Self { @@ -199,6 +178,9 @@ impl Clone for A__bindgen_ty_2 { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 12usize, @@ -209,35 +191,23 @@ fn bindgen_test_layout_A() { 4usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(c)) - ); - } - test_field_c(); - fn test_field_named_union() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).named_union) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(A), - "::", - stringify!(named_union) - ) - ); - } - test_field_named_union(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(c)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).named_union) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(A), + "::", + stringify!(named_union) + ) + ); } impl Clone for A { fn clone(&self) -> Self { @@ -257,6 +227,9 @@ pub struct B_Segment { } #[test] fn bindgen_test_layout_B_Segment() { + const UNINIT: ::std::mem::MaybeUninit<B_Segment> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<B_Segment>(), 8usize, @@ -267,40 +240,26 @@ fn bindgen_test_layout_B_Segment() { 4usize, concat!("Alignment of ", stringify!(B_Segment)) ); - fn test_field_begin() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<B_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(B_Segment), - "::", - stringify!(begin) - ) - ); - } - test_field_begin(); - fn test_field_end() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<B_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(B_Segment), - "::", - stringify!(end) - ) - ); - } - test_field_end(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(B_Segment), + "::", + stringify!(begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(B_Segment), + "::", + stringify!(end) + ) + ); } impl Clone for B_Segment { fn clone(&self) -> Self { @@ -309,6 +268,9 @@ impl Clone for B_Segment { } #[test] fn bindgen_test_layout_B() { + const UNINIT: ::std::mem::MaybeUninit<B> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<B>(), 4usize, @@ -319,18 +281,11 @@ fn bindgen_test_layout_B() { 4usize, concat!("Alignment of ", stringify!(B)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<B>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(B), "::", stringify!(d)) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(B), "::", stringify!(d)) + ); } impl Clone for B { fn clone(&self) -> Self { @@ -368,6 +323,9 @@ pub struct C__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<C__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C__bindgen_ty_1__bindgen_ty_1>(), 16usize, @@ -378,82 +336,46 @@ fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(C__bindgen_ty_1__bindgen_ty_1)) ); - fn test_field_mX1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mX1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(mX1) - ) - ); - } - test_field_mX1(); - fn test_field_mY1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mY1) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(mY1) - ) - ); - } - test_field_mY1(); - fn test_field_mX2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mX2) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(mX2) - ) - ); - } - test_field_mX2(); - fn test_field_mY2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mY2) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(mY2) - ) - ); - } - test_field_mY2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mX1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(mX1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mY1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(mY1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mX2) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(mX2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mY2) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(mY2) + ) + ); } impl Clone for C__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { @@ -468,6 +390,9 @@ pub struct C__bindgen_ty_1__bindgen_ty_2 { } #[test] fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<C__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C__bindgen_ty_1__bindgen_ty_2>(), 8usize, @@ -478,44 +403,28 @@ fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(C__bindgen_ty_1__bindgen_ty_2)) ); - fn test_field_mStepSyntax() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mStepSyntax) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(mStepSyntax) - ) - ); - } - test_field_mStepSyntax(); - fn test_field_mSteps() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mSteps) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(mSteps) - ) - ); - } - test_field_mSteps(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mStepSyntax) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(mStepSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mSteps) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(mSteps) + ) + ); } impl Clone for C__bindgen_ty_1__bindgen_ty_2 { fn clone(&self) -> Self { @@ -533,6 +442,9 @@ impl Default for C__bindgen_ty_1__bindgen_ty_2 { } #[test] fn bindgen_test_layout_C__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<C__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C__bindgen_ty_1>(), 16usize, @@ -543,24 +455,16 @@ fn bindgen_test_layout_C__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(C__bindgen_ty_1)) ); - fn test_field_mFunc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mFunc) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C__bindgen_ty_1), - "::", - stringify!(mFunc) - ) - ); - } - test_field_mFunc(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFunc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C__bindgen_ty_1), + "::", + stringify!(mFunc) + ) + ); } impl Clone for C__bindgen_ty_1 { fn clone(&self) -> Self { @@ -575,6 +479,9 @@ pub struct C_Segment { } #[test] fn bindgen_test_layout_C_Segment() { + const UNINIT: ::std::mem::MaybeUninit<C_Segment> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_Segment>(), 8usize, @@ -585,40 +492,26 @@ fn bindgen_test_layout_C_Segment() { 4usize, concat!("Alignment of ", stringify!(C_Segment)) ); - fn test_field_begin() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_Segment), - "::", - stringify!(begin) - ) - ); - } - test_field_begin(); - fn test_field_end() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C_Segment>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_Segment), - "::", - stringify!(end) - ) - ); - } - test_field_end(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).begin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_Segment), + "::", + stringify!(begin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).end) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_Segment), + "::", + stringify!(end) + ) + ); } impl Clone for C_Segment { fn clone(&self) -> Self { @@ -627,6 +520,9 @@ impl Clone for C_Segment { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 20usize, @@ -637,18 +533,11 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(d)) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(d)) + ); } impl Clone for C { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/class_with_typedef.rs b/tests/expectations/tests/class_with_typedef.rs index 6df675b9..65e86b27 100644 --- a/tests/expectations/tests/class_with_typedef.rs +++ b/tests/expectations/tests/class_with_typedef.rs @@ -19,6 +19,9 @@ pub type C_MyInt = ::std::os::raw::c_int; pub type C_Lookup = *const ::std::os::raw::c_char; #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 72usize, @@ -29,71 +32,38 @@ fn bindgen_test_layout_C() { 8usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(c)) - ); - } - test_field_c(); - fn test_field_ptr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize - }, - 8usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(ptr)) - ); - } - test_field_ptr(); - fn test_field_arr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize - }, - 16usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(arr)) - ); - } - test_field_arr(); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 56usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(d)) - ); - } - test_field_d(); - fn test_field_other_ptr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).other_ptr) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(other_ptr) - ) - ); - } - test_field_other_ptr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(c)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(ptr)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize }, + 16usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(arr)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 56usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(d)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).other_ptr) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(other_ptr) + ) + ); } extern "C" { #[link_name = "\u{1}_ZN1C6methodEi"] @@ -146,6 +116,9 @@ pub struct D { } #[test] fn bindgen_test_layout_D() { + const UNINIT: ::std::mem::MaybeUninit<D> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<D>(), 80usize, @@ -156,18 +129,11 @@ fn bindgen_test_layout_D() { 8usize, concat!("Alignment of ", stringify!(D)) ); - fn test_field_ptr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<D>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize - }, - 72usize, - concat!("Offset of field: ", stringify!(D), "::", stringify!(ptr)) - ); - } - test_field_ptr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize }, + 72usize, + concat!("Offset of field: ", stringify!(D), "::", stringify!(ptr)) + ); } impl Default for D { fn default() -> Self { diff --git a/tests/expectations/tests/comment-indent.rs b/tests/expectations/tests/comment-indent.rs index 93412f2f..3ad221aa 100644 --- a/tests/expectations/tests/comment-indent.rs +++ b/tests/expectations/tests/comment-indent.rs @@ -70,6 +70,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Baz() { + const UNINIT: ::std::mem::MaybeUninit<Baz> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Baz>(), 4usize, @@ -80,24 +83,18 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Baz)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Baz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Baz), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Baz), + "::", + stringify!(member) + ) + ); } /// I'm in an inline namespace, and as such I shouldn't get generated inside /// a rust module, except when the relevant option is specified. Also, this diff --git a/tests/expectations/tests/complex.rs b/tests/expectations/tests/complex.rs index ba1d4ae8..e9c4be9d 100644 --- a/tests/expectations/tests/complex.rs +++ b/tests/expectations/tests/complex.rs @@ -18,6 +18,9 @@ pub struct TestDouble { } #[test] fn bindgen_test_layout_TestDouble() { + const UNINIT: ::std::mem::MaybeUninit<TestDouble> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<TestDouble>(), 16usize, @@ -28,23 +31,16 @@ fn bindgen_test_layout_TestDouble() { 8usize, concat!("Alignment of ", stringify!(TestDouble)) ); - fn test_field_mMember() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<TestDouble>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(TestDouble), - "::", - stringify!(mMember) - ) - ); - } - test_field_mMember(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TestDouble), + "::", + stringify!(mMember) + ) + ); } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -53,6 +49,9 @@ pub struct TestDoublePtr { } #[test] fn bindgen_test_layout_TestDoublePtr() { + const UNINIT: ::std::mem::MaybeUninit<TestDoublePtr> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<TestDoublePtr>(), 8usize, @@ -63,23 +62,16 @@ fn bindgen_test_layout_TestDoublePtr() { 8usize, concat!("Alignment of ", stringify!(TestDoublePtr)) ); - fn test_field_mMember() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<TestDoublePtr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(TestDoublePtr), - "::", - stringify!(mMember) - ) - ); - } - test_field_mMember(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TestDoublePtr), + "::", + stringify!(mMember) + ) + ); } impl Default for TestDoublePtr { fn default() -> Self { @@ -97,6 +89,9 @@ pub struct TestFloat { } #[test] fn bindgen_test_layout_TestFloat() { + const UNINIT: ::std::mem::MaybeUninit<TestFloat> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<TestFloat>(), 8usize, @@ -107,23 +102,16 @@ fn bindgen_test_layout_TestFloat() { 4usize, concat!("Alignment of ", stringify!(TestFloat)) ); - fn test_field_mMember() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<TestFloat>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(TestFloat), - "::", - stringify!(mMember) - ) - ); - } - test_field_mMember(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TestFloat), + "::", + stringify!(mMember) + ) + ); } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -132,6 +120,9 @@ pub struct TestFloatPtr { } #[test] fn bindgen_test_layout_TestFloatPtr() { + const UNINIT: ::std::mem::MaybeUninit<TestFloatPtr> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<TestFloatPtr>(), 8usize, @@ -142,23 +133,16 @@ fn bindgen_test_layout_TestFloatPtr() { 8usize, concat!("Alignment of ", stringify!(TestFloatPtr)) ); - fn test_field_mMember() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<TestFloatPtr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(TestFloatPtr), - "::", - stringify!(mMember) - ) - ); - } - test_field_mMember(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(TestFloatPtr), + "::", + stringify!(mMember) + ) + ); } impl Default for TestFloatPtr { fn default() -> Self { diff --git a/tests/expectations/tests/const-const-mut-ptr.rs b/tests/expectations/tests/const-const-mut-ptr.rs index b6b3bdb9..e8f13dff 100644 --- a/tests/expectations/tests/const-const-mut-ptr.rs +++ b/tests/expectations/tests/const-const-mut-ptr.rs @@ -12,6 +12,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -22,23 +25,11 @@ fn bindgen_test_layout_foo() { 8usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/constified-enum-module-overflow.rs b/tests/expectations/tests/constified-enum-module-overflow.rs index df112982..d47338f1 100644 --- a/tests/expectations/tests/constified-enum-module-overflow.rs +++ b/tests/expectations/tests/constified-enum-module-overflow.rs @@ -23,6 +23,9 @@ pub struct A { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 1usize, @@ -33,18 +36,11 @@ fn bindgen_test_layout_A() { 1usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_u() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(u)) - ); - } - test_field_u(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(u)) + ); } #[test] fn __bindgen_test_layout_C_open0_A_close0_instantiation() { diff --git a/tests/expectations/tests/constify-all-enums.rs b/tests/expectations/tests/constify-all-enums.rs index c926d857..e3c82156 100644 --- a/tests/expectations/tests/constify-all-enums.rs +++ b/tests/expectations/tests/constify-all-enums.rs @@ -16,6 +16,9 @@ pub struct bar { } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 4usize, @@ -26,24 +29,19 @@ fn bindgen_test_layout_bar() { 4usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_this_should_work() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).this_should_work) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(this_should_work) - ) - ); - } - test_field_this_should_work(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).this_should_work) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(this_should_work) + ) + ); } impl Default for bar { fn default() -> Self { diff --git a/tests/expectations/tests/constify-module-enums-basic.rs b/tests/expectations/tests/constify-module-enums-basic.rs index 6078ef20..c5c32983 100644 --- a/tests/expectations/tests/constify-module-enums-basic.rs +++ b/tests/expectations/tests/constify-module-enums-basic.rs @@ -20,6 +20,9 @@ pub struct bar { } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 4usize, @@ -30,24 +33,19 @@ fn bindgen_test_layout_bar() { 4usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_this_should_work() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).this_should_work) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(this_should_work) - ) - ); - } - test_field_this_should_work(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).this_should_work) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(this_should_work) + ) + ); } impl Default for bar { fn default() -> Self { diff --git a/tests/expectations/tests/constify-module-enums-namespace.rs b/tests/expectations/tests/constify-module-enums-namespace.rs index 326c219d..0b8eec1e 100644 --- a/tests/expectations/tests/constify-module-enums-namespace.rs +++ b/tests/expectations/tests/constify-module-enums-namespace.rs @@ -32,6 +32,9 @@ pub mod root { } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 4usize, @@ -42,26 +45,19 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_this_should_work() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).this_should_work) - as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(this_should_work) - ) - ); - } - test_field_this_should_work(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).this_should_work) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(this_should_work) + ) + ); } impl Default for bar { fn default() -> Self { diff --git a/tests/expectations/tests/constify-module-enums-shadow-name.rs b/tests/expectations/tests/constify-module-enums-shadow-name.rs index a5340e69..44643d0f 100644 --- a/tests/expectations/tests/constify-module-enums-shadow-name.rs +++ b/tests/expectations/tests/constify-module-enums-shadow-name.rs @@ -19,6 +19,9 @@ pub struct bar { } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 4usize, @@ -29,23 +32,16 @@ fn bindgen_test_layout_bar() { 4usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member) + ) + ); } impl Default for bar { fn default() -> Self { diff --git a/tests/expectations/tests/constify-module-enums-simple-alias.rs b/tests/expectations/tests/constify-module-enums-simple-alias.rs index 52d46516..0262b128 100644 --- a/tests/expectations/tests/constify-module-enums-simple-alias.rs +++ b/tests/expectations/tests/constify-module-enums-simple-alias.rs @@ -28,6 +28,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 48usize, @@ -38,142 +41,74 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_baz1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz1) - ) - ); - } - test_field_baz1(); - fn test_field_baz2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz2) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz2) - ) - ); - } - test_field_baz2(); - fn test_field_baz3() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz3) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz3) - ) - ); - } - test_field_baz3(); - fn test_field_baz4() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz4) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz4) - ) - ); - } - test_field_baz4(); - fn test_field_baz_ptr1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz_ptr1) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz_ptr1) - ) - ); - } - test_field_baz_ptr1(); - fn test_field_baz_ptr2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz_ptr2) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz_ptr2) - ) - ); - } - test_field_baz_ptr2(); - fn test_field_baz_ptr3() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz_ptr3) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz_ptr3) - ) - ); - } - test_field_baz_ptr3(); - fn test_field_baz_ptr4() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz_ptr4) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz_ptr4) - ) - ); - } - test_field_baz_ptr4(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz1) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(baz1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz2) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(baz2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz3) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(baz3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz4) as usize - ptr as usize }, + 12usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(baz4)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).baz_ptr1) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(baz_ptr1) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).baz_ptr2) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(baz_ptr2) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).baz_ptr3) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(baz_ptr3) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).baz_ptr4) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(baz_ptr4) + ) + ); } impl Default for Bar { fn default() -> Self { diff --git a/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs b/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs index c2032b21..75ebf48a 100644 --- a/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs +++ b/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs @@ -18,6 +18,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 16usize, @@ -28,40 +31,16 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_baz1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz1) - ) - ); - } - test_field_baz1(); - fn test_field_baz2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz2) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz2) - ) - ); - } - test_field_baz2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz1) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(baz1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz2) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(baz2)) + ); } impl Default for Bar { fn default() -> Self { diff --git a/tests/expectations/tests/constify-module-enums-types.rs b/tests/expectations/tests/constify-module-enums-types.rs index 7319ec72..c3c6d3ca 100644 --- a/tests/expectations/tests/constify-module-enums-types.rs +++ b/tests/expectations/tests/constify-module-enums-types.rs @@ -53,6 +53,9 @@ pub struct bar { } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 48usize, @@ -63,176 +66,108 @@ fn bindgen_test_layout_bar() { 8usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_member1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member1) - ) - ); - } - test_field_member1(); - fn test_field_member2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member2) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member2) - ) - ); - } - test_field_member2(); - fn test_field_member3() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member3) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member3) - ) - ); - } - test_field_member3(); - fn test_field_member4() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member4) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member4) - ) - ); - } - test_field_member4(); - fn test_field_member5() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member5) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member5) - ) - ); - } - test_field_member5(); - fn test_field_member6() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member6) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member6) - ) - ); - } - test_field_member6(); - fn test_field_member7() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member7) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member7) - ) - ); - } - test_field_member7(); - fn test_field_member8() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member8) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member8) - ) - ); - } - test_field_member8(); - fn test_field_member9() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member9) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member9) - ) - ); - } - test_field_member9(); - fn test_field_member10() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member10) as usize - ptr as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(member10) - ) - ); - } - test_field_member10(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member3) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member4) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member5) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member6) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member7) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member8) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member9) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member9) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).member10) as usize - ptr as usize + }, + 44usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(member10) + ) + ); } impl Default for bar { fn default() -> Self { @@ -250,6 +185,9 @@ pub struct Baz { } #[test] fn bindgen_test_layout_Baz() { + const UNINIT: ::std::mem::MaybeUninit<Baz> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Baz>(), 4usize, @@ -260,23 +198,16 @@ fn bindgen_test_layout_Baz() { 4usize, concat!("Alignment of ", stringify!(Baz)) ); - fn test_field_member1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Baz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Baz), - "::", - stringify!(member1) - ) - ); - } - test_field_member1(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Baz), + "::", + stringify!(member1) + ) + ); } impl Default for Baz { fn default() -> Self { @@ -299,6 +230,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 8usize, @@ -309,23 +243,11 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(baz)) + ); } impl Default for Bar { fn default() -> Self { diff --git a/tests/expectations/tests/contains-vs-inherits-zero-sized.rs b/tests/expectations/tests/contains-vs-inherits-zero-sized.rs index b218a62f..62fc3749 100644 --- a/tests/expectations/tests/contains-vs-inherits-zero-sized.rs +++ b/tests/expectations/tests/contains-vs-inherits-zero-sized.rs @@ -33,6 +33,9 @@ pub struct Inherits { } #[test] fn bindgen_test_layout_Inherits() { + const UNINIT: ::std::mem::MaybeUninit<Inherits> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Inherits>(), 1usize, @@ -43,23 +46,16 @@ fn bindgen_test_layout_Inherits() { 1usize, concat!("Alignment of ", stringify!(Inherits)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Inherits>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Inherits), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Inherits), + "::", + stringify!(b) + ) + ); } /// This should not get an `_address` byte, but contains `Empty` which *does* get /// one, so `sizeof(Contains)` should be `1 + 1`. @@ -71,6 +67,9 @@ pub struct Contains { } #[test] fn bindgen_test_layout_Contains() { + const UNINIT: ::std::mem::MaybeUninit<Contains> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Contains>(), 2usize, @@ -81,38 +80,24 @@ fn bindgen_test_layout_Contains() { 1usize, concat!("Alignment of ", stringify!(Contains)) ); - fn test_field_empty() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Contains>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).empty) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Contains), - "::", - stringify!(empty) - ) - ); - } - test_field_empty(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Contains>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 1usize, - concat!( - "Offset of field: ", - stringify!(Contains), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).empty) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Contains), + "::", + stringify!(empty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(Contains), + "::", + stringify!(b) + ) + ); } diff --git a/tests/expectations/tests/convert-floats.rs b/tests/expectations/tests/convert-floats.rs index 6e6d1c67..e710a442 100644 --- a/tests/expectations/tests/convert-floats.rs +++ b/tests/expectations/tests/convert-floats.rs @@ -23,6 +23,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 48usize, @@ -33,110 +36,55 @@ fn bindgen_test_layout_foo() { 8usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); - fn test_field_bazz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bazz) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bazz) - ) - ); - } - test_field_bazz(); - fn test_field_bazzz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bazzz) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bazzz) - ) - ); - } - test_field_bazzz(); - fn test_field_complexFloat() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).complexFloat) as usize - - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(complexFloat) - ) - ); - } - test_field_complexFloat(); - fn test_field_complexDouble() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).complexDouble) as usize - - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(complexDouble) - ) - ); - } - test_field_complexDouble(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(baz)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bazz) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bazz)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bazzz) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(bazzz) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).complexFloat) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(complexFloat) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).complexDouble) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(complexDouble) + ) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/ctypes-prefix-path.rs b/tests/expectations/tests/ctypes-prefix-path.rs index 0dc49095..5b3d186a 100644 --- a/tests/expectations/tests/ctypes-prefix-path.rs +++ b/tests/expectations/tests/ctypes-prefix-path.rs @@ -21,6 +21,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::core::mem::MaybeUninit<foo> = + ::core::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::<foo>(), 16usize, @@ -31,47 +34,21 @@ fn bindgen_test_layout_foo() { 8usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) - ); - } - test_field_b(); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/derive-bitfield-method-same-name.rs b/tests/expectations/tests/derive-bitfield-method-same-name.rs index 56bbdc54..ea6621dd 100644 --- a/tests/expectations/tests/derive-bitfield-method-same-name.rs +++ b/tests/expectations/tests/derive-bitfield-method-same-name.rs @@ -104,6 +104,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 136usize, @@ -114,23 +117,16 @@ fn bindgen_test_layout_Foo() { 4usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_large() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).large) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(large) - ) - ); - } - test_field_large(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).large) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Foo), + "::", + stringify!(large) + ) + ); } extern "C" { #[link_name = "\u{1}_ZN3Foo4typeEv"] diff --git a/tests/expectations/tests/derive-clone.rs b/tests/expectations/tests/derive-clone.rs index 4a80a856..19c28b69 100644 --- a/tests/expectations/tests/derive-clone.rs +++ b/tests/expectations/tests/derive-clone.rs @@ -13,6 +13,9 @@ pub struct ShouldDeriveClone { } #[test] fn bindgen_test_layout_ShouldDeriveClone() { + const UNINIT: ::std::mem::MaybeUninit<ShouldDeriveClone> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldDeriveClone>(), 132usize, @@ -23,24 +26,16 @@ fn bindgen_test_layout_ShouldDeriveClone() { 4usize, concat!("Alignment of ", stringify!(ShouldDeriveClone)) ); - fn test_field_large() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldDeriveClone>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).large) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldDeriveClone), - "::", - stringify!(large) - ) - ); - } - test_field_large(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).large) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldDeriveClone), + "::", + stringify!(large) + ) + ); } impl Default for ShouldDeriveClone { fn default() -> Self { diff --git a/tests/expectations/tests/derive-clone_1_0.rs b/tests/expectations/tests/derive-clone_1_0.rs index 90c8c72a..3d72db2f 100644 --- a/tests/expectations/tests/derive-clone_1_0.rs +++ b/tests/expectations/tests/derive-clone_1_0.rs @@ -14,6 +14,9 @@ pub struct ShouldImplClone { } #[test] fn bindgen_test_layout_ShouldImplClone() { + const UNINIT: ::std::mem::MaybeUninit<ShouldImplClone> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldImplClone>(), 132usize, @@ -24,24 +27,16 @@ fn bindgen_test_layout_ShouldImplClone() { 4usize, concat!("Alignment of ", stringify!(ShouldImplClone)) ); - fn test_field_large() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldImplClone>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).large) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldImplClone), - "::", - stringify!(large) - ) - ); - } - test_field_large(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).large) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldImplClone), + "::", + stringify!(large) + ) + ); } impl Clone for ShouldImplClone { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/derive-debug-bitfield-core.rs b/tests/expectations/tests/derive-debug-bitfield-core.rs index 249df3d5..2a78e930 100644 --- a/tests/expectations/tests/derive-debug-bitfield-core.rs +++ b/tests/expectations/tests/derive-debug-bitfield-core.rs @@ -102,6 +102,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::core::mem::MaybeUninit<C> = + ::core::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::<C>(), 204usize, @@ -112,24 +115,18 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_large_array() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).large_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(large_array) - ) - ); - } - test_field_large_array(); + assert_eq!( + unsafe { + ::core::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(large_array) + ) + ); } impl Default for C { fn default() -> Self { diff --git a/tests/expectations/tests/derive-debug-bitfield.rs b/tests/expectations/tests/derive-debug-bitfield.rs index 4ca28af3..0ae8f329 100644 --- a/tests/expectations/tests/derive-debug-bitfield.rs +++ b/tests/expectations/tests/derive-debug-bitfield.rs @@ -100,6 +100,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 204usize, @@ -110,23 +113,18 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_large_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(large_array) - ) - ); - } - test_field_large_array(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(large_array) + ) + ); } impl Default for C { fn default() -> Self { diff --git a/tests/expectations/tests/derive-debug-function-pointer.rs b/tests/expectations/tests/derive-debug-function-pointer.rs index 9f4ceced..16b127bf 100644 --- a/tests/expectations/tests/derive-debug-function-pointer.rs +++ b/tests/expectations/tests/derive-debug-function-pointer.rs @@ -15,6 +15,9 @@ pub type Nice_Function = ::std::option::Option<unsafe extern "C" fn(data: ::std::os::raw::c_int)>; #[test] fn bindgen_test_layout_Nice() { + const UNINIT: ::std::mem::MaybeUninit<Nice> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Nice>(), 144usize, @@ -25,40 +28,28 @@ fn bindgen_test_layout_Nice() { 8usize, concat!("Alignment of ", stringify!(Nice)) ); - fn test_field_pointer() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Nice>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pointer) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Nice), - "::", - stringify!(pointer) - ) - ); - } - test_field_pointer(); - fn test_field_large_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Nice>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(Nice), - "::", - stringify!(large_array) - ) - ); - } - test_field_large_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Nice), + "::", + stringify!(pointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(Nice), + "::", + stringify!(large_array) + ) + ); } impl Default for Nice { fn default() -> Self { diff --git a/tests/expectations/tests/derive-debug-mangle-name.rs b/tests/expectations/tests/derive-debug-mangle-name.rs index 8e66efc6..a757d679 100644 --- a/tests/expectations/tests/derive-debug-mangle-name.rs +++ b/tests/expectations/tests/derive-debug-mangle-name.rs @@ -20,6 +20,9 @@ pub union perf_event_attr__bindgen_ty_1 { } #[test] fn bindgen_test_layout_perf_event_attr__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<perf_event_attr__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<perf_event_attr__bindgen_ty_1>(), 4usize, @@ -30,44 +33,26 @@ fn bindgen_test_layout_perf_event_attr__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(perf_event_attr__bindgen_ty_1)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - perf_event_attr__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(perf_event_attr__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - perf_event_attr__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(perf_event_attr__bindgen_ty_1), - "::", - stringify!(c) - ) - ); - } - test_field_c(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(perf_event_attr__bindgen_ty_1), + "::", + stringify!(b) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(perf_event_attr__bindgen_ty_1), + "::", + stringify!(c) + ) + ); } impl Default for perf_event_attr__bindgen_ty_1 { fn default() -> Self { @@ -85,6 +70,9 @@ impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_1 { } #[test] fn bindgen_test_layout_perf_event_attr() { + const UNINIT: ::std::mem::MaybeUninit<perf_event_attr> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<perf_event_attr>(), 12usize, @@ -95,42 +83,26 @@ fn bindgen_test_layout_perf_event_attr() { 4usize, concat!("Alignment of ", stringify!(perf_event_attr)) ); - fn test_field_type() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<perf_event_attr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(perf_event_attr), - "::", - stringify!(type_) - ) - ); - } - test_field_type(); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<perf_event_attr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(perf_event_attr), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(perf_event_attr), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(perf_event_attr), + "::", + stringify!(a) + ) + ); } impl Default for perf_event_attr { fn default() -> Self { diff --git a/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs b/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs index 78101ada..a0cc87ff 100644 --- a/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs +++ b/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs @@ -11,6 +11,9 @@ pub struct Instance { } #[test] fn bindgen_test_layout_Instance() { + const UNINIT: ::std::mem::MaybeUninit<Instance> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Instance>(), 200usize, @@ -21,23 +24,16 @@ fn bindgen_test_layout_Instance() { 4usize, concat!("Alignment of ", stringify!(Instance)) ); - fn test_field_val() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Instance>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Instance), - "::", - stringify!(val) - ) - ); - } - test_field_val(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Instance), + "::", + stringify!(val) + ) + ); } impl Default for Instance { fn default() -> Self { diff --git a/tests/expectations/tests/derive-debug-opaque.rs b/tests/expectations/tests/derive-debug-opaque.rs index 06f33952..5cebc9b8 100644 --- a/tests/expectations/tests/derive-debug-opaque.rs +++ b/tests/expectations/tests/derive-debug-opaque.rs @@ -43,6 +43,9 @@ pub struct OpaqueUser { } #[test] fn bindgen_test_layout_OpaqueUser() { + const UNINIT: ::std::mem::MaybeUninit<OpaqueUser> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<OpaqueUser>(), 164usize, @@ -53,23 +56,16 @@ fn bindgen_test_layout_OpaqueUser() { 4usize, concat!("Alignment of ", stringify!(OpaqueUser)) ); - fn test_field_opaque() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<OpaqueUser>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(OpaqueUser), - "::", - stringify!(opaque) - ) - ); - } - test_field_opaque(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OpaqueUser), + "::", + stringify!(opaque) + ) + ); } impl Default for OpaqueUser { fn default() -> Self { diff --git a/tests/expectations/tests/derive-default-and-blocklist.rs b/tests/expectations/tests/derive-default-and-blocklist.rs index 4b8ecf97..fe3790c2 100644 --- a/tests/expectations/tests/derive-default-and-blocklist.rs +++ b/tests/expectations/tests/derive-default-and-blocklist.rs @@ -15,6 +15,9 @@ pub struct ShouldNotDeriveDefault { } #[test] fn bindgen_test_layout_ShouldNotDeriveDefault() { + const UNINIT: ::std::mem::MaybeUninit<ShouldNotDeriveDefault> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldNotDeriveDefault>(), 1usize, @@ -25,24 +28,16 @@ fn bindgen_test_layout_ShouldNotDeriveDefault() { 1usize, concat!("Alignment of ", stringify!(ShouldNotDeriveDefault)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldNotDeriveDefault>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldNotDeriveDefault), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldNotDeriveDefault), + "::", + stringify!(a) + ) + ); } impl Default for ShouldNotDeriveDefault { fn default() -> Self { diff --git a/tests/expectations/tests/derive-fn-ptr.rs b/tests/expectations/tests/derive-fn-ptr.rs index bab7f6b8..9da0a40a 100644 --- a/tests/expectations/tests/derive-fn-ptr.rs +++ b/tests/expectations/tests/derive-fn-ptr.rs @@ -32,6 +32,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 8usize, @@ -42,23 +45,18 @@ fn bindgen_test_layout_Foo() { 8usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_callback() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(callback) - ) - ); - } - test_field_callback(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Foo), + "::", + stringify!(callback) + ) + ); } pub type my_fun2_t = ::std::option::Option< unsafe extern "C" fn( @@ -83,6 +81,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 8usize, @@ -93,21 +94,16 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_callback() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(callback) - ) - ); - } - test_field_callback(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(callback) + ) + ); } diff --git a/tests/expectations/tests/derive-hash-and-blocklist.rs b/tests/expectations/tests/derive-hash-and-blocklist.rs index ca436fa8..c677b15e 100644 --- a/tests/expectations/tests/derive-hash-and-blocklist.rs +++ b/tests/expectations/tests/derive-hash-and-blocklist.rs @@ -14,6 +14,9 @@ pub struct ShouldNotDeriveHash { } #[test] fn bindgen_test_layout_ShouldNotDeriveHash() { + const UNINIT: ::std::mem::MaybeUninit<ShouldNotDeriveHash> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldNotDeriveHash>(), 1usize, @@ -24,24 +27,16 @@ fn bindgen_test_layout_ShouldNotDeriveHash() { 1usize, concat!("Alignment of ", stringify!(ShouldNotDeriveHash)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldNotDeriveHash>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldNotDeriveHash), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldNotDeriveHash), + "::", + stringify!(a) + ) + ); } impl Default for ShouldNotDeriveHash { fn default() -> Self { diff --git a/tests/expectations/tests/derive-hash-blocklisting.rs b/tests/expectations/tests/derive-hash-blocklisting.rs index e2aaf03f..868bf9f2 100644 --- a/tests/expectations/tests/derive-hash-blocklisting.rs +++ b/tests/expectations/tests/derive-hash-blocklisting.rs @@ -20,6 +20,9 @@ pub struct AllowlistedOne { } #[test] fn bindgen_test_layout_AllowlistedOne() { + const UNINIT: ::std::mem::MaybeUninit<AllowlistedOne> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AllowlistedOne>(), 4usize, @@ -30,24 +33,16 @@ fn bindgen_test_layout_AllowlistedOne() { 4usize, concat!("Alignment of ", stringify!(AllowlistedOne)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<AllowlistedOne>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AllowlistedOne), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AllowlistedOne), + "::", + stringify!(a) + ) + ); } impl Default for AllowlistedOne { fn default() -> Self { @@ -65,6 +60,9 @@ pub struct AllowlistedTwo { } #[test] fn bindgen_test_layout_AllowlistedTwo() { + const UNINIT: ::std::mem::MaybeUninit<AllowlistedTwo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AllowlistedTwo>(), 4usize, @@ -75,24 +73,16 @@ fn bindgen_test_layout_AllowlistedTwo() { 4usize, concat!("Alignment of ", stringify!(AllowlistedTwo)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<AllowlistedTwo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AllowlistedTwo), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AllowlistedTwo), + "::", + stringify!(b) + ) + ); } impl Default for AllowlistedTwo { fn default() -> Self { diff --git a/tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs b/tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs index c5198856..78c8449b 100644 --- a/tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs +++ b/tests/expectations/tests/derive-hash-struct-with-anon-struct-float.rs @@ -19,6 +19,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 8usize, @@ -29,45 +32,32 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -78,21 +68,9 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } diff --git a/tests/expectations/tests/derive-hash-struct-with-float-array.rs b/tests/expectations/tests/derive-hash-struct-with-float-array.rs index b561cc37..a3f6013b 100644 --- a/tests/expectations/tests/derive-hash-struct-with-float-array.rs +++ b/tests/expectations/tests/derive-hash-struct-with-float-array.rs @@ -13,6 +13,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 12usize, @@ -23,21 +26,9 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } diff --git a/tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs b/tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs index abba4b28..06c8da1b 100644 --- a/tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs +++ b/tests/expectations/tests/derive-hash-struct-with-incomplete-array.rs @@ -43,6 +43,9 @@ pub struct test { } #[test] fn bindgen_test_layout_test() { + const UNINIT: ::std::mem::MaybeUninit<test> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<test>(), 4usize, @@ -53,36 +56,24 @@ fn bindgen_test_layout_test() { 4usize, concat!("Alignment of ", stringify!(test)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(test), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(test), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(test), "::", stringify!(a)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(test), + "::", + stringify!(zero_length_array) + ) + ); } #[repr(C)] #[derive(Debug, Default)] diff --git a/tests/expectations/tests/derive-hash-struct-with-pointer.rs b/tests/expectations/tests/derive-hash-struct-with-pointer.rs index 65881008..3efd55c9 100644 --- a/tests/expectations/tests/derive-hash-struct-with-pointer.rs +++ b/tests/expectations/tests/derive-hash-struct-with-pointer.rs @@ -13,6 +13,9 @@ pub struct ConstPtrMutObj { } #[test] fn bindgen_test_layout_ConstPtrMutObj() { + const UNINIT: ::std::mem::MaybeUninit<ConstPtrMutObj> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ConstPtrMutObj>(), 8usize, @@ -23,24 +26,16 @@ fn bindgen_test_layout_ConstPtrMutObj() { 8usize, concat!("Alignment of ", stringify!(ConstPtrMutObj)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ConstPtrMutObj>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ConstPtrMutObj), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ConstPtrMutObj), + "::", + stringify!(bar) + ) + ); } impl Default for ConstPtrMutObj { fn default() -> Self { @@ -58,6 +53,9 @@ pub struct MutPtrMutObj { } #[test] fn bindgen_test_layout_MutPtrMutObj() { + const UNINIT: ::std::mem::MaybeUninit<MutPtrMutObj> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<MutPtrMutObj>(), 8usize, @@ -68,23 +66,16 @@ fn bindgen_test_layout_MutPtrMutObj() { 8usize, concat!("Alignment of ", stringify!(MutPtrMutObj)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<MutPtrMutObj>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(MutPtrMutObj), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MutPtrMutObj), + "::", + stringify!(bar) + ) + ); } impl Default for MutPtrMutObj { fn default() -> Self { @@ -102,6 +93,9 @@ pub struct MutPtrConstObj { } #[test] fn bindgen_test_layout_MutPtrConstObj() { + const UNINIT: ::std::mem::MaybeUninit<MutPtrConstObj> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<MutPtrConstObj>(), 8usize, @@ -112,24 +106,16 @@ fn bindgen_test_layout_MutPtrConstObj() { 8usize, concat!("Alignment of ", stringify!(MutPtrConstObj)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<MutPtrConstObj>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(MutPtrConstObj), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MutPtrConstObj), + "::", + stringify!(bar) + ) + ); } impl Default for MutPtrConstObj { fn default() -> Self { @@ -147,6 +133,9 @@ pub struct ConstPtrConstObj { } #[test] fn bindgen_test_layout_ConstPtrConstObj() { + const UNINIT: ::std::mem::MaybeUninit<ConstPtrConstObj> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ConstPtrConstObj>(), 8usize, @@ -157,24 +146,16 @@ fn bindgen_test_layout_ConstPtrConstObj() { 8usize, concat!("Alignment of ", stringify!(ConstPtrConstObj)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ConstPtrConstObj>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ConstPtrConstObj), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ConstPtrConstObj), + "::", + stringify!(bar) + ) + ); } impl Default for ConstPtrConstObj { fn default() -> Self { diff --git a/tests/expectations/tests/derive-hash-template-inst-float.rs b/tests/expectations/tests/derive-hash-template-inst-float.rs index 18cccb3b..b2e2d8d0 100644 --- a/tests/expectations/tests/derive-hash-template-inst-float.rs +++ b/tests/expectations/tests/derive-hash-template-inst-float.rs @@ -29,6 +29,9 @@ pub struct IntStr { } #[test] fn bindgen_test_layout_IntStr() { + const UNINIT: ::std::mem::MaybeUninit<IntStr> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<IntStr>(), 4usize, @@ -39,23 +42,11 @@ fn bindgen_test_layout_IntStr() { 4usize, concat!("Alignment of ", stringify!(IntStr)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<IntStr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IntStr), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(IntStr), "::", stringify!(a)) + ); } impl Default for IntStr { fn default() -> Self { @@ -74,6 +65,9 @@ pub struct FloatStr { } #[test] fn bindgen_test_layout_FloatStr() { + const UNINIT: ::std::mem::MaybeUninit<FloatStr> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<FloatStr>(), 4usize, @@ -84,23 +78,16 @@ fn bindgen_test_layout_FloatStr() { 4usize, concat!("Alignment of ", stringify!(FloatStr)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<FloatStr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(FloatStr), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FloatStr), + "::", + stringify!(a) + ) + ); } impl Default for FloatStr { fn default() -> Self { diff --git a/tests/expectations/tests/derive-partialeq-and-blocklist.rs b/tests/expectations/tests/derive-partialeq-and-blocklist.rs index 23c493dc..c772c0b9 100644 --- a/tests/expectations/tests/derive-partialeq-and-blocklist.rs +++ b/tests/expectations/tests/derive-partialeq-and-blocklist.rs @@ -15,6 +15,9 @@ pub struct ShouldNotDerivePartialEq { } #[test] fn bindgen_test_layout_ShouldNotDerivePartialEq() { + const UNINIT: ::std::mem::MaybeUninit<ShouldNotDerivePartialEq> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldNotDerivePartialEq>(), 1usize, @@ -25,25 +28,16 @@ fn bindgen_test_layout_ShouldNotDerivePartialEq() { 1usize, concat!("Alignment of ", stringify!(ShouldNotDerivePartialEq)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldNotDerivePartialEq>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldNotDerivePartialEq), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldNotDerivePartialEq), + "::", + stringify!(a) + ) + ); } impl Default for ShouldNotDerivePartialEq { fn default() -> Self { diff --git a/tests/expectations/tests/derive-partialeq-base.rs b/tests/expectations/tests/derive-partialeq-base.rs index 25f37549..840720f2 100644 --- a/tests/expectations/tests/derive-partialeq-base.rs +++ b/tests/expectations/tests/derive-partialeq-base.rs @@ -12,6 +12,9 @@ pub struct Base { } #[test] fn bindgen_test_layout_Base() { + const UNINIT: ::std::mem::MaybeUninit<Base> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Base>(), 132usize, @@ -22,23 +25,16 @@ fn bindgen_test_layout_Base() { 4usize, concat!("Alignment of ", stringify!(Base)) ); - fn test_field_large() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Base>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).large) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Base), - "::", - stringify!(large) - ) - ); - } - test_field_large(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).large) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Base), + "::", + stringify!(large) + ) + ); } impl Default for Base { fn default() -> Self { diff --git a/tests/expectations/tests/derive-partialeq-bitfield.rs b/tests/expectations/tests/derive-partialeq-bitfield.rs index b27f1cb5..cb9781de 100644 --- a/tests/expectations/tests/derive-partialeq-bitfield.rs +++ b/tests/expectations/tests/derive-partialeq-bitfield.rs @@ -100,6 +100,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 204usize, @@ -110,23 +113,18 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_large_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(large_array) - ) - ); - } - test_field_large_array(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(large_array) + ) + ); } impl Default for C { fn default() -> Self { diff --git a/tests/expectations/tests/derive-partialeq-core.rs b/tests/expectations/tests/derive-partialeq-core.rs index eec02324..620b40fa 100644 --- a/tests/expectations/tests/derive-partialeq-core.rs +++ b/tests/expectations/tests/derive-partialeq-core.rs @@ -14,6 +14,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::core::mem::MaybeUninit<C> = + ::core::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::<C>(), 1680usize, @@ -24,24 +27,18 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_large_array() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).large_array) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(large_array) - ) - ); - } - test_field_large_array(); + assert_eq!( + unsafe { + ::core::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(large_array) + ) + ); } impl Default for C { fn default() -> Self { diff --git a/tests/expectations/tests/derive-partialeq-pointer.rs b/tests/expectations/tests/derive-partialeq-pointer.rs index 4b29a5d4..e0d3c062 100644 --- a/tests/expectations/tests/derive-partialeq-pointer.rs +++ b/tests/expectations/tests/derive-partialeq-pointer.rs @@ -12,6 +12,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 8usize, @@ -22,18 +25,11 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Bar), "::", stringify!(b)) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(b)) + ); } impl Default for Bar { fn default() -> Self { @@ -105,6 +101,9 @@ pub struct a { } #[test] fn bindgen_test_layout_a() { + const UNINIT: ::std::mem::MaybeUninit<a> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<a>(), 1usize, @@ -115,18 +114,11 @@ fn bindgen_test_layout_a() { 1usize, concat!("Alignment of ", stringify!(a)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<a>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(a), "::", stringify!(d)) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(a), "::", stringify!(d)) + ); } impl Default for a { fn default() -> Self { diff --git a/tests/expectations/tests/derive-partialeq-union.rs b/tests/expectations/tests/derive-partialeq-union.rs index 00074775..5ffd0bcd 100644 --- a/tests/expectations/tests/derive-partialeq-union.rs +++ b/tests/expectations/tests/derive-partialeq-union.rs @@ -14,6 +14,9 @@ pub union ShouldNotDerivePartialEq { } #[test] fn bindgen_test_layout_ShouldNotDerivePartialEq() { + const UNINIT: ::std::mem::MaybeUninit<ShouldNotDerivePartialEq> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldNotDerivePartialEq>(), 4usize, @@ -24,44 +27,26 @@ fn bindgen_test_layout_ShouldNotDerivePartialEq() { 4usize, concat!("Alignment of ", stringify!(ShouldNotDerivePartialEq)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldNotDerivePartialEq>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldNotDerivePartialEq), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldNotDerivePartialEq>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldNotDerivePartialEq), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldNotDerivePartialEq), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldNotDerivePartialEq), + "::", + stringify!(b) + ) + ); } impl Default for ShouldNotDerivePartialEq { fn default() -> Self { diff --git a/tests/expectations/tests/derive-partialeq-union_1_0.rs b/tests/expectations/tests/derive-partialeq-union_1_0.rs index dd6f756c..a53b9ba8 100644 --- a/tests/expectations/tests/derive-partialeq-union_1_0.rs +++ b/tests/expectations/tests/derive-partialeq-union_1_0.rs @@ -58,6 +58,9 @@ pub struct ShouldDerivePartialEq { } #[test] fn bindgen_test_layout_ShouldDerivePartialEq() { + const UNINIT: ::std::mem::MaybeUninit<ShouldDerivePartialEq> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldDerivePartialEq>(), 152usize, @@ -68,42 +71,26 @@ fn bindgen_test_layout_ShouldDerivePartialEq() { 4usize, concat!("Alignment of ", stringify!(ShouldDerivePartialEq)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldDerivePartialEq>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldDerivePartialEq), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldDerivePartialEq>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldDerivePartialEq), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldDerivePartialEq), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldDerivePartialEq), + "::", + stringify!(b) + ) + ); } impl Clone for ShouldDerivePartialEq { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/disable-nested-struct-naming.rs b/tests/expectations/tests/disable-nested-struct-naming.rs index 23391041..ce8a01ad 100644 --- a/tests/expectations/tests/disable-nested-struct-naming.rs +++ b/tests/expectations/tests/disable-nested-struct-naming.rs @@ -35,6 +35,9 @@ pub struct bar4 { } #[test] fn bindgen_test_layout_bar4() { + const UNINIT: ::std::mem::MaybeUninit<bar4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar4>(), 4usize, @@ -45,26 +48,17 @@ fn bindgen_test_layout_bar4() { 4usize, concat!("Alignment of ", stringify!(bar4)) ); - fn test_field_x4() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar4>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x4) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar4), - "::", - stringify!(x4) - ) - ); - } - test_field_x4(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x4) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(bar4), "::", stringify!(x4)) + ); } #[test] fn bindgen_test_layout_bar1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<bar1__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar1__bindgen_ty_1__bindgen_ty_1>(), 8usize, @@ -78,47 +72,32 @@ fn bindgen_test_layout_bar1__bindgen_ty_1__bindgen_ty_1() { stringify!(bar1__bindgen_ty_1__bindgen_ty_1) ) ); - fn test_field_x3() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - bar1__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x3) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar1__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(x3) - ) - ); - } - test_field_x3(); - fn test_field_b4() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - bar1__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b4) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(bar1__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(b4) - ) - ); - } - test_field_b4(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x3) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(bar1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(x3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b4) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(bar1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(b4) + ) + ); } #[test] fn bindgen_test_layout_bar1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<bar1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar1__bindgen_ty_1>(), 12usize, @@ -129,45 +108,32 @@ fn bindgen_test_layout_bar1__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(bar1__bindgen_ty_1)) ); - fn test_field_x2() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<bar1__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x2) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar1__bindgen_ty_1), - "::", - stringify!(x2) - ) - ); - } - test_field_x2(); - fn test_field_b3() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<bar1__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b3) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(bar1__bindgen_ty_1), - "::", - stringify!(b3) - ) - ); - } - test_field_b3(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(bar1__bindgen_ty_1), + "::", + stringify!(x2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b3) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(bar1__bindgen_ty_1), + "::", + stringify!(b3) + ) + ); } #[test] fn bindgen_test_layout_bar1() { + const UNINIT: ::std::mem::MaybeUninit<bar1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar1>(), 16usize, @@ -178,43 +144,22 @@ fn bindgen_test_layout_bar1() { 4usize, concat!("Alignment of ", stringify!(bar1)) ); - fn test_field_x1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar1), - "::", - stringify!(x1) - ) - ); - } - test_field_x1(); - fn test_field_b2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b2) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(bar1), - "::", - stringify!(b2) - ) - ); - } - test_field_b2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x1) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(bar1), "::", stringify!(x1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b2) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(bar1), "::", stringify!(b2)) + ); } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 16usize, @@ -225,18 +170,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_b1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b1) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(b1)) - ); - } - test_field_b1(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b1) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(b1)) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -255,6 +193,9 @@ pub struct baz { } #[test] fn bindgen_test_layout_baz() { + const UNINIT: ::std::mem::MaybeUninit<baz> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<baz>(), 4usize, @@ -265,21 +206,17 @@ fn bindgen_test_layout_baz() { 4usize, concat!("Alignment of ", stringify!(baz)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<baz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(baz), "::", stringify!(x)) - ); - } - test_field_x(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(baz), "::", stringify!(x)) + ); } #[test] fn bindgen_test_layout__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_bindgen_ty_1__bindgen_ty_1>(), 4usize, @@ -290,28 +227,22 @@ fn bindgen_test_layout__bindgen_ty_1__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(_bindgen_ty_1__bindgen_ty_1)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - _bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } #[test] fn bindgen_test_layout__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_bindgen_ty_1>(), 4usize, @@ -322,23 +253,16 @@ fn bindgen_test_layout__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(_bindgen_ty_1)) ); - fn test_field_anon2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<_bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).anon2) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_bindgen_ty_1), - "::", - stringify!(anon2) - ) - ); - } - test_field_anon2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).anon2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(anon2) + ) + ); } extern "C" { pub static mut anon1: _bindgen_ty_1; diff --git a/tests/expectations/tests/disable-untagged-union.rs b/tests/expectations/tests/disable-untagged-union.rs index 912238b3..515f496b 100644 --- a/tests/expectations/tests/disable-untagged-union.rs +++ b/tests/expectations/tests/disable-untagged-union.rs @@ -57,6 +57,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 4usize, @@ -67,38 +70,14 @@ fn bindgen_test_layout_Foo() { 4usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(bar)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(baz)) + ); } diff --git a/tests/expectations/tests/do-not-derive-copy.rs b/tests/expectations/tests/do-not-derive-copy.rs index 2e02cc50..4f9081ad 100644 --- a/tests/expectations/tests/do-not-derive-copy.rs +++ b/tests/expectations/tests/do-not-derive-copy.rs @@ -12,6 +12,9 @@ pub struct WouldBeCopyButWeAreNotDerivingCopy { } #[test] fn bindgen_test_layout_WouldBeCopyButWeAreNotDerivingCopy() { + const UNINIT: ::std::mem::MaybeUninit<WouldBeCopyButWeAreNotDerivingCopy> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WouldBeCopyButWeAreNotDerivingCopy>(), 4usize, @@ -25,23 +28,14 @@ fn bindgen_test_layout_WouldBeCopyButWeAreNotDerivingCopy() { stringify!(WouldBeCopyButWeAreNotDerivingCopy) ) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - WouldBeCopyButWeAreNotDerivingCopy, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WouldBeCopyButWeAreNotDerivingCopy), - "::", - stringify!(x) - ) - ); - } - test_field_x(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WouldBeCopyButWeAreNotDerivingCopy), + "::", + stringify!(x) + ) + ); } diff --git a/tests/expectations/tests/doggo-or-null.rs b/tests/expectations/tests/doggo-or-null.rs index 0b34b3d0..90287159 100644 --- a/tests/expectations/tests/doggo-or-null.rs +++ b/tests/expectations/tests/doggo-or-null.rs @@ -12,6 +12,9 @@ pub struct Doggo { } #[test] fn bindgen_test_layout_Doggo() { + const UNINIT: ::std::mem::MaybeUninit<Doggo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Doggo>(), 4usize, @@ -22,23 +25,11 @@ fn bindgen_test_layout_Doggo() { 4usize, concat!("Alignment of ", stringify!(Doggo)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Doggo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Doggo), - "::", - stringify!(x) - ) - ); - } - test_field_x(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Doggo), "::", stringify!(x)) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, Hash, PartialEq)] diff --git a/tests/expectations/tests/duplicated-namespaces-definitions.rs b/tests/expectations/tests/duplicated-namespaces-definitions.rs index 2322aa87..8e7c895b 100644 --- a/tests/expectations/tests/duplicated-namespaces-definitions.rs +++ b/tests/expectations/tests/duplicated-namespaces-definitions.rs @@ -20,6 +20,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 8usize, @@ -30,40 +33,30 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(foo) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(baz) + ) + ); } } pub mod bar { @@ -76,6 +69,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 8usize, @@ -86,23 +82,18 @@ pub mod root { 8usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_ptr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(ptr) - ) - ); - } - test_field_ptr(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Foo), + "::", + stringify!(ptr) + ) + ); } impl Default for Foo { fn default() -> Self { diff --git a/tests/expectations/tests/dynamic_loading_with_blocklist.rs b/tests/expectations/tests/dynamic_loading_with_blocklist.rs index f2ffe671..af482ad9 100644 --- a/tests/expectations/tests/dynamic_loading_with_blocklist.rs +++ b/tests/expectations/tests/dynamic_loading_with_blocklist.rs @@ -12,6 +12,9 @@ pub struct X { } #[test] fn bindgen_test_layout_X() { + const UNINIT: ::std::mem::MaybeUninit<X> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<X>(), 4usize, @@ -22,18 +25,11 @@ fn bindgen_test_layout_X() { 4usize, concat!("Alignment of ", stringify!(X)) ); - fn test_field__x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<X>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr)._x) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(X), "::", stringify!(_x)) - ); - } - test_field__x(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._x) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(X), "::", stringify!(_x)) + ); } extern "C" { #[link_name = "\u{1}_ZN1X13some_functionEv"] diff --git a/tests/expectations/tests/dynamic_loading_with_class.rs b/tests/expectations/tests/dynamic_loading_with_class.rs index 03655c8e..514cff73 100644 --- a/tests/expectations/tests/dynamic_loading_with_class.rs +++ b/tests/expectations/tests/dynamic_loading_with_class.rs @@ -12,6 +12,9 @@ pub struct A { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 4usize, @@ -22,18 +25,11 @@ fn bindgen_test_layout_A() { 4usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field__x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr)._x) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(_x)) - ); - } - test_field__x(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._x) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(_x)) + ); } extern "C" { #[link_name = "\u{1}_ZN1A13some_functionEv"] diff --git a/tests/expectations/tests/enum-default-bitfield.rs b/tests/expectations/tests/enum-default-bitfield.rs index 6ea42d0b..4c075766 100644 --- a/tests/expectations/tests/enum-default-bitfield.rs +++ b/tests/expectations/tests/enum-default-bitfield.rs @@ -43,6 +43,9 @@ impl ::std::ops::BitAndAssign for foo__bindgen_ty_1 { pub struct foo__bindgen_ty_1(pub ::std::os::raw::c_uint); #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -53,23 +56,16 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(member) + ) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/enum-default-consts.rs b/tests/expectations/tests/enum-default-consts.rs index 631617bd..ddce26c2 100644 --- a/tests/expectations/tests/enum-default-consts.rs +++ b/tests/expectations/tests/enum-default-consts.rs @@ -15,6 +15,9 @@ pub const foo_FOO_B: foo__bindgen_ty_1 = 1; pub type foo__bindgen_ty_1 = ::std::os::raw::c_uint; #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -25,23 +28,16 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(member) + ) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/enum-default-module.rs b/tests/expectations/tests/enum-default-module.rs index e74e9fc3..ae026d8b 100644 --- a/tests/expectations/tests/enum-default-module.rs +++ b/tests/expectations/tests/enum-default-module.rs @@ -17,6 +17,9 @@ pub mod foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -27,23 +30,16 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(member) + ) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/enum-default-rust.rs b/tests/expectations/tests/enum-default-rust.rs index 8cc843a3..c3b728f8 100644 --- a/tests/expectations/tests/enum-default-rust.rs +++ b/tests/expectations/tests/enum-default-rust.rs @@ -20,6 +20,9 @@ pub enum foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -30,23 +33,16 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(member) + ) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/enum-no-debug-rust.rs b/tests/expectations/tests/enum-no-debug-rust.rs index 6291137f..33c7b5c7 100644 --- a/tests/expectations/tests/enum-no-debug-rust.rs +++ b/tests/expectations/tests/enum-no-debug-rust.rs @@ -20,6 +20,9 @@ pub enum foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -30,23 +33,16 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(member) + ) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/enum.rs b/tests/expectations/tests/enum.rs index 484adf5b..65b734a3 100644 --- a/tests/expectations/tests/enum.rs +++ b/tests/expectations/tests/enum.rs @@ -15,6 +15,9 @@ pub const foo_FOO_B: foo__bindgen_ty_1 = 1; pub type foo__bindgen_ty_1 = ::std::os::raw::c_uint; #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -25,23 +28,16 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(member) + ) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/enum_and_vtable_mangling.rs b/tests/expectations/tests/enum_and_vtable_mangling.rs index 5f41a62b..f414812b 100644 --- a/tests/expectations/tests/enum_and_vtable_mangling.rs +++ b/tests/expectations/tests/enum_and_vtable_mangling.rs @@ -25,6 +25,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 16usize, @@ -35,18 +38,11 @@ fn bindgen_test_layout_C() { 8usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 8usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(i)) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(i)) + ); } impl Default for C { fn default() -> Self { diff --git a/tests/expectations/tests/explicit-padding.rs b/tests/expectations/tests/explicit-padding.rs index 508c6b5b..a6ea7671 100644 --- a/tests/expectations/tests/explicit-padding.rs +++ b/tests/expectations/tests/explicit-padding.rs @@ -16,6 +16,9 @@ pub struct pad_me { } #[test] fn bindgen_test_layout_pad_me() { + const UNINIT: ::std::mem::MaybeUninit<pad_me> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<pad_me>(), 12usize, @@ -26,57 +29,36 @@ fn bindgen_test_layout_pad_me() { 4usize, concat!("Alignment of ", stringify!(pad_me)) ); - fn test_field_first() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<pad_me>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).first) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(pad_me), - "::", - stringify!(first) - ) - ); - } - test_field_first(); - fn test_field_second() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<pad_me>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).second) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(pad_me), - "::", - stringify!(second) - ) - ); - } - test_field_second(); - fn test_field_third() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<pad_me>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).third) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(pad_me), - "::", - stringify!(third) - ) - ); - } - test_field_third(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).first) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pad_me), + "::", + stringify!(first) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).second) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(pad_me), + "::", + stringify!(second) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).third) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(pad_me), + "::", + stringify!(third) + ) + ); } #[repr(C)] #[derive(Copy, Clone)] @@ -87,6 +69,9 @@ pub union dont_pad_me { } #[test] fn bindgen_test_layout_dont_pad_me() { + const UNINIT: ::std::mem::MaybeUninit<dont_pad_me> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<dont_pad_me>(), 4usize, @@ -97,57 +82,36 @@ fn bindgen_test_layout_dont_pad_me() { 4usize, concat!("Alignment of ", stringify!(dont_pad_me)) ); - fn test_field_first() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<dont_pad_me>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).first) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(dont_pad_me), - "::", - stringify!(first) - ) - ); - } - test_field_first(); - fn test_field_second() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<dont_pad_me>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).second) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(dont_pad_me), - "::", - stringify!(second) - ) - ); - } - test_field_second(); - fn test_field_third() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<dont_pad_me>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).third) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(dont_pad_me), - "::", - stringify!(third) - ) - ); - } - test_field_third(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).first) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(dont_pad_me), + "::", + stringify!(first) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).second) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(dont_pad_me), + "::", + stringify!(second) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).third) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(dont_pad_me), + "::", + stringify!(third) + ) + ); } impl Default for dont_pad_me { fn default() -> Self { diff --git a/tests/expectations/tests/extern-const-struct.rs b/tests/expectations/tests/extern-const-struct.rs index ab2b3a66..8060316a 100644 --- a/tests/expectations/tests/extern-const-struct.rs +++ b/tests/expectations/tests/extern-const-struct.rs @@ -12,6 +12,9 @@ pub struct nsFoo { } #[test] fn bindgen_test_layout_nsFoo() { + const UNINIT: ::std::mem::MaybeUninit<nsFoo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<nsFoo>(), 1600usize, @@ -22,23 +25,16 @@ fn bindgen_test_layout_nsFoo() { 4usize, concat!("Alignment of ", stringify!(nsFoo)) ); - fn test_field_details() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsFoo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsFoo), - "::", - stringify!(details) - ) - ); - } - test_field_details(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).details) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsFoo), + "::", + stringify!(details) + ) + ); } impl Default for nsFoo { fn default() -> Self { diff --git a/tests/expectations/tests/forward-declaration-autoptr.rs b/tests/expectations/tests/forward-declaration-autoptr.rs index f46f73b6..9f4fdca0 100644 --- a/tests/expectations/tests/forward-declaration-autoptr.rs +++ b/tests/expectations/tests/forward-declaration-autoptr.rs @@ -32,6 +32,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 8usize, @@ -42,23 +45,18 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_m_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(m_member) - ) - ); - } - test_field_m_member(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(m_member) + ) + ); } impl Default for Bar { fn default() -> Self { diff --git a/tests/expectations/tests/forward_declared_complex_types.rs b/tests/expectations/tests/forward_declared_complex_types.rs index 9c3d7c66..c1b1f23d 100644 --- a/tests/expectations/tests/forward_declared_complex_types.rs +++ b/tests/expectations/tests/forward_declared_complex_types.rs @@ -35,6 +35,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 8usize, @@ -45,18 +48,11 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Bar), "::", stringify!(f)) - ); - } - test_field_f(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(f)) + ); } impl Default for Bar { fn default() -> Self { diff --git a/tests/expectations/tests/forward_declared_complex_types_1_0.rs b/tests/expectations/tests/forward_declared_complex_types_1_0.rs index 0e792633..ecdbe49d 100644 --- a/tests/expectations/tests/forward_declared_complex_types_1_0.rs +++ b/tests/expectations/tests/forward_declared_complex_types_1_0.rs @@ -45,6 +45,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 8usize, @@ -55,18 +58,11 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Bar), "::", stringify!(f)) - ); - } - test_field_f(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(f)) + ); } impl Clone for Bar { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/forward_declared_struct.rs b/tests/expectations/tests/forward_declared_struct.rs index eee7da73..f877666a 100644 --- a/tests/expectations/tests/forward_declared_struct.rs +++ b/tests/expectations/tests/forward_declared_struct.rs @@ -12,6 +12,9 @@ pub struct a { } #[test] fn bindgen_test_layout_a() { + const UNINIT: ::std::mem::MaybeUninit<a> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<a>(), 4usize, @@ -22,18 +25,11 @@ fn bindgen_test_layout_a() { 4usize, concat!("Alignment of ", stringify!(a)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<a>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(a), "::", stringify!(b)) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(a), "::", stringify!(b)) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -42,6 +38,9 @@ pub struct c { } #[test] fn bindgen_test_layout_c() { + const UNINIT: ::std::mem::MaybeUninit<c> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<c>(), 4usize, @@ -52,16 +51,9 @@ fn bindgen_test_layout_c() { 4usize, concat!("Alignment of ", stringify!(c)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<c>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(c), "::", stringify!(d)) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(c), "::", stringify!(d)) + ); } diff --git a/tests/expectations/tests/func_ptr_in_struct.rs b/tests/expectations/tests/func_ptr_in_struct.rs index 8709ee2b..745720d9 100644 --- a/tests/expectations/tests/func_ptr_in_struct.rs +++ b/tests/expectations/tests/func_ptr_in_struct.rs @@ -22,6 +22,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 8usize, @@ -32,21 +35,9 @@ fn bindgen_test_layout_Foo() { 8usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(bar)) + ); } diff --git a/tests/expectations/tests/gen-destructors-neg.rs b/tests/expectations/tests/gen-destructors-neg.rs index 09c14862..b87eb1d4 100644 --- a/tests/expectations/tests/gen-destructors-neg.rs +++ b/tests/expectations/tests/gen-destructors-neg.rs @@ -12,6 +12,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 4usize, @@ -22,21 +25,9 @@ fn bindgen_test_layout_Foo() { 4usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(bar)) + ); } diff --git a/tests/expectations/tests/gen-destructors.rs b/tests/expectations/tests/gen-destructors.rs index 79f4ed80..1711f76d 100644 --- a/tests/expectations/tests/gen-destructors.rs +++ b/tests/expectations/tests/gen-destructors.rs @@ -12,6 +12,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 4usize, @@ -22,23 +25,11 @@ fn bindgen_test_layout_Foo() { 4usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(bar)) + ); } extern "C" { #[link_name = "\u{1}_ZN3FooD1Ev"] diff --git a/tests/expectations/tests/i128.rs b/tests/expectations/tests/i128.rs index 545198c6..dee57a6d 100644 --- a/tests/expectations/tests/i128.rs +++ b/tests/expectations/tests/i128.rs @@ -14,6 +14,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 32usize, @@ -24,38 +27,28 @@ fn bindgen_test_layout_foo() { 16usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_my_signed() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).my_signed) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(my_signed) - ) - ); - } - test_field_my_signed(); - fn test_field_my_unsigned() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).my_unsigned) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(my_unsigned) - ) - ); - } - test_field_my_unsigned(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).my_signed) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(my_signed) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).my_unsigned) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(my_unsigned) + ) + ); } diff --git a/tests/expectations/tests/inline_namespace.rs b/tests/expectations/tests/inline_namespace.rs index daa08685..c569bba6 100644 --- a/tests/expectations/tests/inline_namespace.rs +++ b/tests/expectations/tests/inline_namespace.rs @@ -21,6 +21,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 4usize, @@ -31,22 +34,15 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(baz) + ) + ); } } diff --git a/tests/expectations/tests/inline_namespace_conservative.rs b/tests/expectations/tests/inline_namespace_conservative.rs index d855e061..4ffafd46 100644 --- a/tests/expectations/tests/inline_namespace_conservative.rs +++ b/tests/expectations/tests/inline_namespace_conservative.rs @@ -26,6 +26,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 4usize, @@ -36,22 +39,15 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(baz) + ) + ); } } diff --git a/tests/expectations/tests/inner_const.rs b/tests/expectations/tests/inner_const.rs index 41c99047..69a7c39a 100644 --- a/tests/expectations/tests/inner_const.rs +++ b/tests/expectations/tests/inner_const.rs @@ -20,6 +20,9 @@ extern "C" { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 4usize, @@ -30,21 +33,9 @@ fn bindgen_test_layout_Foo() { 4usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(bar)) + ); } diff --git a/tests/expectations/tests/inner_template_self.rs b/tests/expectations/tests/inner_template_self.rs index 033dc57b..13d9ac14 100644 --- a/tests/expectations/tests/inner_template_self.rs +++ b/tests/expectations/tests/inner_template_self.rs @@ -27,6 +27,9 @@ pub struct InstantiateIt { } #[test] fn bindgen_test_layout_InstantiateIt() { + const UNINIT: ::std::mem::MaybeUninit<InstantiateIt> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<InstantiateIt>(), 16usize, @@ -37,23 +40,16 @@ fn bindgen_test_layout_InstantiateIt() { 8usize, concat!("Alignment of ", stringify!(InstantiateIt)) ); - fn test_field_m_list() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<InstantiateIt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m_list) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(InstantiateIt), - "::", - stringify!(m_list) - ) - ); - } - test_field_m_list(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_list) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(InstantiateIt), + "::", + stringify!(m_list) + ) + ); } impl Default for InstantiateIt { fn default() -> Self { diff --git a/tests/expectations/tests/issue-1118-using-forward-decl.rs b/tests/expectations/tests/issue-1118-using-forward-decl.rs index 121c0866..e881c8c4 100644 --- a/tests/expectations/tests/issue-1118-using-forward-decl.rs +++ b/tests/expectations/tests/issue-1118-using-forward-decl.rs @@ -13,6 +13,9 @@ pub struct nsTArray_base { } #[test] fn bindgen_test_layout_nsTArray_base() { + const UNINIT: ::std::mem::MaybeUninit<nsTArray_base> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<nsTArray_base>(), 8usize, @@ -23,23 +26,16 @@ fn bindgen_test_layout_nsTArray_base() { 8usize, concat!("Alignment of ", stringify!(nsTArray_base)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsTArray_base>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsTArray_base), - "::", - stringify!(d) - ) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsTArray_base), + "::", + stringify!(d) + ) + ); } impl Default for nsTArray_base { fn default() -> Self { @@ -71,6 +67,9 @@ pub struct nsIContent { } #[test] fn bindgen_test_layout_nsIContent() { + const UNINIT: ::std::mem::MaybeUninit<nsIContent> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<nsIContent>(), 8usize, @@ -81,23 +80,16 @@ fn bindgen_test_layout_nsIContent() { 8usize, concat!("Alignment of ", stringify!(nsIContent)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsIContent>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsIContent), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsIContent), + "::", + stringify!(foo) + ) + ); } impl Default for nsIContent { fn default() -> Self { diff --git a/tests/expectations/tests/issue-1216-variadic-member.rs b/tests/expectations/tests/issue-1216-variadic-member.rs index 792586b4..bb57c856 100644 --- a/tests/expectations/tests/issue-1216-variadic-member.rs +++ b/tests/expectations/tests/issue-1216-variadic-member.rs @@ -22,6 +22,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 8usize, @@ -32,16 +35,9 @@ fn bindgen_test_layout_Foo() { 8usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Foo), "::", stringify!(f)) - ); - } - test_field_f(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(f)) + ); } diff --git a/tests/expectations/tests/issue-1281.rs b/tests/expectations/tests/issue-1281.rs index 9da4c954..db99cbce 100644 --- a/tests/expectations/tests/issue-1281.rs +++ b/tests/expectations/tests/issue-1281.rs @@ -17,6 +17,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -27,26 +30,17 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(foo)) + ); } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 4usize, @@ -57,18 +51,11 @@ fn bindgen_test_layout_bar() { 4usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_u() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(bar), "::", stringify!(u)) - ); - } - test_field_u(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(bar), "::", stringify!(u)) + ); } pub type bar_t = bar; #[repr(C)] @@ -78,6 +65,9 @@ pub struct baz { } #[test] fn bindgen_test_layout_baz() { + const UNINIT: ::std::mem::MaybeUninit<baz> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<baz>(), 4usize, @@ -88,16 +78,9 @@ fn bindgen_test_layout_baz() { 4usize, concat!("Alignment of ", stringify!(baz)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<baz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(baz), "::", stringify!(f)) - ); - } - test_field_f(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(baz), "::", stringify!(f)) + ); } diff --git a/tests/expectations/tests/issue-1285.rs b/tests/expectations/tests/issue-1285.rs index 37f07476..08aab0a9 100644 --- a/tests/expectations/tests/issue-1285.rs +++ b/tests/expectations/tests/issue-1285.rs @@ -18,6 +18,9 @@ pub union foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 4usize, @@ -28,42 +31,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Default for foo__bindgen_ty_1 { fn default() -> Self { @@ -76,6 +63,9 @@ impl Default for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -86,23 +76,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/issue-1291.rs b/tests/expectations/tests/issue-1291.rs index 6776a19d..25f4f105 100644 --- a/tests/expectations/tests/issue-1291.rs +++ b/tests/expectations/tests/issue-1291.rs @@ -27,6 +27,9 @@ pub struct RTCRay { } #[test] fn bindgen_test_layout_RTCRay() { + const UNINIT: ::std::mem::MaybeUninit<RTCRay> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<RTCRay>(), 96usize, @@ -37,259 +40,144 @@ fn bindgen_test_layout_RTCRay() { 16usize, concat!("Alignment of ", stringify!(RTCRay)) ); - fn test_field_org() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).org) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(org) - ) - ); - } - test_field_org(); - fn test_field_align0() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).align0) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(align0) - ) - ); - } - test_field_align0(); - fn test_field_dir() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dir) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(dir) - ) - ); - } - test_field_dir(); - fn test_field_align1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).align1) as usize - ptr as usize - }, - 28usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(align1) - ) - ); - } - test_field_align1(); - fn test_field_tnear() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tnear) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(tnear) - ) - ); - } - test_field_tnear(); - fn test_field_tfar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tfar) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(tfar) - ) - ); - } - test_field_tfar(); - fn test_field_time() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(time) - ) - ); - } - test_field_time(); - fn test_field_mask() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(mask) - ) - ); - } - test_field_mask(); - fn test_field_Ng() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ng) as usize - ptr as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(Ng) - ) - ); - } - test_field_Ng(); - fn test_field_align2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).align2) as usize - ptr as usize - }, - 60usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(align2) - ) - ); - } - test_field_align2(); - fn test_field_u() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(u) - ) - ); - } - test_field_u(); - fn test_field_v() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize - }, - 68usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(v) - ) - ); - } - test_field_v(); - fn test_field_geomID() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).geomID) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(geomID) - ) - ); - } - test_field_geomID(); - fn test_field_primID() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).primID) as usize - ptr as usize - }, - 76usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(primID) - ) - ); - } - test_field_primID(); - fn test_field_instID() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<RTCRay>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).instID) as usize - ptr as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(RTCRay), - "::", - stringify!(instID) - ) - ); - } - test_field_instID(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).org) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(org) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).align0) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(align0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dir) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(dir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).align1) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(align1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tnear) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(tnear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tfar) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(tfar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ng) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(Ng) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).align2) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(align2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 64usize, + concat!("Offset of field: ", stringify!(RTCRay), "::", stringify!(u)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize }, + 68usize, + concat!("Offset of field: ", stringify!(RTCRay), "::", stringify!(v)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).geomID) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(geomID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).primID) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(primID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).instID) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(RTCRay), + "::", + stringify!(instID) + ) + ); } diff --git a/tests/expectations/tests/issue-1382-rust-primitive-types.rs b/tests/expectations/tests/issue-1382-rust-primitive-types.rs index 4ef922c3..b767d5e4 100644 --- a/tests/expectations/tests/issue-1382-rust-primitive-types.rs +++ b/tests/expectations/tests/issue-1382-rust-primitive-types.rs @@ -33,6 +33,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 56usize, @@ -43,242 +46,94 @@ fn bindgen_test_layout_Foo() { 4usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_i8() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i8_) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(i8_) - ) - ); - } - test_field_i8(); - fn test_field_u8() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(u8_) - ) - ); - } - test_field_u8(); - fn test_field_i16() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i16_) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(i16_) - ) - ); - } - test_field_i16(); - fn test_field_u16() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u16_) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(u16_) - ) - ); - } - test_field_u16(); - fn test_field_i32() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(i32_) - ) - ); - } - test_field_i32(); - fn test_field_u32() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u32_) as usize - ptr as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(u32_) - ) - ); - } - test_field_u32(); - fn test_field_i64() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(i64_) - ) - ); - } - test_field_i64(); - fn test_field_u64() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u64_) as usize - ptr as usize - }, - 28usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(u64_) - ) - ); - } - test_field_u64(); - fn test_field_i128() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i128_) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(i128_) - ) - ); - } - test_field_i128(); - fn test_field_u128() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u128_) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(u128_) - ) - ); - } - test_field_u128(); - fn test_field_isize() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).isize_) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(isize_) - ) - ); - } - test_field_isize(); - fn test_field_usize() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).usize_) as usize - ptr as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(usize_) - ) - ); - } - test_field_usize(); - fn test_field_f32() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f32_) as usize - ptr as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(f32_) - ) - ); - } - test_field_f32(); - fn test_field_f64() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f64_) as usize - ptr as usize - }, - 52usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(f64_) - ) - ); - } - test_field_f64(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i8_) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(i8_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(u8_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i16_) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(i16_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u16_) as usize - ptr as usize }, + 12usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(u16_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize }, + 16usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(i32_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u32_) as usize - ptr as usize }, + 20usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(u32_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize }, + 24usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(i64_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u64_) as usize - ptr as usize }, + 28usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(u64_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i128_) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(Foo), + "::", + stringify!(i128_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u128_) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(Foo), + "::", + stringify!(u128_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).isize_) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(Foo), + "::", + stringify!(isize_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usize_) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(Foo), + "::", + stringify!(usize_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f32_) as usize - ptr as usize }, + 48usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(f32_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f64_) as usize - ptr as usize }, + 52usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(f64_)) + ); } diff --git a/tests/expectations/tests/issue-1443.rs b/tests/expectations/tests/issue-1443.rs index 92a1c7d4..48cae79f 100644 --- a/tests/expectations/tests/issue-1443.rs +++ b/tests/expectations/tests/issue-1443.rs @@ -18,6 +18,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 16usize, @@ -28,30 +31,16 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Bar), "::", stringify!(f)) - ); - } - test_field_f(); - fn test_field_m() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize - }, - 8usize, - concat!("Offset of field: ", stringify!(Bar), "::", stringify!(m)) - ); - } - test_field_m(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(f)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(m)) + ); } impl Default for Bar { fn default() -> Self { @@ -70,6 +59,9 @@ pub struct Baz { } #[test] fn bindgen_test_layout_Baz() { + const UNINIT: ::std::mem::MaybeUninit<Baz> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Baz>(), 16usize, @@ -80,30 +72,16 @@ fn bindgen_test_layout_Baz() { 8usize, concat!("Alignment of ", stringify!(Baz)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Baz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Baz), "::", stringify!(f)) - ); - } - test_field_f(); - fn test_field_m() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Baz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize - }, - 8usize, - concat!("Offset of field: ", stringify!(Baz), "::", stringify!(m)) - ); - } - test_field_m(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Baz), "::", stringify!(f)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Baz), "::", stringify!(m)) + ); } impl Default for Baz { fn default() -> Self { @@ -122,6 +100,9 @@ pub struct Tar { } #[test] fn bindgen_test_layout_Tar() { + const UNINIT: ::std::mem::MaybeUninit<Tar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Tar>(), 16usize, @@ -132,30 +113,16 @@ fn bindgen_test_layout_Tar() { 8usize, concat!("Alignment of ", stringify!(Tar)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Tar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Tar), "::", stringify!(f)) - ); - } - test_field_f(); - fn test_field_m() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Tar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize - }, - 8usize, - concat!("Offset of field: ", stringify!(Tar), "::", stringify!(m)) - ); - } - test_field_m(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Tar), "::", stringify!(f)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Tar), "::", stringify!(m)) + ); } impl Default for Tar { fn default() -> Self { @@ -174,6 +141,9 @@ pub struct Taz { } #[test] fn bindgen_test_layout_Taz() { + const UNINIT: ::std::mem::MaybeUninit<Taz> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Taz>(), 16usize, @@ -184,30 +154,16 @@ fn bindgen_test_layout_Taz() { 8usize, concat!("Alignment of ", stringify!(Taz)) ); - fn test_field_f() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Taz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Taz), "::", stringify!(f)) - ); - } - test_field_f(); - fn test_field_m() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Taz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize - }, - 8usize, - concat!("Offset of field: ", stringify!(Taz), "::", stringify!(m)) - ); - } - test_field_m(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Taz), "::", stringify!(f)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Taz), "::", stringify!(m)) + ); } impl Default for Taz { fn default() -> Self { diff --git a/tests/expectations/tests/issue-1454.rs b/tests/expectations/tests/issue-1454.rs index e0ad1d71..8da43cb0 100644 --- a/tests/expectations/tests/issue-1454.rs +++ b/tests/expectations/tests/issue-1454.rs @@ -16,6 +16,9 @@ pub struct local_type { } #[test] fn bindgen_test_layout_local_type() { + const UNINIT: ::std::mem::MaybeUninit<local_type> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<local_type>(), 0usize, @@ -26,21 +29,14 @@ fn bindgen_test_layout_local_type() { 1usize, concat!("Alignment of ", stringify!(local_type)) ); - fn test_field_inner() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<local_type>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).inner) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(local_type), - "::", - stringify!(inner) - ) - ); - } - test_field_inner(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).inner) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(local_type), + "::", + stringify!(inner) + ) + ); } diff --git a/tests/expectations/tests/issue-1498.rs b/tests/expectations/tests/issue-1498.rs index b3064e64..08ba9ef4 100644 --- a/tests/expectations/tests/issue-1498.rs +++ b/tests/expectations/tests/issue-1498.rs @@ -33,6 +33,9 @@ pub union rte_memseg__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_memseg__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_memseg__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_memseg__bindgen_ty_1>(), 8usize, @@ -43,44 +46,26 @@ fn bindgen_test_layout_rte_memseg__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(rte_memseg__bindgen_ty_1)) ); - fn test_field_addr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_memseg__bindgen_ty_1>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_memseg__bindgen_ty_1), - "::", - stringify!(addr) - ) - ); - } - test_field_addr(); - fn test_field_addr_64() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_memseg__bindgen_ty_1>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).addr_64) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_memseg__bindgen_ty_1), - "::", - stringify!(addr_64) - ) - ); - } - test_field_addr_64(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_memseg__bindgen_ty_1), + "::", + stringify!(addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).addr_64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_memseg__bindgen_ty_1), + "::", + stringify!(addr_64) + ) + ); } impl Default for rte_memseg__bindgen_ty_1 { fn default() -> Self { @@ -93,6 +78,9 @@ impl Default for rte_memseg__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_memseg() { + const UNINIT: ::std::mem::MaybeUninit<rte_memseg> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_memseg>(), 44usize, @@ -103,108 +91,74 @@ fn bindgen_test_layout_rte_memseg() { 1usize, concat!("Alignment of ", stringify!(rte_memseg)) ); - fn test_field_phys_addr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_memseg>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).phys_addr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_memseg), - "::", - stringify!(phys_addr) - ) - ); - } - test_field_phys_addr(); - fn test_field_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_memseg>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_memseg), - "::", - stringify!(len) - ) - ); - } - test_field_len(); - fn test_field_hugepage_sz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_memseg>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hugepage_sz) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rte_memseg), - "::", - stringify!(hugepage_sz) - ) - ); - } - test_field_hugepage_sz(); - fn test_field_socket_id() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_memseg>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).socket_id) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_memseg), - "::", - stringify!(socket_id) - ) - ); - } - test_field_socket_id(); - fn test_field_nchannel() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_memseg>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nchannel) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(rte_memseg), - "::", - stringify!(nchannel) - ) - ); - } - test_field_nchannel(); - fn test_field_nrank() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_memseg>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nrank) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rte_memseg), - "::", - stringify!(nrank) - ) - ); - } - test_field_nrank(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).phys_addr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_memseg), + "::", + stringify!(phys_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_memseg), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).hugepage_sz) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rte_memseg), + "::", + stringify!(hugepage_sz) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).socket_id) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_memseg), + "::", + stringify!(socket_id) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nchannel) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(rte_memseg), + "::", + stringify!(nchannel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nrank) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rte_memseg), + "::", + stringify!(nrank) + ) + ); } impl Default for rte_memseg { fn default() -> Self { diff --git a/tests/expectations/tests/issue-1947.rs b/tests/expectations/tests/issue-1947.rs index e32b7f5f..e133ed85 100644 --- a/tests/expectations/tests/issue-1947.rs +++ b/tests/expectations/tests/issue-1947.rs @@ -107,6 +107,9 @@ pub struct V56AMDY { } #[test] fn bindgen_test_layout_V56AMDY() { + const UNINIT: ::std::mem::MaybeUninit<V56AMDY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<V56AMDY>(), 8usize, @@ -117,57 +120,36 @@ fn bindgen_test_layout_V56AMDY() { 2usize, concat!("Alignment of ", stringify!(V56AMDY)) ); - fn test_field_MADK() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<V56AMDY>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).MADK) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(V56AMDY), - "::", - stringify!(MADK) - ) - ); - } - test_field_MADK(); - fn test_field_MABR() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<V56AMDY>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).MABR) as usize - ptr as usize - }, - 3usize, - concat!( - "Offset of field: ", - stringify!(V56AMDY), - "::", - stringify!(MABR) - ) - ); - } - test_field_MABR(); - fn test_field__rB_() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<V56AMDY>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr)._rB_) as usize - ptr as usize - }, - 7usize, - concat!( - "Offset of field: ", - stringify!(V56AMDY), - "::", - stringify!(_rB_) - ) - ); - } - test_field__rB_(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MADK) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(V56AMDY), + "::", + stringify!(MADK) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MABR) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(V56AMDY), + "::", + stringify!(MABR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._rB_) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(V56AMDY), + "::", + stringify!(_rB_) + ) + ); } impl V56AMDY { #[inline] diff --git a/tests/expectations/tests/issue-1977-larger-arrays.rs b/tests/expectations/tests/issue-1977-larger-arrays.rs index be4723fe..6375ea7e 100644 --- a/tests/expectations/tests/issue-1977-larger-arrays.rs +++ b/tests/expectations/tests/issue-1977-larger-arrays.rs @@ -12,6 +12,9 @@ pub struct S { } #[test] fn bindgen_test_layout_S() { + const UNINIT: ::std::mem::MaybeUninit<S> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<S>(), 33usize, @@ -22,23 +25,18 @@ fn bindgen_test_layout_S() { 1usize, concat!("Alignment of ", stringify!(S)) ); - fn test_field_large_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<S>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(S), - "::", - stringify!(large_array) - ) - ); - } - test_field_large_array(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(S), + "::", + stringify!(large_array) + ) + ); } impl Default for S { fn default() -> Self { diff --git a/tests/expectations/tests/issue-1995.rs b/tests/expectations/tests/issue-1995.rs index a0f10c01..890479b5 100644 --- a/tests/expectations/tests/issue-1995.rs +++ b/tests/expectations/tests/issue-1995.rs @@ -19,6 +19,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 4usize, @@ -29,21 +32,9 @@ fn bindgen_test_layout_Bar() { 4usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(baz)) + ); } diff --git a/tests/expectations/tests/issue-2019.rs b/tests/expectations/tests/issue-2019.rs index 6140dfdd..294e9f0e 100644 --- a/tests/expectations/tests/issue-2019.rs +++ b/tests/expectations/tests/issue-2019.rs @@ -12,6 +12,9 @@ pub struct A { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 4usize, @@ -22,18 +25,11 @@ fn bindgen_test_layout_A() { 4usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(a)) + ); } extern "C" { #[link_name = "\u{1}_ZN1A4makeEv"] @@ -52,6 +48,9 @@ pub struct B { } #[test] fn bindgen_test_layout_B() { + const UNINIT: ::std::mem::MaybeUninit<B> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<B>(), 4usize, @@ -62,18 +61,11 @@ fn bindgen_test_layout_B() { 4usize, concat!("Alignment of ", stringify!(B)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<B>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(B), "::", stringify!(b)) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(B), "::", stringify!(b)) + ); } extern "C" { #[link_name = "\u{1}_ZN1B4makeEv"] diff --git a/tests/expectations/tests/issue-2239-template-dependent-bit-width.rs b/tests/expectations/tests/issue-2239-template-dependent-bit-width.rs new file mode 100644 index 00000000..75ec9e43 --- /dev/null +++ b/tests/expectations/tests/issue-2239-template-dependent-bit-width.rs @@ -0,0 +1,19 @@ +#![allow( + dead_code, + non_snake_case, + non_camel_case_types, + non_upper_case_globals +)] + +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct b { + pub _address: u8, +} +pub type b_td<a> = a; +pub type b_ta<a> = a; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct b_foo { + pub _address: u8, +} diff --git a/tests/expectations/tests/issue-372.rs b/tests/expectations/tests/issue-372.rs index f46d2c9f..e87fb4d1 100644 --- a/tests/expectations/tests/issue-372.rs +++ b/tests/expectations/tests/issue-372.rs @@ -18,6 +18,9 @@ pub mod root { } #[test] fn bindgen_test_layout_i() { + const UNINIT: ::std::mem::MaybeUninit<i> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<i>(), 24usize, @@ -28,57 +31,21 @@ pub mod root { 8usize, concat!("Alignment of ", stringify!(i)) ); - fn test_field_j() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<i>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).j) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(i), - "::", - stringify!(j) - ) - ); - } - test_field_j(); - fn test_field_k() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<i>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).k) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(i), - "::", - stringify!(k) - ) - ); - } - test_field_k(); - fn test_field_l() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<i>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).l) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(i), - "::", - stringify!(l) - ) - ); - } - test_field_l(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).j) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(i), "::", stringify!(j)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).k) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(i), "::", stringify!(k)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).l) as usize - ptr as usize }, + 16usize, + concat!("Offset of field: ", stringify!(i), "::", stringify!(l)) + ); } impl Default for i { fn default() -> Self { @@ -96,6 +63,9 @@ pub mod root { } #[test] fn bindgen_test_layout_d() { + const UNINIT: ::std::mem::MaybeUninit<d> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<d>(), 24usize, @@ -106,23 +76,11 @@ pub mod root { 8usize, concat!("Alignment of ", stringify!(d)) ); - fn test_field_m() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<d>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(d), - "::", - stringify!(m) - ) - ); - } - test_field_m(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(d), "::", stringify!(m)) + ); } impl Default for d { fn default() -> Self { @@ -155,6 +113,9 @@ pub mod root { } #[test] fn bindgen_test_layout_F() { + const UNINIT: ::std::mem::MaybeUninit<F> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<F>(), 264usize, @@ -165,23 +126,11 @@ pub mod root { 8usize, concat!("Alignment of ", stringify!(F)) ); - fn test_field_w() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<F>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(F), - "::", - stringify!(w) - ) - ); - } - test_field_w(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(F), "::", stringify!(w)) + ); } impl Default for F { fn default() -> Self { diff --git a/tests/expectations/tests/issue-537-repr-packed-n.rs b/tests/expectations/tests/issue-537-repr-packed-n.rs index 55ff25a4..b1e42ca7 100644 --- a/tests/expectations/tests/issue-537-repr-packed-n.rs +++ b/tests/expectations/tests/issue-537-repr-packed-n.rs @@ -15,6 +15,9 @@ pub struct AlignedToOne { } #[test] fn bindgen_test_layout_AlignedToOne() { + const UNINIT: ::std::mem::MaybeUninit<AlignedToOne> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AlignedToOne>(), 4usize, @@ -25,23 +28,16 @@ fn bindgen_test_layout_AlignedToOne() { 1usize, concat!("Alignment of ", stringify!(AlignedToOne)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AlignedToOne>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AlignedToOne), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AlignedToOne), + "::", + stringify!(i) + ) + ); } /// This should be be packed because Rust 1.33 has `#[repr(packed(N))]`. #[repr(C, packed(2))] @@ -51,6 +47,9 @@ pub struct AlignedToTwo { } #[test] fn bindgen_test_layout_AlignedToTwo() { + const UNINIT: ::std::mem::MaybeUninit<AlignedToTwo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AlignedToTwo>(), 4usize, @@ -61,23 +60,16 @@ fn bindgen_test_layout_AlignedToTwo() { 2usize, concat!("Alignment of ", stringify!(AlignedToTwo)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AlignedToTwo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AlignedToTwo), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AlignedToTwo), + "::", + stringify!(i) + ) + ); } /// This should not be opaque because although `libclang` doesn't give us the /// `#pragma pack(1)`, we can detect that alignment is 1 and add @@ -90,6 +82,9 @@ pub struct PackedToOne { } #[test] fn bindgen_test_layout_PackedToOne() { + const UNINIT: ::std::mem::MaybeUninit<PackedToOne> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<PackedToOne>(), 8usize, @@ -100,40 +95,26 @@ fn bindgen_test_layout_PackedToOne() { 1usize, concat!("Alignment of ", stringify!(PackedToOne)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PackedToOne>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(PackedToOne), - "::", - stringify!(x) - ) - ); - } - test_field_x(); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PackedToOne>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(PackedToOne), - "::", - stringify!(y) - ) - ); - } - test_field_y(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PackedToOne), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PackedToOne), + "::", + stringify!(y) + ) + ); } /// This should be be packed because Rust 1.33 has `#[repr(packed(N))]`. #[repr(C, packed(2))] @@ -144,6 +125,9 @@ pub struct PackedToTwo { } #[test] fn bindgen_test_layout_PackedToTwo() { + const UNINIT: ::std::mem::MaybeUninit<PackedToTwo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<PackedToTwo>(), 8usize, @@ -154,38 +138,24 @@ fn bindgen_test_layout_PackedToTwo() { 2usize, concat!("Alignment of ", stringify!(PackedToTwo)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PackedToTwo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(PackedToTwo), - "::", - stringify!(x) - ) - ); - } - test_field_x(); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PackedToTwo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(PackedToTwo), - "::", - stringify!(y) - ) - ); - } - test_field_y(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PackedToTwo), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PackedToTwo), + "::", + stringify!(y) + ) + ); } diff --git a/tests/expectations/tests/issue-537.rs b/tests/expectations/tests/issue-537.rs index d3a0e8c5..e2be9d63 100644 --- a/tests/expectations/tests/issue-537.rs +++ b/tests/expectations/tests/issue-537.rs @@ -14,6 +14,9 @@ pub struct AlignedToOne { } #[test] fn bindgen_test_layout_AlignedToOne() { + const UNINIT: ::std::mem::MaybeUninit<AlignedToOne> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AlignedToOne>(), 4usize, @@ -24,23 +27,16 @@ fn bindgen_test_layout_AlignedToOne() { 1usize, concat!("Alignment of ", stringify!(AlignedToOne)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AlignedToOne>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AlignedToOne), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AlignedToOne), + "::", + stringify!(i) + ) + ); } /// This should be opaque because although we can see the attributes, Rust before /// 1.33 doesn't have `#[repr(packed(N))]`. @@ -51,6 +47,9 @@ pub struct AlignedToTwo { } #[test] fn bindgen_test_layout_AlignedToTwo() { + const UNINIT: ::std::mem::MaybeUninit<AlignedToTwo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AlignedToTwo>(), 4usize, @@ -61,23 +60,16 @@ fn bindgen_test_layout_AlignedToTwo() { 2usize, concat!("Alignment of ", stringify!(AlignedToTwo)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AlignedToTwo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AlignedToTwo), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AlignedToTwo), + "::", + stringify!(i) + ) + ); } /// This should not be opaque because although `libclang` doesn't give us the /// `#pragma pack(1)`, we can detect that alignment is 1 and add @@ -90,6 +82,9 @@ pub struct PackedToOne { } #[test] fn bindgen_test_layout_PackedToOne() { + const UNINIT: ::std::mem::MaybeUninit<PackedToOne> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<PackedToOne>(), 8usize, @@ -100,40 +95,26 @@ fn bindgen_test_layout_PackedToOne() { 1usize, concat!("Alignment of ", stringify!(PackedToOne)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PackedToOne>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(PackedToOne), - "::", - stringify!(x) - ) - ); - } - test_field_x(); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PackedToOne>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(PackedToOne), - "::", - stringify!(y) - ) - ); - } - test_field_y(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PackedToOne), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PackedToOne), + "::", + stringify!(y) + ) + ); } /// In this case, even if we can detect the weird alignment triggered by /// `#pragma pack(2)`, we can't do anything about it because Rust before 1.33 @@ -146,6 +127,9 @@ pub struct PackedToTwo { } #[test] fn bindgen_test_layout_PackedToTwo() { + const UNINIT: ::std::mem::MaybeUninit<PackedToTwo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<PackedToTwo>(), 8usize, @@ -156,38 +140,24 @@ fn bindgen_test_layout_PackedToTwo() { 2usize, concat!("Alignment of ", stringify!(PackedToTwo)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PackedToTwo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(PackedToTwo), - "::", - stringify!(x) - ) - ); - } - test_field_x(); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PackedToTwo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(PackedToTwo), - "::", - stringify!(y) - ) - ); - } - test_field_y(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PackedToTwo), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PackedToTwo), + "::", + stringify!(y) + ) + ); } diff --git a/tests/expectations/tests/issue-573-layout-test-failures.rs b/tests/expectations/tests/issue-573-layout-test-failures.rs index 1c94f94f..fbff1362 100644 --- a/tests/expectations/tests/issue-573-layout-test-failures.rs +++ b/tests/expectations/tests/issue-573-layout-test-failures.rs @@ -17,6 +17,9 @@ pub struct AutoIdVector { } #[test] fn bindgen_test_layout_AutoIdVector() { + const UNINIT: ::std::mem::MaybeUninit<AutoIdVector> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<AutoIdVector>(), 1usize, @@ -27,23 +30,16 @@ fn bindgen_test_layout_AutoIdVector() { 1usize, concat!("Alignment of ", stringify!(AutoIdVector)) ); - fn test_field_ar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<AutoIdVector>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(AutoIdVector), - "::", - stringify!(ar) - ) - ); - } - test_field_ar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AutoIdVector), + "::", + stringify!(ar) + ) + ); } #[test] fn __bindgen_test_layout_Outer_open0_int_close0_instantiation() { diff --git a/tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs b/tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs index 66407d81..22aa9d16 100644 --- a/tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs +++ b/tests/expectations/tests/issue-574-assertion-failure-in-codegen.rs @@ -17,6 +17,9 @@ pub struct _bindgen_ty_1 { } #[test] fn bindgen_test_layout__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_bindgen_ty_1>(), 1usize, @@ -27,23 +30,16 @@ fn bindgen_test_layout__bindgen_ty_1() { 1usize, concat!("Alignment of ", stringify!(_bindgen_ty_1)) ); - fn test_field_ar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<_bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_bindgen_ty_1), - "::", - stringify!(ar) - ) - ); - } - test_field_ar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(ar) + ) + ); } extern "C" { pub static mut AutoIdVector: _bindgen_ty_1; diff --git a/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs b/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs index 2a1d045b..3765315c 100644 --- a/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs +++ b/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs @@ -51,6 +51,9 @@ pub struct g { } #[test] fn bindgen_test_layout_g() { + const UNINIT: ::std::mem::MaybeUninit<g> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<g>(), 1usize, @@ -61,18 +64,11 @@ fn bindgen_test_layout_g() { 1usize, concat!("Alignment of ", stringify!(g)) ); - fn test_field_h() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<g>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(g), "::", stringify!(h)) - ); - } - test_field_h(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(g), "::", stringify!(h)) + ); } impl Default for g { fn default() -> Self { diff --git a/tests/expectations/tests/issue-639-typedef-anon-field.rs b/tests/expectations/tests/issue-639-typedef-anon-field.rs index 8f4b2a5a..bac8a04c 100644 --- a/tests/expectations/tests/issue-639-typedef-anon-field.rs +++ b/tests/expectations/tests/issue-639-typedef-anon-field.rs @@ -17,6 +17,9 @@ pub struct Foo_Bar { } #[test] fn bindgen_test_layout_Foo_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Foo_Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo_Bar>(), 4usize, @@ -27,26 +30,22 @@ fn bindgen_test_layout_Foo_Bar() { 4usize, concat!("Alignment of ", stringify!(Foo_Bar)) ); - fn test_field_abc() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo_Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).abc) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo_Bar), - "::", - stringify!(abc) - ) - ); - } - test_field_abc(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Foo_Bar), + "::", + stringify!(abc) + ) + ); } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 4usize, @@ -57,23 +56,11 @@ fn bindgen_test_layout_Foo() { 4usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(bar)) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -87,6 +74,9 @@ pub struct Baz_Bar { } #[test] fn bindgen_test_layout_Baz_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Baz_Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Baz_Bar>(), 4usize, @@ -97,23 +87,16 @@ fn bindgen_test_layout_Baz_Bar() { 4usize, concat!("Alignment of ", stringify!(Baz_Bar)) ); - fn test_field_abc() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Baz_Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).abc) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Baz_Bar), - "::", - stringify!(abc) - ) - ); - } - test_field_abc(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Baz_Bar), + "::", + stringify!(abc) + ) + ); } #[test] fn bindgen_test_layout_Baz() { diff --git a/tests/expectations/tests/issue-643-inner-struct.rs b/tests/expectations/tests/issue-643-inner-struct.rs index 0fb586c4..b69aa16e 100644 --- a/tests/expectations/tests/issue-643-inner-struct.rs +++ b/tests/expectations/tests/issue-643-inner-struct.rs @@ -50,6 +50,9 @@ pub struct rte_ring_prod { } #[test] fn bindgen_test_layout_rte_ring_prod() { + const UNINIT: ::std::mem::MaybeUninit<rte_ring_prod> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ring_prod>(), 4usize, @@ -60,23 +63,18 @@ fn bindgen_test_layout_rte_ring_prod() { 4usize, concat!("Alignment of ", stringify!(rte_ring_prod)) ); - fn test_field_watermark() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_ring_prod>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).watermark) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ring_prod), - "::", - stringify!(watermark) - ) - ); - } - test_field_watermark(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).watermark) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ring_prod), + "::", + stringify!(watermark) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -85,6 +83,9 @@ pub struct rte_ring_cons { } #[test] fn bindgen_test_layout_rte_ring_cons() { + const UNINIT: ::std::mem::MaybeUninit<rte_ring_cons> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ring_cons>(), 4usize, @@ -95,23 +96,18 @@ fn bindgen_test_layout_rte_ring_cons() { 4usize, concat!("Alignment of ", stringify!(rte_ring_cons)) ); - fn test_field_sc_dequeue() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_ring_cons>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sc_dequeue) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ring_cons), - "::", - stringify!(sc_dequeue) - ) - ); - } - test_field_sc_dequeue(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).sc_dequeue) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ring_cons), + "::", + stringify!(sc_dequeue) + ) + ); } #[test] fn bindgen_test_layout_rte_ring() { diff --git a/tests/expectations/tests/issue-648-derive-debug-with-padding.rs b/tests/expectations/tests/issue-648-derive-debug-with-padding.rs index f91bd469..13cdf0c9 100644 --- a/tests/expectations/tests/issue-648-derive-debug-with-padding.rs +++ b/tests/expectations/tests/issue-648-derive-debug-with-padding.rs @@ -15,6 +15,9 @@ pub struct NoDebug { } #[test] fn bindgen_test_layout_NoDebug() { + const UNINIT: ::std::mem::MaybeUninit<NoDebug> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NoDebug>(), 64usize, @@ -25,23 +28,16 @@ fn bindgen_test_layout_NoDebug() { 64usize, concat!("Alignment of ", stringify!(NoDebug)) ); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<NoDebug>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NoDebug), - "::", - stringify!(c) - ) - ); - } - test_field_c(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NoDebug), + "::", + stringify!(c) + ) + ); } impl Default for NoDebug { fn default() -> Self { @@ -70,6 +66,9 @@ pub struct ShouldDeriveDebugButDoesNot { } #[test] fn bindgen_test_layout_ShouldDeriveDebugButDoesNot() { + const UNINIT: ::std::mem::MaybeUninit<ShouldDeriveDebugButDoesNot> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldDeriveDebugButDoesNot>(), 64usize, @@ -80,44 +79,26 @@ fn bindgen_test_layout_ShouldDeriveDebugButDoesNot() { 64usize, concat!("Alignment of ", stringify!(ShouldDeriveDebugButDoesNot)) ); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - ShouldDeriveDebugButDoesNot, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldDeriveDebugButDoesNot), - "::", - stringify!(c) - ) - ); - } - test_field_c(); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - ShouldDeriveDebugButDoesNot, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(ShouldDeriveDebugButDoesNot), - "::", - stringify!(d) - ) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldDeriveDebugButDoesNot), + "::", + stringify!(c) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ShouldDeriveDebugButDoesNot), + "::", + stringify!(d) + ) + ); } impl Default for ShouldDeriveDebugButDoesNot { fn default() -> Self { diff --git a/tests/expectations/tests/issue-674-1.rs b/tests/expectations/tests/issue-674-1.rs index e3e7a54f..b37d7a27 100644 --- a/tests/expectations/tests/issue-674-1.rs +++ b/tests/expectations/tests/issue-674-1.rs @@ -26,6 +26,9 @@ pub mod root { } #[test] fn bindgen_test_layout_CapturingContentInfo() { + const UNINIT: ::std::mem::MaybeUninit<CapturingContentInfo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<CapturingContentInfo>(), 1usize, @@ -36,24 +39,15 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(CapturingContentInfo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<CapturingContentInfo>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(CapturingContentInfo), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CapturingContentInfo), + "::", + stringify!(a) + ) + ); } } diff --git a/tests/expectations/tests/issue-674-2.rs b/tests/expectations/tests/issue-674-2.rs index 61a456f6..12b2aa20 100644 --- a/tests/expectations/tests/issue-674-2.rs +++ b/tests/expectations/tests/issue-674-2.rs @@ -26,6 +26,9 @@ pub mod root { } #[test] fn bindgen_test_layout_c() { + const UNINIT: ::std::mem::MaybeUninit<c> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<c>(), 1usize, @@ -36,23 +39,11 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(c)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<c>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(c), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(c), "::", stringify!(b)) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -61,6 +52,9 @@ pub mod root { } #[test] fn bindgen_test_layout_B() { + const UNINIT: ::std::mem::MaybeUninit<B> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<B>(), 1usize, @@ -71,23 +65,11 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(B)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<B>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(B), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(B), "::", stringify!(a)) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] diff --git a/tests/expectations/tests/issue-674-3.rs b/tests/expectations/tests/issue-674-3.rs index b45a953e..e7af6b8d 100644 --- a/tests/expectations/tests/issue-674-3.rs +++ b/tests/expectations/tests/issue-674-3.rs @@ -22,6 +22,9 @@ pub mod root { } #[test] fn bindgen_test_layout_a() { + const UNINIT: ::std::mem::MaybeUninit<a> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<a>(), 1usize, @@ -32,23 +35,11 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(a)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<a>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(a), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(a), "::", stringify!(b)) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -57,6 +48,9 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValue() { + const UNINIT: ::std::mem::MaybeUninit<nsCSSValue> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<nsCSSValue>(), 1usize, @@ -67,23 +61,15 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(nsCSSValue)) ); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<nsCSSValue>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsCSSValue), - "::", - stringify!(c) - ) - ); - } - test_field_c(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsCSSValue), + "::", + stringify!(c) + ) + ); } } diff --git a/tests/expectations/tests/issue-801-opaque-sloppiness.rs b/tests/expectations/tests/issue-801-opaque-sloppiness.rs index cd89eec5..b3192b72 100644 --- a/tests/expectations/tests/issue-801-opaque-sloppiness.rs +++ b/tests/expectations/tests/issue-801-opaque-sloppiness.rs @@ -40,6 +40,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 1usize, @@ -50,16 +53,9 @@ fn bindgen_test_layout_C() { 1usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(b)) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(b)) + ); } diff --git a/tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs b/tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs index 584bd00a..f8869528 100644 --- a/tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs +++ b/tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs @@ -109,6 +109,9 @@ pub struct Allowlisted { } #[test] fn bindgen_test_layout_Allowlisted() { + const UNINIT: ::std::mem::MaybeUninit<Allowlisted> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Allowlisted>(), 1usize, @@ -119,21 +122,16 @@ fn bindgen_test_layout_Allowlisted() { 1usize, concat!("Alignment of ", stringify!(Allowlisted)) ); - fn test_field_some_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Allowlisted>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).some_member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Allowlisted), - "::", - stringify!(some_member) - ) - ); - } - test_field_some_member(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).some_member) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Allowlisted), + "::", + stringify!(some_member) + ) + ); } diff --git a/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs b/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs index af00cb2d..d9c365d8 100644 --- a/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs +++ b/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs @@ -14,6 +14,9 @@ pub struct ShouldNotBeCopy { } #[test] fn bindgen_test_layout_ShouldNotBeCopy() { + const UNINIT: ::std::mem::MaybeUninit<ShouldNotBeCopy> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ShouldNotBeCopy>(), 1usize, @@ -24,24 +27,16 @@ fn bindgen_test_layout_ShouldNotBeCopy() { 1usize, concat!("Alignment of ", stringify!(ShouldNotBeCopy)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ShouldNotBeCopy>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShouldNotBeCopy), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShouldNotBeCopy), + "::", + stringify!(a) + ) + ); } impl Default for ShouldNotBeCopy { fn default() -> Self { diff --git a/tests/expectations/tests/jsval_layout_opaque.rs b/tests/expectations/tests/jsval_layout_opaque.rs index 383410bd..2873f6a2 100644 --- a/tests/expectations/tests/jsval_layout_opaque.rs +++ b/tests/expectations/tests/jsval_layout_opaque.rs @@ -277,6 +277,10 @@ pub union jsval_layout__bindgen_ty_2__bindgen_ty_1 { } #[test] fn bindgen_test_layout_jsval_layout__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + jsval_layout__bindgen_ty_2__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<jsval_layout__bindgen_ty_2__bindgen_ty_1>(), 4usize, @@ -293,63 +297,36 @@ fn bindgen_test_layout_jsval_layout__bindgen_ty_2__bindgen_ty_1() { stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1) ) ); - fn test_field_i32() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - jsval_layout__bindgen_ty_2__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(i32_) - ) - ); - } - test_field_i32(); - fn test_field_u32() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - jsval_layout__bindgen_ty_2__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u32_) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(u32_) - ) - ); - } - test_field_u32(); - fn test_field_why() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - jsval_layout__bindgen_ty_2__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).why) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(why) - ) - ); - } - test_field_why(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(i32_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u32_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(u32_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).why) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(why) + ) + ); } impl Default for jsval_layout__bindgen_ty_2__bindgen_ty_1 { fn default() -> Self { @@ -362,6 +339,9 @@ impl Default for jsval_layout__bindgen_ty_2__bindgen_ty_1 { } #[test] fn bindgen_test_layout_jsval_layout__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<jsval_layout__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<jsval_layout__bindgen_ty_2>(), 4usize, @@ -372,25 +352,16 @@ fn bindgen_test_layout_jsval_layout__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(jsval_layout__bindgen_ty_2)) ); - fn test_field_payload() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - jsval_layout__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).payload) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout__bindgen_ty_2), - "::", - stringify!(payload) - ) - ); - } - test_field_payload(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).payload) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout__bindgen_ty_2), + "::", + stringify!(payload) + ) + ); } impl Default for jsval_layout__bindgen_ty_2 { fn default() -> Self { @@ -403,6 +374,9 @@ impl Default for jsval_layout__bindgen_ty_2 { } #[test] fn bindgen_test_layout_jsval_layout() { + const UNINIT: ::std::mem::MaybeUninit<jsval_layout> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<jsval_layout>(), 8usize, @@ -413,125 +387,82 @@ fn bindgen_test_layout_jsval_layout() { 8usize, concat!("Alignment of ", stringify!(jsval_layout)) ); - fn test_field_asBits() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asBits) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asBits) - ) - ); - } - test_field_asBits(); - fn test_field_debugView() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).debugView) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(debugView) - ) - ); - } - test_field_debugView(); - fn test_field_s() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(s) - ) - ); - } - test_field_s(); - fn test_field_asDouble() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asDouble) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asDouble) - ) - ); - } - test_field_asDouble(); - fn test_field_asPtr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asPtr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asPtr) - ) - ); - } - test_field_asPtr(); - fn test_field_asWord() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asWord) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asWord) - ) - ); - } - test_field_asWord(); - fn test_field_asUIntPtr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asUIntPtr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asUIntPtr) - ) - ); - } - test_field_asUIntPtr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asBits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asBits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).debugView) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(debugView) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(s) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).asDouble) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asDouble) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asPtr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asPtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asWord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asWord) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).asUIntPtr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asUIntPtr) + ) + ); } impl Default for jsval_layout { fn default() -> Self { @@ -549,6 +480,9 @@ pub struct Value { } #[test] fn bindgen_test_layout_Value() { + const UNINIT: ::std::mem::MaybeUninit<Value> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Value>(), 8usize, @@ -559,23 +493,16 @@ fn bindgen_test_layout_Value() { 8usize, concat!("Alignment of ", stringify!(Value)) ); - fn test_field_data() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Value>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Value), - "::", - stringify!(data) - ) - ); - } - test_field_data(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Value), + "::", + stringify!(data) + ) + ); } impl Default for Value { fn default() -> Self { diff --git a/tests/expectations/tests/jsval_layout_opaque_1_0.rs b/tests/expectations/tests/jsval_layout_opaque_1_0.rs index bdb41104..33594c0e 100644 --- a/tests/expectations/tests/jsval_layout_opaque_1_0.rs +++ b/tests/expectations/tests/jsval_layout_opaque_1_0.rs @@ -327,6 +327,10 @@ pub struct jsval_layout__bindgen_ty_2__bindgen_ty_1 { } #[test] fn bindgen_test_layout_jsval_layout__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + jsval_layout__bindgen_ty_2__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<jsval_layout__bindgen_ty_2__bindgen_ty_1>(), 4usize, @@ -343,63 +347,36 @@ fn bindgen_test_layout_jsval_layout__bindgen_ty_2__bindgen_ty_1() { stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1) ) ); - fn test_field_i32() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - jsval_layout__bindgen_ty_2__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(i32_) - ) - ); - } - test_field_i32(); - fn test_field_u32() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - jsval_layout__bindgen_ty_2__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u32_) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(u32_) - ) - ); - } - test_field_u32(); - fn test_field_why() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - jsval_layout__bindgen_ty_2__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).why) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), - "::", - stringify!(why) - ) - ); - } - test_field_why(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(i32_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u32_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(u32_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).why) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(why) + ) + ); } impl Clone for jsval_layout__bindgen_ty_2__bindgen_ty_1 { fn clone(&self) -> Self { @@ -408,6 +385,9 @@ impl Clone for jsval_layout__bindgen_ty_2__bindgen_ty_1 { } #[test] fn bindgen_test_layout_jsval_layout__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<jsval_layout__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<jsval_layout__bindgen_ty_2>(), 4usize, @@ -418,25 +398,16 @@ fn bindgen_test_layout_jsval_layout__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(jsval_layout__bindgen_ty_2)) ); - fn test_field_payload() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - jsval_layout__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).payload) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout__bindgen_ty_2), - "::", - stringify!(payload) - ) - ); - } - test_field_payload(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).payload) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout__bindgen_ty_2), + "::", + stringify!(payload) + ) + ); } impl Clone for jsval_layout__bindgen_ty_2 { fn clone(&self) -> Self { @@ -445,6 +416,9 @@ impl Clone for jsval_layout__bindgen_ty_2 { } #[test] fn bindgen_test_layout_jsval_layout() { + const UNINIT: ::std::mem::MaybeUninit<jsval_layout> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<jsval_layout>(), 8usize, @@ -455,125 +429,82 @@ fn bindgen_test_layout_jsval_layout() { 8usize, concat!("Alignment of ", stringify!(jsval_layout)) ); - fn test_field_asBits() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asBits) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asBits) - ) - ); - } - test_field_asBits(); - fn test_field_debugView() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).debugView) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(debugView) - ) - ); - } - test_field_debugView(); - fn test_field_s() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(s) - ) - ); - } - test_field_s(); - fn test_field_asDouble() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asDouble) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asDouble) - ) - ); - } - test_field_asDouble(); - fn test_field_asPtr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asPtr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asPtr) - ) - ); - } - test_field_asPtr(); - fn test_field_asWord() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asWord) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asWord) - ) - ); - } - test_field_asWord(); - fn test_field_asUIntPtr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<jsval_layout>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).asUIntPtr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(jsval_layout), - "::", - stringify!(asUIntPtr) - ) - ); - } - test_field_asUIntPtr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asBits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asBits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).debugView) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(debugView) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(s) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).asDouble) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asDouble) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asPtr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asPtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asWord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asWord) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).asUIntPtr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(jsval_layout), + "::", + stringify!(asUIntPtr) + ) + ); } impl Clone for jsval_layout { fn clone(&self) -> Self { @@ -587,6 +518,9 @@ pub struct Value { } #[test] fn bindgen_test_layout_Value() { + const UNINIT: ::std::mem::MaybeUninit<Value> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Value>(), 8usize, @@ -597,23 +531,16 @@ fn bindgen_test_layout_Value() { 8usize, concat!("Alignment of ", stringify!(Value)) ); - fn test_field_data() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Value>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Value), - "::", - stringify!(data) - ) - ); - } - test_field_data(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Value), + "::", + stringify!(data) + ) + ); } impl Clone for Value { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/keywords.rs b/tests/expectations/tests/keywords.rs index 055b0f00..a1e7f877 100644 --- a/tests/expectations/tests/keywords.rs +++ b/tests/expectations/tests/keywords.rs @@ -70,6 +70,14 @@ extern "C" { pub static mut as_: ::std::os::raw::c_int; } extern "C" { + #[link_name = "\u{1}async"] + pub static mut async_: ::std::os::raw::c_int; +} +extern "C" { + #[link_name = "\u{1}await"] + pub static mut await_: ::std::os::raw::c_int; +} +extern "C" { #[link_name = "\u{1}box"] pub static mut box_: ::std::os::raw::c_int; } diff --git a/tests/expectations/tests/layout_align.rs b/tests/expectations/tests/layout_align.rs index 44df4c1c..466e7686 100644 --- a/tests/expectations/tests/layout_align.rs +++ b/tests/expectations/tests/layout_align.rs @@ -169,6 +169,9 @@ pub struct rte_eth_link { } #[test] fn bindgen_test_layout_rte_eth_link() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_link> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_link>(), 8usize, @@ -179,23 +182,18 @@ fn bindgen_test_layout_rte_eth_link() { 8usize, concat!("Alignment of ", stringify!(rte_eth_link)) ); - fn test_field_link_speed() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_link>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).link_speed) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_link), - "::", - stringify!(link_speed) - ) - ); - } - test_field_link_speed(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).link_speed) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_link), + "::", + stringify!(link_speed) + ) + ); } impl rte_eth_link { #[inline] diff --git a/tests/expectations/tests/layout_arp.rs b/tests/expectations/tests/layout_arp.rs index fc3aa5d5..6852c236 100644 --- a/tests/expectations/tests/layout_arp.rs +++ b/tests/expectations/tests/layout_arp.rs @@ -30,6 +30,9 @@ pub struct ether_addr { } #[test] fn bindgen_test_layout_ether_addr() { + const UNINIT: ::std::mem::MaybeUninit<ether_addr> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ether_addr>(), 6usize, @@ -40,23 +43,18 @@ fn bindgen_test_layout_ether_addr() { 1usize, concat!("Alignment of ", stringify!(ether_addr)) ); - fn test_field_addr_bytes() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ether_addr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).addr_bytes) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ether_addr), - "::", - stringify!(addr_bytes) - ) - ); - } - test_field_addr_bytes(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).addr_bytes) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ether_addr), + "::", + stringify!(addr_bytes) + ) + ); } /// ARP header IPv4 payload. #[repr(C, packed)] @@ -73,6 +71,9 @@ pub struct arp_ipv4 { } #[test] fn bindgen_test_layout_arp_ipv4() { + const UNINIT: ::std::mem::MaybeUninit<arp_ipv4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<arp_ipv4>(), 20usize, @@ -83,74 +84,46 @@ fn bindgen_test_layout_arp_ipv4() { 1usize, concat!("Alignment of ", stringify!(arp_ipv4)) ); - fn test_field_arp_sha() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_ipv4>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_sha) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(arp_ipv4), - "::", - stringify!(arp_sha) - ) - ); - } - test_field_arp_sha(); - fn test_field_arp_sip() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_ipv4>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_sip) as usize - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(arp_ipv4), - "::", - stringify!(arp_sip) - ) - ); - } - test_field_arp_sip(); - fn test_field_arp_tha() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_ipv4>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_tha) as usize - ptr as usize - }, - 10usize, - concat!( - "Offset of field: ", - stringify!(arp_ipv4), - "::", - stringify!(arp_tha) - ) - ); - } - test_field_arp_tha(); - fn test_field_arp_tip() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_ipv4>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_tip) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(arp_ipv4), - "::", - stringify!(arp_tip) - ) - ); - } - test_field_arp_tip(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arp_sha) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(arp_ipv4), + "::", + stringify!(arp_sha) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arp_sip) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(arp_ipv4), + "::", + stringify!(arp_sip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arp_tha) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(arp_ipv4), + "::", + stringify!(arp_tha) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arp_tip) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(arp_ipv4), + "::", + stringify!(arp_tip) + ) + ); } /// ARP header. #[repr(C, packed)] @@ -165,6 +138,9 @@ pub struct arp_hdr { } #[test] fn bindgen_test_layout_arp_hdr() { + const UNINIT: ::std::mem::MaybeUninit<arp_hdr> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<arp_hdr>(), 28usize, @@ -175,106 +151,66 @@ fn bindgen_test_layout_arp_hdr() { 1usize, concat!("Alignment of ", stringify!(arp_hdr)) ); - fn test_field_arp_hrd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_hdr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_hrd) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(arp_hdr), - "::", - stringify!(arp_hrd) - ) - ); - } - test_field_arp_hrd(); - fn test_field_arp_pro() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_hdr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_pro) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(arp_hdr), - "::", - stringify!(arp_pro) - ) - ); - } - test_field_arp_pro(); - fn test_field_arp_hln() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_hdr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_hln) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(arp_hdr), - "::", - stringify!(arp_hln) - ) - ); - } - test_field_arp_hln(); - fn test_field_arp_pln() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_hdr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_pln) as usize - ptr as usize - }, - 5usize, - concat!( - "Offset of field: ", - stringify!(arp_hdr), - "::", - stringify!(arp_pln) - ) - ); - } - test_field_arp_pln(); - fn test_field_arp_op() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_hdr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_op) as usize - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(arp_hdr), - "::", - stringify!(arp_op) - ) - ); - } - test_field_arp_op(); - fn test_field_arp_data() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<arp_hdr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arp_data) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(arp_hdr), - "::", - stringify!(arp_data) - ) - ); - } - test_field_arp_data(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arp_hrd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(arp_hdr), + "::", + stringify!(arp_hrd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arp_pro) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(arp_hdr), + "::", + stringify!(arp_pro) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arp_hln) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(arp_hdr), + "::", + stringify!(arp_hln) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arp_pln) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(arp_hdr), + "::", + stringify!(arp_pln) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arp_op) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(arp_hdr), + "::", + stringify!(arp_op) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).arp_data) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(arp_hdr), + "::", + stringify!(arp_data) + ) + ); } diff --git a/tests/expectations/tests/layout_array.rs b/tests/expectations/tests/layout_array.rs index c8ee4216..f3bbf51e 100644 --- a/tests/expectations/tests/layout_array.rs +++ b/tests/expectations/tests/layout_array.rs @@ -69,6 +69,9 @@ pub struct rte_mempool_ops { } #[test] fn bindgen_test_layout_rte_mempool_ops() { + const UNINIT: ::std::mem::MaybeUninit<rte_mempool_ops> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mempool_ops>(), 128usize, @@ -79,114 +82,68 @@ fn bindgen_test_layout_rte_mempool_ops() { 64usize, concat!("Alignment of ", stringify!(rte_mempool_ops)) ); - fn test_field_name() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mempool_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mempool_ops), - "::", - stringify!(name) - ) - ); - } - test_field_name(); - fn test_field_alloc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mempool_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).alloc) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_mempool_ops), - "::", - stringify!(alloc) - ) - ); - } - test_field_alloc(); - fn test_field_free() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mempool_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).free) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rte_mempool_ops), - "::", - stringify!(free) - ) - ); - } - test_field_free(); - fn test_field_enqueue() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mempool_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).enqueue) as usize - ptr as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(rte_mempool_ops), - "::", - stringify!(enqueue) - ) - ); - } - test_field_enqueue(); - fn test_field_dequeue() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mempool_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dequeue) as usize - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rte_mempool_ops), - "::", - stringify!(dequeue) - ) - ); - } - test_field_dequeue(); - fn test_field_get_count() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mempool_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).get_count) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rte_mempool_ops), - "::", - stringify!(get_count) - ) - ); - } - test_field_get_count(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mempool_ops), + "::", + stringify!(name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).alloc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_mempool_ops), + "::", + stringify!(alloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).free) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rte_mempool_ops), + "::", + stringify!(free) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).enqueue) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(rte_mempool_ops), + "::", + stringify!(enqueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dequeue) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rte_mempool_ops), + "::", + stringify!(dequeue) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).get_count) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rte_mempool_ops), + "::", + stringify!(get_count) + ) + ); } impl Default for rte_mempool_ops { fn default() -> Self { @@ -216,6 +173,9 @@ pub struct rte_spinlock_t { } #[test] fn bindgen_test_layout_rte_spinlock_t() { + const UNINIT: ::std::mem::MaybeUninit<rte_spinlock_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_spinlock_t>(), 4usize, @@ -226,24 +186,16 @@ fn bindgen_test_layout_rte_spinlock_t() { 4usize, concat!("Alignment of ", stringify!(rte_spinlock_t)) ); - fn test_field_locked() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_spinlock_t>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).locked) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_spinlock_t), - "::", - stringify!(locked) - ) - ); - } - test_field_locked(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).locked) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_spinlock_t), + "::", + stringify!(locked) + ) + ); } /// Structure storing the table of registered ops structs, each of which contain /// the function pointers for the mempool ops functions. @@ -266,6 +218,9 @@ pub struct rte_mempool_ops_table { } #[test] fn bindgen_test_layout_rte_mempool_ops_table() { + const UNINIT: ::std::mem::MaybeUninit<rte_mempool_ops_table> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mempool_ops_table>(), 2112usize, @@ -276,60 +231,36 @@ fn bindgen_test_layout_rte_mempool_ops_table() { 64usize, concat!("Alignment of ", stringify!(rte_mempool_ops_table)) ); - fn test_field_sl() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mempool_ops_table>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sl) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mempool_ops_table), - "::", - stringify!(sl) - ) - ); - } - test_field_sl(); - fn test_field_num_ops() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mempool_ops_table>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).num_ops) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_mempool_ops_table), - "::", - stringify!(num_ops) - ) - ); - } - test_field_num_ops(); - fn test_field_ops() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mempool_ops_table>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ops) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rte_mempool_ops_table), - "::", - stringify!(ops) - ) - ); - } - test_field_ops(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mempool_ops_table), + "::", + stringify!(sl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).num_ops) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_mempool_ops_table), + "::", + stringify!(num_ops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ops) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rte_mempool_ops_table), + "::", + stringify!(ops) + ) + ); } impl Default for rte_mempool_ops_table { fn default() -> Self { @@ -357,6 +288,9 @@ pub struct malloc_heap__bindgen_ty_1 { } #[test] fn bindgen_test_layout_malloc_heap__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<malloc_heap__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<malloc_heap__bindgen_ty_1>(), 8usize, @@ -367,23 +301,18 @@ fn bindgen_test_layout_malloc_heap__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(malloc_heap__bindgen_ty_1)) ); - fn test_field_lh_first() { - assert_eq!( - unsafe { - let uninit = :: std :: mem :: MaybeUninit :: < malloc_heap__bindgen_ty_1 > :: uninit () ; - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lh_first) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(malloc_heap__bindgen_ty_1), - "::", - stringify!(lh_first) - ) - ); - } - test_field_lh_first(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).lh_first) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(malloc_heap__bindgen_ty_1), + "::", + stringify!(lh_first) + ) + ); } impl Default for malloc_heap__bindgen_ty_1 { fn default() -> Self { @@ -396,6 +325,9 @@ impl Default for malloc_heap__bindgen_ty_1 { } #[test] fn bindgen_test_layout_malloc_heap() { + const UNINIT: ::std::mem::MaybeUninit<malloc_heap> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<malloc_heap>(), 128usize, @@ -406,74 +338,52 @@ fn bindgen_test_layout_malloc_heap() { 64usize, concat!("Alignment of ", stringify!(malloc_heap)) ); - fn test_field_lock() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<malloc_heap>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lock) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(malloc_heap), - "::", - stringify!(lock) - ) - ); - } - test_field_lock(); - fn test_field_free_head() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<malloc_heap>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).free_head) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(malloc_heap), - "::", - stringify!(free_head) - ) - ); - } - test_field_free_head(); - fn test_field_alloc_count() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<malloc_heap>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).alloc_count) as usize - ptr as usize - }, - 112usize, - concat!( - "Offset of field: ", - stringify!(malloc_heap), - "::", - stringify!(alloc_count) - ) - ); - } - test_field_alloc_count(); - fn test_field_total_size() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<malloc_heap>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).total_size) as usize - ptr as usize - }, - 120usize, - concat!( - "Offset of field: ", - stringify!(malloc_heap), - "::", - stringify!(total_size) - ) - ); - } - test_field_total_size(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lock) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(malloc_heap), + "::", + stringify!(lock) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).free_head) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(malloc_heap), + "::", + stringify!(free_head) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).alloc_count) as usize - ptr as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(malloc_heap), + "::", + stringify!(alloc_count) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).total_size) as usize - ptr as usize + }, + 120usize, + concat!( + "Offset of field: ", + stringify!(malloc_heap), + "::", + stringify!(total_size) + ) + ); } impl Default for malloc_heap { fn default() -> Self { diff --git a/tests/expectations/tests/layout_array_too_long.rs b/tests/expectations/tests/layout_array_too_long.rs index 586d35ec..56b3c021 100644 --- a/tests/expectations/tests/layout_array_too_long.rs +++ b/tests/expectations/tests/layout_array_too_long.rs @@ -35,6 +35,9 @@ pub struct ip_frag { } #[test] fn bindgen_test_layout_ip_frag() { + const UNINIT: ::std::mem::MaybeUninit<ip_frag> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_frag>(), 16usize, @@ -45,57 +48,36 @@ fn bindgen_test_layout_ip_frag() { 8usize, concat!("Alignment of ", stringify!(ip_frag)) ); - fn test_field_ofs() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ofs) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_frag), - "::", - stringify!(ofs) - ) - ); - } - test_field_ofs(); - fn test_field_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(ip_frag), - "::", - stringify!(len) - ) - ); - } - test_field_len(); - fn test_field_mb() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mb) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ip_frag), - "::", - stringify!(mb) - ) - ); - } - test_field_mb(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ofs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_frag), + "::", + stringify!(ofs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(ip_frag), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mb) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ip_frag), + "::", + stringify!(mb) + ) + ); } impl Default for ip_frag { fn default() -> Self { @@ -119,6 +101,9 @@ pub struct ip_frag_key { } #[test] fn bindgen_test_layout_ip_frag_key() { + const UNINIT: ::std::mem::MaybeUninit<ip_frag_key> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_frag_key>(), 40usize, @@ -129,57 +114,36 @@ fn bindgen_test_layout_ip_frag_key() { 8usize, concat!("Alignment of ", stringify!(ip_frag_key)) ); - fn test_field_src_dst() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_key>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_dst) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_key), - "::", - stringify!(src_dst) - ) - ); - } - test_field_src_dst(); - fn test_field_id() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_key>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_key), - "::", - stringify!(id) - ) - ); - } - test_field_id(); - fn test_field_key_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_key>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_key), - "::", - stringify!(key_len) - ) - ); - } - test_field_key_len(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_dst) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_key), + "::", + stringify!(src_dst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_key), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_key), + "::", + stringify!(key_len) + ) + ); } /// @internal Fragmented packet to reassemble. /// First two entries in the frags[] array are for the last and first fragments. @@ -210,6 +174,9 @@ pub struct ip_frag_pkt__bindgen_ty_1 { } #[test] fn bindgen_test_layout_ip_frag_pkt__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<ip_frag_pkt__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_frag_pkt__bindgen_ty_1>(), 16usize, @@ -220,40 +187,30 @@ fn bindgen_test_layout_ip_frag_pkt__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(ip_frag_pkt__bindgen_ty_1)) ); - fn test_field_tqe_next() { - assert_eq!( - unsafe { - let uninit = :: std :: mem :: MaybeUninit :: < ip_frag_pkt__bindgen_ty_1 > :: uninit () ; - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tqe_next) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt__bindgen_ty_1), - "::", - stringify!(tqe_next) - ) - ); - } - test_field_tqe_next(); - fn test_field_tqe_prev() { - assert_eq!( - unsafe { - let uninit = :: std :: mem :: MaybeUninit :: < ip_frag_pkt__bindgen_ty_1 > :: uninit () ; - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tqe_prev) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt__bindgen_ty_1), - "::", - stringify!(tqe_prev) - ) - ); - } - test_field_tqe_prev(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tqe_next) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt__bindgen_ty_1), + "::", + stringify!(tqe_next) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tqe_prev) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt__bindgen_ty_1), + "::", + stringify!(tqe_prev) + ) + ); } impl Default for ip_frag_pkt__bindgen_ty_1 { fn default() -> Self { @@ -266,6 +223,9 @@ impl Default for ip_frag_pkt__bindgen_ty_1 { } #[test] fn bindgen_test_layout_ip_frag_pkt() { + const UNINIT: ::std::mem::MaybeUninit<ip_frag_pkt> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_frag_pkt>(), 192usize, @@ -276,125 +236,82 @@ fn bindgen_test_layout_ip_frag_pkt() { 64usize, concat!("Alignment of ", stringify!(ip_frag_pkt)) ); - fn test_field_lru() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lru) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(lru) - ) - ); - } - test_field_lru(); - fn test_field_key() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(key) - ) - ); - } - test_field_key(); - fn test_field_start() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(start) - ) - ); - } - test_field_start(); - fn test_field_total_size() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).total_size) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(total_size) - ) - ); - } - test_field_total_size(); - fn test_field_frag_size() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).frag_size) as usize - ptr as usize - }, - 68usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(frag_size) - ) - ); - } - test_field_frag_size(); - fn test_field_last_idx() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).last_idx) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(last_idx) - ) - ); - } - test_field_last_idx(); - fn test_field_frags() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).frags) as usize - ptr as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(frags) - ) - ); - } - test_field_frags(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lru) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(lru) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(start) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).total_size) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(total_size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).frag_size) as usize - ptr as usize + }, + 68usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(frag_size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).last_idx) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(last_idx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(frags) + ) + ); } impl Default for ip_frag_pkt { fn default() -> Self { diff --git a/tests/expectations/tests/layout_cmdline_token.rs b/tests/expectations/tests/layout_cmdline_token.rs index a4360cd3..899703bd 100644 --- a/tests/expectations/tests/layout_cmdline_token.rs +++ b/tests/expectations/tests/layout_cmdline_token.rs @@ -15,6 +15,9 @@ pub struct cmdline_token_hdr { } #[test] fn bindgen_test_layout_cmdline_token_hdr() { + const UNINIT: ::std::mem::MaybeUninit<cmdline_token_hdr> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<cmdline_token_hdr>(), 16usize, @@ -25,42 +28,26 @@ fn bindgen_test_layout_cmdline_token_hdr() { 8usize, concat!("Alignment of ", stringify!(cmdline_token_hdr)) ); - fn test_field_ops() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<cmdline_token_hdr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ops) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cmdline_token_hdr), - "::", - stringify!(ops) - ) - ); - } - test_field_ops(); - fn test_field_offset() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<cmdline_token_hdr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cmdline_token_hdr), - "::", - stringify!(offset) - ) - ); - } - test_field_offset(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ops) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(cmdline_token_hdr), + "::", + stringify!(ops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(cmdline_token_hdr), + "::", + stringify!(offset) + ) + ); } impl Default for cmdline_token_hdr { fn default() -> Self { @@ -129,6 +116,9 @@ pub struct cmdline_token_ops { } #[test] fn bindgen_test_layout_cmdline_token_ops() { + const UNINIT: ::std::mem::MaybeUninit<cmdline_token_ops> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<cmdline_token_ops>(), 32usize, @@ -139,80 +129,53 @@ fn bindgen_test_layout_cmdline_token_ops() { 8usize, concat!("Alignment of ", stringify!(cmdline_token_ops)) ); - fn test_field_parse() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<cmdline_token_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).parse) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cmdline_token_ops), - "::", - stringify!(parse) - ) - ); - } - test_field_parse(); - fn test_field_complete_get_nb() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<cmdline_token_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).complete_get_nb) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(cmdline_token_ops), - "::", - stringify!(complete_get_nb) - ) - ); - } - test_field_complete_get_nb(); - fn test_field_complete_get_elt() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<cmdline_token_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).complete_get_elt) as usize - - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(cmdline_token_ops), - "::", - stringify!(complete_get_elt) - ) - ); - } - test_field_complete_get_elt(); - fn test_field_get_help() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<cmdline_token_ops>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).get_help) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(cmdline_token_ops), - "::", - stringify!(get_help) - ) - ); - } - test_field_get_help(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).parse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(cmdline_token_ops), + "::", + stringify!(parse) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).complete_get_nb) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(cmdline_token_ops), + "::", + stringify!(complete_get_nb) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).complete_get_elt) as usize - + ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(cmdline_token_ops), + "::", + stringify!(complete_get_elt) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).get_help) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(cmdline_token_ops), + "::", + stringify!(get_help) + ) + ); } #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -233,6 +196,9 @@ pub struct cmdline_token_num_data { } #[test] fn bindgen_test_layout_cmdline_token_num_data() { + const UNINIT: ::std::mem::MaybeUninit<cmdline_token_num_data> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<cmdline_token_num_data>(), 4usize, @@ -243,24 +209,16 @@ fn bindgen_test_layout_cmdline_token_num_data() { 4usize, concat!("Alignment of ", stringify!(cmdline_token_num_data)) ); - fn test_field_type() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<cmdline_token_num_data>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cmdline_token_num_data), - "::", - stringify!(type_) - ) - ); - } - test_field_type(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(cmdline_token_num_data), + "::", + stringify!(type_) + ) + ); } impl Default for cmdline_token_num_data { fn default() -> Self { @@ -279,6 +237,9 @@ pub struct cmdline_token_num { } #[test] fn bindgen_test_layout_cmdline_token_num() { + const UNINIT: ::std::mem::MaybeUninit<cmdline_token_num> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<cmdline_token_num>(), 24usize, @@ -289,42 +250,28 @@ fn bindgen_test_layout_cmdline_token_num() { 8usize, concat!("Alignment of ", stringify!(cmdline_token_num)) ); - fn test_field_hdr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<cmdline_token_num>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(cmdline_token_num), - "::", - stringify!(hdr) - ) - ); - } - test_field_hdr(); - fn test_field_num_data() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<cmdline_token_num>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).num_data) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(cmdline_token_num), - "::", - stringify!(num_data) - ) - ); - } - test_field_num_data(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(cmdline_token_num), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).num_data) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(cmdline_token_num), + "::", + stringify!(num_data) + ) + ); } impl Default for cmdline_token_num { fn default() -> Self { diff --git a/tests/expectations/tests/layout_eth_conf.rs b/tests/expectations/tests/layout_eth_conf.rs index 3296a0f8..62b99e90 100644 --- a/tests/expectations/tests/layout_eth_conf.rs +++ b/tests/expectations/tests/layout_eth_conf.rs @@ -160,6 +160,9 @@ pub struct rte_eth_rxmode { } #[test] fn bindgen_test_layout_rte_eth_rxmode() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_rxmode> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_rxmode>(), 12usize, @@ -170,62 +173,40 @@ fn bindgen_test_layout_rte_eth_rxmode() { 4usize, concat!("Alignment of ", stringify!(rte_eth_rxmode)) ); - fn test_field_mq_mode() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rxmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mq_mode) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rxmode), - "::", - stringify!(mq_mode) - ) - ); - } - test_field_mq_mode(); - fn test_field_max_rx_pkt_len() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rxmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).max_rx_pkt_len) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rxmode), - "::", - stringify!(max_rx_pkt_len) - ) - ); - } - test_field_max_rx_pkt_len(); - fn test_field_split_hdr_size() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rxmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).split_hdr_size) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rxmode), - "::", - stringify!(split_hdr_size) - ) - ); - } - test_field_split_hdr_size(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mq_mode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rxmode), + "::", + stringify!(mq_mode) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).max_rx_pkt_len) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rxmode), + "::", + stringify!(max_rx_pkt_len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).split_hdr_size) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rxmode), + "::", + stringify!(split_hdr_size) + ) + ); } impl Default for rte_eth_rxmode { fn default() -> Self { @@ -442,6 +423,9 @@ pub struct rte_eth_txmode { } #[test] fn bindgen_test_layout_rte_eth_txmode() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_txmode> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_txmode>(), 8usize, @@ -452,42 +436,26 @@ fn bindgen_test_layout_rte_eth_txmode() { 4usize, concat!("Alignment of ", stringify!(rte_eth_txmode)) ); - fn test_field_mq_mode() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_txmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mq_mode) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_txmode), - "::", - stringify!(mq_mode) - ) - ); - } - test_field_mq_mode(); - fn test_field_pvid() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_txmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pvid) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_txmode), - "::", - stringify!(pvid) - ) - ); - } - test_field_pvid(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mq_mode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_txmode), + "::", + stringify!(mq_mode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_txmode), + "::", + stringify!(pvid) + ) + ); } impl Default for rte_eth_txmode { fn default() -> Self { @@ -591,6 +559,9 @@ pub struct rte_eth_rss_conf { } #[test] fn bindgen_test_layout_rte_eth_rss_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_rss_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_rss_conf>(), 24usize, @@ -601,60 +572,38 @@ fn bindgen_test_layout_rte_eth_rss_conf() { 8usize, concat!("Alignment of ", stringify!(rte_eth_rss_conf)) ); - fn test_field_rss_key() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rss_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss_key) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rss_conf), - "::", - stringify!(rss_key) - ) - ); - } - test_field_rss_key(); - fn test_field_rss_key_len() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rss_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss_key_len) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rss_conf), - "::", - stringify!(rss_key_len) - ) - ); - } - test_field_rss_key_len(); - fn test_field_rss_hf() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rss_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss_hf) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rss_conf), - "::", - stringify!(rss_hf) - ) - ); - } - test_field_rss_hf(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rss_key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rss_conf), + "::", + stringify!(rss_key) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rss_key_len) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rss_conf), + "::", + stringify!(rss_key_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rss_hf) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rss_conf), + "::", + stringify!(rss_hf) + ) + ); } impl Default for rte_eth_rss_conf { fn default() -> Self { @@ -723,6 +672,9 @@ pub struct rte_eth_vmdq_dcb_conf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_eth_vmdq_dcb_conf__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_dcb_conf__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_dcb_conf__bindgen_ty_1>(), 16usize, @@ -736,47 +688,32 @@ fn bindgen_test_layout_rte_eth_vmdq_dcb_conf__bindgen_ty_1() { stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1) ) ); - fn test_field_vlan_id() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_vmdq_dcb_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_id) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1), - "::", - stringify!(vlan_id) - ) - ); - } - test_field_vlan_id(); - fn test_field_pools() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_vmdq_dcb_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pools) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1), - "::", - stringify!(pools) - ) - ); - } - test_field_pools(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vlan_id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1), + "::", + stringify!(vlan_id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pools) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1), + "::", + stringify!(pools) + ) + ); } #[test] fn bindgen_test_layout_rte_eth_vmdq_dcb_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_dcb_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_dcb_conf>(), 1040usize, @@ -787,118 +724,77 @@ fn bindgen_test_layout_rte_eth_vmdq_dcb_conf() { 8usize, concat!("Alignment of ", stringify!(rte_eth_vmdq_dcb_conf)) ); - fn test_field_nb_queue_pools() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(nb_queue_pools) - ) - ); - } - test_field_nb_queue_pools(); - fn test_field_enable_default_pool() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).enable_default_pool) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(enable_default_pool) - ) - ); - } - test_field_enable_default_pool(); - fn test_field_default_pool() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).default_pool) as usize - - ptr as usize - }, - 5usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(default_pool) - ) - ); - } - test_field_default_pool(); - fn test_field_nb_pool_maps() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_pool_maps) as usize - - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(nb_pool_maps) - ) - ); - } - test_field_nb_pool_maps(); - fn test_field_pool_map() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pool_map) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(pool_map) - ) - ); - } - test_field_pool_map(); - fn test_field_dcb_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize - }, - 1032usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(dcb_tc) - ) - ); - } - test_field_dcb_tc(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(nb_queue_pools) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).enable_default_pool) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(enable_default_pool) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).default_pool) as usize - ptr as usize + }, + 5usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(default_pool) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_pool_maps) as usize - ptr as usize + }, + 6usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(nb_pool_maps) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).pool_map) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(pool_map) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize }, + 1032usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(dcb_tc) + ) + ); } impl Default for rte_eth_vmdq_dcb_conf { fn default() -> Self { @@ -919,6 +815,9 @@ pub struct rte_eth_dcb_rx_conf { } #[test] fn bindgen_test_layout_rte_eth_dcb_rx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_dcb_rx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_dcb_rx_conf>(), 12usize, @@ -929,42 +828,26 @@ fn bindgen_test_layout_rte_eth_dcb_rx_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_dcb_rx_conf)) ); - fn test_field_nb_tcs() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_dcb_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_tcs) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_dcb_rx_conf), - "::", - stringify!(nb_tcs) - ) - ); - } - test_field_nb_tcs(); - fn test_field_dcb_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_dcb_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_dcb_rx_conf), - "::", - stringify!(dcb_tc) - ) - ); - } - test_field_dcb_tc(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_tcs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_dcb_rx_conf), + "::", + stringify!(nb_tcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_dcb_rx_conf), + "::", + stringify!(dcb_tc) + ) + ); } impl Default for rte_eth_dcb_rx_conf { fn default() -> Self { @@ -985,6 +868,9 @@ pub struct rte_eth_vmdq_dcb_tx_conf { } #[test] fn bindgen_test_layout_rte_eth_vmdq_dcb_tx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_dcb_tx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_dcb_tx_conf>(), 12usize, @@ -995,45 +881,28 @@ fn bindgen_test_layout_rte_eth_vmdq_dcb_tx_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_vmdq_dcb_tx_conf)) ); - fn test_field_nb_queue_pools() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_tx_conf>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_tx_conf), - "::", - stringify!(nb_queue_pools) - ) - ); - } - test_field_nb_queue_pools(); - fn test_field_dcb_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_tx_conf>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_tx_conf), - "::", - stringify!(dcb_tc) - ) - ); - } - test_field_dcb_tc(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_tx_conf), + "::", + stringify!(nb_queue_pools) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_tx_conf), + "::", + stringify!(dcb_tc) + ) + ); } impl Default for rte_eth_vmdq_dcb_tx_conf { fn default() -> Self { @@ -1054,6 +923,9 @@ pub struct rte_eth_dcb_tx_conf { } #[test] fn bindgen_test_layout_rte_eth_dcb_tx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_dcb_tx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_dcb_tx_conf>(), 12usize, @@ -1064,42 +936,26 @@ fn bindgen_test_layout_rte_eth_dcb_tx_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_dcb_tx_conf)) ); - fn test_field_nb_tcs() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_dcb_tx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_tcs) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_dcb_tx_conf), - "::", - stringify!(nb_tcs) - ) - ); - } - test_field_nb_tcs(); - fn test_field_dcb_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_dcb_tx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_dcb_tx_conf), - "::", - stringify!(dcb_tc) - ) - ); - } - test_field_dcb_tc(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_tcs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_dcb_tx_conf), + "::", + stringify!(nb_tcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_dcb_tx_conf), + "::", + stringify!(dcb_tc) + ) + ); } impl Default for rte_eth_dcb_tx_conf { fn default() -> Self { @@ -1118,6 +974,9 @@ pub struct rte_eth_vmdq_tx_conf { } #[test] fn bindgen_test_layout_rte_eth_vmdq_tx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_tx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_tx_conf>(), 4usize, @@ -1128,25 +987,18 @@ fn bindgen_test_layout_rte_eth_vmdq_tx_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_vmdq_tx_conf)) ); - fn test_field_nb_queue_pools() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_tx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_tx_conf), - "::", - stringify!(nb_queue_pools) - ) - ); - } - test_field_nb_queue_pools(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_tx_conf), + "::", + stringify!(nb_queue_pools) + ) + ); } impl Default for rte_eth_vmdq_tx_conf { fn default() -> Self { @@ -1185,6 +1037,9 @@ pub struct rte_eth_vmdq_rx_conf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_eth_vmdq_rx_conf__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_rx_conf__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_rx_conf__bindgen_ty_1>(), 16usize, @@ -1198,47 +1053,32 @@ fn bindgen_test_layout_rte_eth_vmdq_rx_conf__bindgen_ty_1() { stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1) ) ); - fn test_field_vlan_id() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_vmdq_rx_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_id) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1), - "::", - stringify!(vlan_id) - ) - ); - } - test_field_vlan_id(); - fn test_field_pools() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_vmdq_rx_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pools) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1), - "::", - stringify!(pools) - ) - ); - } - test_field_pools(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vlan_id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1), + "::", + stringify!(vlan_id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pools) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1), + "::", + stringify!(pools) + ) + ); } #[test] fn bindgen_test_layout_rte_eth_vmdq_rx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_rx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_rx_conf>(), 1040usize, @@ -1249,137 +1089,90 @@ fn bindgen_test_layout_rte_eth_vmdq_rx_conf() { 8usize, concat!("Alignment of ", stringify!(rte_eth_vmdq_rx_conf)) ); - fn test_field_nb_queue_pools() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(nb_queue_pools) - ) - ); - } - test_field_nb_queue_pools(); - fn test_field_enable_default_pool() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).enable_default_pool) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(enable_default_pool) - ) - ); - } - test_field_enable_default_pool(); - fn test_field_default_pool() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).default_pool) as usize - - ptr as usize - }, - 5usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(default_pool) - ) - ); - } - test_field_default_pool(); - fn test_field_enable_loop_back() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).enable_loop_back) as usize - - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(enable_loop_back) - ) - ); - } - test_field_enable_loop_back(); - fn test_field_nb_pool_maps() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_pool_maps) as usize - - ptr as usize - }, - 7usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(nb_pool_maps) - ) - ); - } - test_field_nb_pool_maps(); - fn test_field_rx_mode() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rx_mode) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(rx_mode) - ) - ); - } - test_field_rx_mode(); - fn test_field_pool_map() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pool_map) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(pool_map) - ) - ); - } - test_field_pool_map(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(nb_queue_pools) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).enable_default_pool) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(enable_default_pool) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).default_pool) as usize - ptr as usize + }, + 5usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(default_pool) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).enable_loop_back) as usize - + ptr as usize + }, + 6usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(enable_loop_back) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_pool_maps) as usize - ptr as usize + }, + 7usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(nb_pool_maps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rx_mode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(rx_mode) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).pool_map) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(pool_map) + ) + ); } impl Default for rte_eth_vmdq_rx_conf { fn default() -> Self { @@ -1445,6 +1238,9 @@ pub struct rte_eth_ipv4_flow { } #[test] fn bindgen_test_layout_rte_eth_ipv4_flow() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_ipv4_flow> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_ipv4_flow>(), 12usize, @@ -1455,96 +1251,56 @@ fn bindgen_test_layout_rte_eth_ipv4_flow() { 4usize, concat!("Alignment of ", stringify!(rte_eth_ipv4_flow)) ); - fn test_field_src_ip() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_ip) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(src_ip) - ) - ); - } - test_field_src_ip(); - fn test_field_dst_ip() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_ip) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(dst_ip) - ) - ); - } - test_field_dst_ip(); - fn test_field_tos() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tos) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(tos) - ) - ); - } - test_field_tos(); - fn test_field_ttl() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ttl) as usize - ptr as usize - }, - 9usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(ttl) - ) - ); - } - test_field_ttl(); - fn test_field_proto() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).proto) as usize - ptr as usize - }, - 10usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(proto) - ) - ); - } - test_field_proto(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_ip) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(src_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_ip) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(dst_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(tos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ttl) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(ttl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).proto) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(proto) + ) + ); } /// A structure used to define the input for IPV6 flow #[repr(C)] @@ -1563,6 +1319,9 @@ pub struct rte_eth_ipv6_flow { } #[test] fn bindgen_test_layout_rte_eth_ipv6_flow() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_ipv6_flow> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_ipv6_flow>(), 36usize, @@ -1573,96 +1332,58 @@ fn bindgen_test_layout_rte_eth_ipv6_flow() { 4usize, concat!("Alignment of ", stringify!(rte_eth_ipv6_flow)) ); - fn test_field_src_ip() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_ip) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(src_ip) - ) - ); - } - test_field_src_ip(); - fn test_field_dst_ip() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_ip) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(dst_ip) - ) - ); - } - test_field_dst_ip(); - fn test_field_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tc) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(tc) - ) - ); - } - test_field_tc(); - fn test_field_proto() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).proto) as usize - ptr as usize - }, - 33usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(proto) - ) - ); - } - test_field_proto(); - fn test_field_hop_limits() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hop_limits) as usize - ptr as usize - }, - 34usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(hop_limits) - ) - ); - } - test_field_hop_limits(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_ip) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(src_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_ip) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(dst_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(tc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).proto) as usize - ptr as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(proto) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).hop_limits) as usize - ptr as usize + }, + 34usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(hop_limits) + ) + ); } /// A structure used to configure FDIR masks that are used by the device /// to match the various fields of RX packet headers. @@ -1690,6 +1411,9 @@ pub struct rte_eth_fdir_masks { } #[test] fn bindgen_test_layout_rte_eth_fdir_masks() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_fdir_masks> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_fdir_masks>(), 68usize, @@ -1700,156 +1424,104 @@ fn bindgen_test_layout_rte_eth_fdir_masks() { 4usize, concat!("Alignment of ", stringify!(rte_eth_fdir_masks)) ); - fn test_field_vlan_tci_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_tci_mask) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(vlan_tci_mask) - ) - ); - } - test_field_vlan_tci_mask(); - fn test_field_ipv4_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ipv4_mask) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(ipv4_mask) - ) - ); - } - test_field_ipv4_mask(); - fn test_field_ipv6_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ipv6_mask) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(ipv6_mask) - ) - ); - } - test_field_ipv6_mask(); - fn test_field_src_port_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_port_mask) as usize - - ptr as usize - }, - 52usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(src_port_mask) - ) - ); - } - test_field_src_port_mask(); - fn test_field_dst_port_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_port_mask) as usize - - ptr as usize - }, - 54usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(dst_port_mask) - ) - ); - } - test_field_dst_port_mask(); - fn test_field_mac_addr_byte_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mac_addr_byte_mask) as usize - - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(mac_addr_byte_mask) - ) - ); - } - test_field_mac_addr_byte_mask(); - fn test_field_tunnel_id_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tunnel_id_mask) as usize - - ptr as usize - }, - 60usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(tunnel_id_mask) - ) - ); - } - test_field_tunnel_id_mask(); - fn test_field_tunnel_type_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tunnel_type_mask) as usize - - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(tunnel_type_mask) - ) - ); - } - test_field_tunnel_type_mask(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vlan_tci_mask) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(vlan_tci_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ipv4_mask) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(ipv4_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ipv6_mask) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(ipv6_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).src_port_mask) as usize - ptr as usize + }, + 52usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(src_port_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dst_port_mask) as usize - ptr as usize + }, + 54usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(dst_port_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mac_addr_byte_mask) as usize - + ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(mac_addr_byte_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tunnel_id_mask) as usize - ptr as usize + }, + 60usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(tunnel_id_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tunnel_type_mask) as usize - + ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(tunnel_type_mask) + ) + ); } #[repr(u32)] /// Payload type @@ -1873,6 +1545,9 @@ pub struct rte_eth_flex_payload_cfg { } #[test] fn bindgen_test_layout_rte_eth_flex_payload_cfg() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_flex_payload_cfg> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_flex_payload_cfg>(), 36usize, @@ -1883,44 +1558,28 @@ fn bindgen_test_layout_rte_eth_flex_payload_cfg() { 4usize, concat!("Alignment of ", stringify!(rte_eth_flex_payload_cfg)) ); - fn test_field_type() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_flex_payload_cfg>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_flex_payload_cfg), - "::", - stringify!(type_) - ) - ); - } - test_field_type(); - fn test_field_src_offset() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_flex_payload_cfg>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_offset) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_flex_payload_cfg), - "::", - stringify!(src_offset) - ) - ); - } - test_field_src_offset(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_flex_payload_cfg), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).src_offset) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_flex_payload_cfg), + "::", + stringify!(src_offset) + ) + ); } impl Default for rte_eth_flex_payload_cfg { fn default() -> Self { @@ -1941,6 +1600,9 @@ pub struct rte_eth_fdir_flex_mask { } #[test] fn bindgen_test_layout_rte_eth_fdir_flex_mask() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_fdir_flex_mask> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_fdir_flex_mask>(), 18usize, @@ -1951,42 +1613,28 @@ fn bindgen_test_layout_rte_eth_fdir_flex_mask() { 2usize, concat!("Alignment of ", stringify!(rte_eth_fdir_flex_mask)) ); - fn test_field_flow_type() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_mask>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).flow_type) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_mask), - "::", - stringify!(flow_type) - ) - ); - } - test_field_flow_type(); - fn test_field_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_mask>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_mask), - "::", - stringify!(mask) - ) - ); - } - test_field_mask(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).flow_type) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_mask), + "::", + stringify!(flow_type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_mask), + "::", + stringify!(mask) + ) + ); } /// A structure used to define all flexible payload related setting /// include flex payload and flex mask @@ -2002,6 +1650,9 @@ pub struct rte_eth_fdir_flex_conf { } #[test] fn bindgen_test_layout_rte_eth_fdir_flex_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_fdir_flex_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_fdir_flex_conf>(), 688usize, @@ -2012,79 +1663,54 @@ fn bindgen_test_layout_rte_eth_fdir_flex_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_fdir_flex_conf)) ); - fn test_field_nb_payloads() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_payloads) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_conf), - "::", - stringify!(nb_payloads) - ) - ); - } - test_field_nb_payloads(); - fn test_field_nb_flexmasks() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_flexmasks) as usize - - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_conf), - "::", - stringify!(nb_flexmasks) - ) - ); - } - test_field_nb_flexmasks(); - fn test_field_flex_set() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).flex_set) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_conf), - "::", - stringify!(flex_set) - ) - ); - } - test_field_flex_set(); - fn test_field_flex_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).flex_mask) as usize - ptr as usize - }, - 292usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_conf), - "::", - stringify!(flex_mask) - ) - ); - } - test_field_flex_mask(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_payloads) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_conf), + "::", + stringify!(nb_payloads) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_flexmasks) as usize - ptr as usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_conf), + "::", + stringify!(nb_flexmasks) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).flex_set) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_conf), + "::", + stringify!(flex_set) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).flex_mask) as usize - ptr as usize + }, + 292usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_conf), + "::", + stringify!(flex_mask) + ) + ); } impl Default for rte_eth_fdir_flex_conf { fn default() -> Self { @@ -2115,6 +1741,9 @@ pub struct rte_fdir_conf { } #[test] fn bindgen_test_layout_rte_fdir_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_fdir_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_fdir_conf>(), 772usize, @@ -2125,108 +1754,70 @@ fn bindgen_test_layout_rte_fdir_conf() { 4usize, concat!("Alignment of ", stringify!(rte_fdir_conf)) ); - fn test_field_mode() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(mode) - ) - ); - } - test_field_mode(); - fn test_field_pballoc() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pballoc) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(pballoc) - ) - ); - } - test_field_pballoc(); - fn test_field_status() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(status) - ) - ); - } - test_field_status(); - fn test_field_drop_queue() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).drop_queue) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(drop_queue) - ) - ); - } - test_field_drop_queue(); - fn test_field_mask() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(mask) - ) - ); - } - test_field_mask(); - fn test_field_flex_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).flex_conf) as usize - ptr as usize - }, - 84usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(flex_conf) - ) - ); - } - test_field_flex_conf(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(mode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pballoc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(pballoc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(status) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).drop_queue) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(drop_queue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).flex_conf) as usize - ptr as usize + }, + 84usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(flex_conf) + ) + ); } impl Default for rte_fdir_conf { fn default() -> Self { @@ -2248,6 +1839,9 @@ pub struct rte_intr_conf { } #[test] fn bindgen_test_layout_rte_intr_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_intr_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_intr_conf>(), 4usize, @@ -2258,40 +1852,26 @@ fn bindgen_test_layout_rte_intr_conf() { 2usize, concat!("Alignment of ", stringify!(rte_intr_conf)) ); - fn test_field_lsc() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_intr_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lsc) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_intr_conf), - "::", - stringify!(lsc) - ) - ); - } - test_field_lsc(); - fn test_field_rxq() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_intr_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rxq) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_intr_conf), - "::", - stringify!(rxq) - ) - ); - } - test_field_rxq(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_intr_conf), + "::", + stringify!(lsc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rxq) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_intr_conf), + "::", + stringify!(rxq) + ) + ); } /// A structure used to configure an Ethernet port. /// Depending upon the RX multi-queue mode, extra advanced @@ -2340,6 +1920,9 @@ pub struct rte_eth_conf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_eth_conf__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_conf__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_conf__bindgen_ty_1>(), 2120usize, @@ -2350,84 +1933,54 @@ fn bindgen_test_layout_rte_eth_conf__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(rte_eth_conf__bindgen_ty_1)) ); - fn test_field_rss_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss_conf) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_1), - "::", - stringify!(rss_conf) - ) - ); - } - test_field_rss_conf(); - fn test_field_vmdq_dcb_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vmdq_dcb_conf) as usize - - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_1), - "::", - stringify!(vmdq_dcb_conf) - ) - ); - } - test_field_vmdq_dcb_conf(); - fn test_field_dcb_rx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_rx_conf) as usize - ptr as usize - }, - 1064usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_1), - "::", - stringify!(dcb_rx_conf) - ) - ); - } - test_field_dcb_rx_conf(); - fn test_field_vmdq_rx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vmdq_rx_conf) as usize - - ptr as usize - }, - 1080usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_1), - "::", - stringify!(vmdq_rx_conf) - ) - ); - } - test_field_vmdq_rx_conf(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rss_conf) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_1), + "::", + stringify!(rss_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vmdq_dcb_conf) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_1), + "::", + stringify!(vmdq_dcb_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dcb_rx_conf) as usize - ptr as usize + }, + 1064usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_1), + "::", + stringify!(dcb_rx_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vmdq_rx_conf) as usize - ptr as usize + }, + 1080usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_1), + "::", + stringify!(vmdq_rx_conf) + ) + ); } impl Default for rte_eth_conf__bindgen_ty_1 { fn default() -> Self { @@ -2447,6 +2000,9 @@ pub union rte_eth_conf__bindgen_ty_2 { } #[test] fn bindgen_test_layout_rte_eth_conf__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_conf__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_conf__bindgen_ty_2>(), 12usize, @@ -2457,65 +2013,43 @@ fn bindgen_test_layout_rte_eth_conf__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(rte_eth_conf__bindgen_ty_2)) ); - fn test_field_vmdq_dcb_tx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vmdq_dcb_tx_conf) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_2), - "::", - stringify!(vmdq_dcb_tx_conf) - ) - ); - } - test_field_vmdq_dcb_tx_conf(); - fn test_field_dcb_tx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tx_conf) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_2), - "::", - stringify!(dcb_tx_conf) - ) - ); - } - test_field_dcb_tx_conf(); - fn test_field_vmdq_tx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vmdq_tx_conf) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_2), - "::", - stringify!(vmdq_tx_conf) - ) - ); - } - test_field_vmdq_tx_conf(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vmdq_dcb_tx_conf) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_2), + "::", + stringify!(vmdq_dcb_tx_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dcb_tx_conf) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_2), + "::", + stringify!(dcb_tx_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vmdq_tx_conf) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_2), + "::", + stringify!(vmdq_tx_conf) + ) + ); } impl Default for rte_eth_conf__bindgen_ty_2 { fn default() -> Self { @@ -2528,6 +2062,9 @@ impl Default for rte_eth_conf__bindgen_ty_2 { } #[test] fn bindgen_test_layout_rte_eth_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_conf>(), 2944usize, @@ -2538,160 +2075,111 @@ fn bindgen_test_layout_rte_eth_conf() { 8usize, concat!("Alignment of ", stringify!(rte_eth_conf)) ); - fn test_field_link_speeds() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).link_speeds) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(link_speeds) - ) - ); - } - test_field_link_speeds(); - fn test_field_rxmode() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rxmode) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(rxmode) - ) - ); - } - test_field_rxmode(); - fn test_field_txmode() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).txmode) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(txmode) - ) - ); - } - test_field_txmode(); - fn test_field_lpbk_mode() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lpbk_mode) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(lpbk_mode) - ) - ); - } - test_field_lpbk_mode(); - fn test_field_rx_adv_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rx_adv_conf) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(rx_adv_conf) - ) - ); - } - test_field_rx_adv_conf(); - fn test_field_tx_adv_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tx_adv_conf) as usize - ptr as usize - }, - 2152usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(tx_adv_conf) - ) - ); - } - test_field_tx_adv_conf(); - fn test_field_dcb_capability_en() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_capability_en) as usize - - ptr as usize - }, - 2164usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(dcb_capability_en) - ) - ); - } - test_field_dcb_capability_en(); - fn test_field_fdir_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).fdir_conf) as usize - ptr as usize - }, - 2168usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(fdir_conf) - ) - ); - } - test_field_fdir_conf(); - fn test_field_intr_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).intr_conf) as usize - ptr as usize - }, - 2940usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(intr_conf) - ) - ); - } - test_field_intr_conf(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).link_speeds) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(link_speeds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rxmode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(rxmode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).txmode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(txmode) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).lpbk_mode) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(lpbk_mode) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rx_adv_conf) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(rx_adv_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tx_adv_conf) as usize - ptr as usize + }, + 2152usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(tx_adv_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dcb_capability_en) as usize - + ptr as usize + }, + 2164usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(dcb_capability_en) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).fdir_conf) as usize - ptr as usize + }, + 2168usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(fdir_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).intr_conf) as usize - ptr as usize + }, + 2940usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(intr_conf) + ) + ); } impl Default for rte_eth_conf { fn default() -> Self { diff --git a/tests/expectations/tests/layout_eth_conf_1_0.rs b/tests/expectations/tests/layout_eth_conf_1_0.rs index 0458a3ab..d7fa0a63 100644 --- a/tests/expectations/tests/layout_eth_conf_1_0.rs +++ b/tests/expectations/tests/layout_eth_conf_1_0.rs @@ -203,6 +203,9 @@ pub struct rte_eth_rxmode { } #[test] fn bindgen_test_layout_rte_eth_rxmode() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_rxmode> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_rxmode>(), 12usize, @@ -213,62 +216,40 @@ fn bindgen_test_layout_rte_eth_rxmode() { 4usize, concat!("Alignment of ", stringify!(rte_eth_rxmode)) ); - fn test_field_mq_mode() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rxmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mq_mode) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rxmode), - "::", - stringify!(mq_mode) - ) - ); - } - test_field_mq_mode(); - fn test_field_max_rx_pkt_len() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rxmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).max_rx_pkt_len) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rxmode), - "::", - stringify!(max_rx_pkt_len) - ) - ); - } - test_field_max_rx_pkt_len(); - fn test_field_split_hdr_size() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rxmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).split_hdr_size) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rxmode), - "::", - stringify!(split_hdr_size) - ) - ); - } - test_field_split_hdr_size(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mq_mode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rxmode), + "::", + stringify!(mq_mode) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).max_rx_pkt_len) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rxmode), + "::", + stringify!(max_rx_pkt_len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).split_hdr_size) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rxmode), + "::", + stringify!(split_hdr_size) + ) + ); } impl Clone for rte_eth_rxmode { fn clone(&self) -> Self { @@ -490,6 +471,9 @@ pub struct rte_eth_txmode { } #[test] fn bindgen_test_layout_rte_eth_txmode() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_txmode> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_txmode>(), 8usize, @@ -500,42 +484,26 @@ fn bindgen_test_layout_rte_eth_txmode() { 4usize, concat!("Alignment of ", stringify!(rte_eth_txmode)) ); - fn test_field_mq_mode() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_txmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mq_mode) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_txmode), - "::", - stringify!(mq_mode) - ) - ); - } - test_field_mq_mode(); - fn test_field_pvid() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_txmode>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pvid) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_txmode), - "::", - stringify!(pvid) - ) - ); - } - test_field_pvid(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mq_mode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_txmode), + "::", + stringify!(mq_mode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_txmode), + "::", + stringify!(pvid) + ) + ); } impl Clone for rte_eth_txmode { fn clone(&self) -> Self { @@ -644,6 +612,9 @@ pub struct rte_eth_rss_conf { } #[test] fn bindgen_test_layout_rte_eth_rss_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_rss_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_rss_conf>(), 24usize, @@ -654,60 +625,38 @@ fn bindgen_test_layout_rte_eth_rss_conf() { 8usize, concat!("Alignment of ", stringify!(rte_eth_rss_conf)) ); - fn test_field_rss_key() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rss_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss_key) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rss_conf), - "::", - stringify!(rss_key) - ) - ); - } - test_field_rss_key(); - fn test_field_rss_key_len() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rss_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss_key_len) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rss_conf), - "::", - stringify!(rss_key_len) - ) - ); - } - test_field_rss_key_len(); - fn test_field_rss_hf() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_rss_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss_hf) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_rss_conf), - "::", - stringify!(rss_hf) - ) - ); - } - test_field_rss_hf(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rss_key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rss_conf), + "::", + stringify!(rss_key) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rss_key_len) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rss_conf), + "::", + stringify!(rss_key_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rss_hf) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_rss_conf), + "::", + stringify!(rss_hf) + ) + ); } impl Clone for rte_eth_rss_conf { fn clone(&self) -> Self { @@ -781,6 +730,9 @@ pub struct rte_eth_vmdq_dcb_conf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_eth_vmdq_dcb_conf__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_dcb_conf__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_dcb_conf__bindgen_ty_1>(), 16usize, @@ -794,44 +746,26 @@ fn bindgen_test_layout_rte_eth_vmdq_dcb_conf__bindgen_ty_1() { stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1) ) ); - fn test_field_vlan_id() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_vmdq_dcb_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_id) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1), - "::", - stringify!(vlan_id) - ) - ); - } - test_field_vlan_id(); - fn test_field_pools() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_vmdq_dcb_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pools) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1), - "::", - stringify!(pools) - ) - ); - } - test_field_pools(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vlan_id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1), + "::", + stringify!(vlan_id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pools) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf__bindgen_ty_1), + "::", + stringify!(pools) + ) + ); } impl Clone for rte_eth_vmdq_dcb_conf__bindgen_ty_1 { fn clone(&self) -> Self { @@ -840,6 +774,9 @@ impl Clone for rte_eth_vmdq_dcb_conf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_eth_vmdq_dcb_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_dcb_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_dcb_conf>(), 1040usize, @@ -850,118 +787,77 @@ fn bindgen_test_layout_rte_eth_vmdq_dcb_conf() { 8usize, concat!("Alignment of ", stringify!(rte_eth_vmdq_dcb_conf)) ); - fn test_field_nb_queue_pools() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(nb_queue_pools) - ) - ); - } - test_field_nb_queue_pools(); - fn test_field_enable_default_pool() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).enable_default_pool) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(enable_default_pool) - ) - ); - } - test_field_enable_default_pool(); - fn test_field_default_pool() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).default_pool) as usize - - ptr as usize - }, - 5usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(default_pool) - ) - ); - } - test_field_default_pool(); - fn test_field_nb_pool_maps() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_pool_maps) as usize - - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(nb_pool_maps) - ) - ); - } - test_field_nb_pool_maps(); - fn test_field_pool_map() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pool_map) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(pool_map) - ) - ); - } - test_field_pool_map(); - fn test_field_dcb_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize - }, - 1032usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_conf), - "::", - stringify!(dcb_tc) - ) - ); - } - test_field_dcb_tc(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(nb_queue_pools) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).enable_default_pool) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(enable_default_pool) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).default_pool) as usize - ptr as usize + }, + 5usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(default_pool) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_pool_maps) as usize - ptr as usize + }, + 6usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(nb_pool_maps) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).pool_map) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(pool_map) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize }, + 1032usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_conf), + "::", + stringify!(dcb_tc) + ) + ); } impl Clone for rte_eth_vmdq_dcb_conf { fn clone(&self) -> Self { @@ -987,6 +883,9 @@ pub struct rte_eth_dcb_rx_conf { } #[test] fn bindgen_test_layout_rte_eth_dcb_rx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_dcb_rx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_dcb_rx_conf>(), 12usize, @@ -997,42 +896,26 @@ fn bindgen_test_layout_rte_eth_dcb_rx_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_dcb_rx_conf)) ); - fn test_field_nb_tcs() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_dcb_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_tcs) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_dcb_rx_conf), - "::", - stringify!(nb_tcs) - ) - ); - } - test_field_nb_tcs(); - fn test_field_dcb_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_dcb_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_dcb_rx_conf), - "::", - stringify!(dcb_tc) - ) - ); - } - test_field_dcb_tc(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_tcs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_dcb_rx_conf), + "::", + stringify!(nb_tcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_dcb_rx_conf), + "::", + stringify!(dcb_tc) + ) + ); } impl Clone for rte_eth_dcb_rx_conf { fn clone(&self) -> Self { @@ -1058,6 +941,9 @@ pub struct rte_eth_vmdq_dcb_tx_conf { } #[test] fn bindgen_test_layout_rte_eth_vmdq_dcb_tx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_dcb_tx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_dcb_tx_conf>(), 12usize, @@ -1068,45 +954,28 @@ fn bindgen_test_layout_rte_eth_vmdq_dcb_tx_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_vmdq_dcb_tx_conf)) ); - fn test_field_nb_queue_pools() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_tx_conf>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_tx_conf), - "::", - stringify!(nb_queue_pools) - ) - ); - } - test_field_nb_queue_pools(); - fn test_field_dcb_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_dcb_tx_conf>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_dcb_tx_conf), - "::", - stringify!(dcb_tc) - ) - ); - } - test_field_dcb_tc(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_tx_conf), + "::", + stringify!(nb_queue_pools) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_dcb_tx_conf), + "::", + stringify!(dcb_tc) + ) + ); } impl Clone for rte_eth_vmdq_dcb_tx_conf { fn clone(&self) -> Self { @@ -1132,6 +1001,9 @@ pub struct rte_eth_dcb_tx_conf { } #[test] fn bindgen_test_layout_rte_eth_dcb_tx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_dcb_tx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_dcb_tx_conf>(), 12usize, @@ -1142,42 +1014,26 @@ fn bindgen_test_layout_rte_eth_dcb_tx_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_dcb_tx_conf)) ); - fn test_field_nb_tcs() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_dcb_tx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_tcs) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_dcb_tx_conf), - "::", - stringify!(nb_tcs) - ) - ); - } - test_field_nb_tcs(); - fn test_field_dcb_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_dcb_tx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_dcb_tx_conf), - "::", - stringify!(dcb_tc) - ) - ); - } - test_field_dcb_tc(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_tcs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_dcb_tx_conf), + "::", + stringify!(nb_tcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb_tc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_dcb_tx_conf), + "::", + stringify!(dcb_tc) + ) + ); } impl Clone for rte_eth_dcb_tx_conf { fn clone(&self) -> Self { @@ -1201,6 +1057,9 @@ pub struct rte_eth_vmdq_tx_conf { } #[test] fn bindgen_test_layout_rte_eth_vmdq_tx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_tx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_tx_conf>(), 4usize, @@ -1211,25 +1070,18 @@ fn bindgen_test_layout_rte_eth_vmdq_tx_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_vmdq_tx_conf)) ); - fn test_field_nb_queue_pools() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_tx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_tx_conf), - "::", - stringify!(nb_queue_pools) - ) - ); - } - test_field_nb_queue_pools(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_tx_conf), + "::", + stringify!(nb_queue_pools) + ) + ); } impl Clone for rte_eth_vmdq_tx_conf { fn clone(&self) -> Self { @@ -1273,6 +1125,9 @@ pub struct rte_eth_vmdq_rx_conf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_eth_vmdq_rx_conf__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_rx_conf__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_rx_conf__bindgen_ty_1>(), 16usize, @@ -1286,44 +1141,26 @@ fn bindgen_test_layout_rte_eth_vmdq_rx_conf__bindgen_ty_1() { stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1) ) ); - fn test_field_vlan_id() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_vmdq_rx_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_id) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1), - "::", - stringify!(vlan_id) - ) - ); - } - test_field_vlan_id(); - fn test_field_pools() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_vmdq_rx_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pools) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1), - "::", - stringify!(pools) - ) - ); - } - test_field_pools(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vlan_id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1), + "::", + stringify!(vlan_id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pools) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf__bindgen_ty_1), + "::", + stringify!(pools) + ) + ); } impl Clone for rte_eth_vmdq_rx_conf__bindgen_ty_1 { fn clone(&self) -> Self { @@ -1332,6 +1169,9 @@ impl Clone for rte_eth_vmdq_rx_conf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_eth_vmdq_rx_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_vmdq_rx_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_vmdq_rx_conf>(), 1040usize, @@ -1342,137 +1182,90 @@ fn bindgen_test_layout_rte_eth_vmdq_rx_conf() { 8usize, concat!("Alignment of ", stringify!(rte_eth_vmdq_rx_conf)) ); - fn test_field_nb_queue_pools() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(nb_queue_pools) - ) - ); - } - test_field_nb_queue_pools(); - fn test_field_enable_default_pool() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).enable_default_pool) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(enable_default_pool) - ) - ); - } - test_field_enable_default_pool(); - fn test_field_default_pool() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).default_pool) as usize - - ptr as usize - }, - 5usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(default_pool) - ) - ); - } - test_field_default_pool(); - fn test_field_enable_loop_back() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).enable_loop_back) as usize - - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(enable_loop_back) - ) - ); - } - test_field_enable_loop_back(); - fn test_field_nb_pool_maps() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_pool_maps) as usize - - ptr as usize - }, - 7usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(nb_pool_maps) - ) - ); - } - test_field_nb_pool_maps(); - fn test_field_rx_mode() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rx_mode) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(rx_mode) - ) - ); - } - test_field_rx_mode(); - fn test_field_pool_map() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_vmdq_rx_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pool_map) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_vmdq_rx_conf), - "::", - stringify!(pool_map) - ) - ); - } - test_field_pool_map(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_queue_pools) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(nb_queue_pools) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).enable_default_pool) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(enable_default_pool) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).default_pool) as usize - ptr as usize + }, + 5usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(default_pool) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).enable_loop_back) as usize - + ptr as usize + }, + 6usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(enable_loop_back) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_pool_maps) as usize - ptr as usize + }, + 7usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(nb_pool_maps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rx_mode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(rx_mode) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).pool_map) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_vmdq_rx_conf), + "::", + stringify!(pool_map) + ) + ); } impl Clone for rte_eth_vmdq_rx_conf { fn clone(&self) -> Self { @@ -1543,6 +1336,9 @@ pub struct rte_eth_ipv4_flow { } #[test] fn bindgen_test_layout_rte_eth_ipv4_flow() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_ipv4_flow> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_ipv4_flow>(), 12usize, @@ -1553,96 +1349,56 @@ fn bindgen_test_layout_rte_eth_ipv4_flow() { 4usize, concat!("Alignment of ", stringify!(rte_eth_ipv4_flow)) ); - fn test_field_src_ip() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_ip) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(src_ip) - ) - ); - } - test_field_src_ip(); - fn test_field_dst_ip() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_ip) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(dst_ip) - ) - ); - } - test_field_dst_ip(); - fn test_field_tos() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tos) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(tos) - ) - ); - } - test_field_tos(); - fn test_field_ttl() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ttl) as usize - ptr as usize - }, - 9usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(ttl) - ) - ); - } - test_field_ttl(); - fn test_field_proto() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv4_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).proto) as usize - ptr as usize - }, - 10usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv4_flow), - "::", - stringify!(proto) - ) - ); - } - test_field_proto(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_ip) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(src_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_ip) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(dst_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(tos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ttl) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(ttl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).proto) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv4_flow), + "::", + stringify!(proto) + ) + ); } impl Clone for rte_eth_ipv4_flow { fn clone(&self) -> Self { @@ -1666,6 +1422,9 @@ pub struct rte_eth_ipv6_flow { } #[test] fn bindgen_test_layout_rte_eth_ipv6_flow() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_ipv6_flow> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_ipv6_flow>(), 36usize, @@ -1676,96 +1435,58 @@ fn bindgen_test_layout_rte_eth_ipv6_flow() { 4usize, concat!("Alignment of ", stringify!(rte_eth_ipv6_flow)) ); - fn test_field_src_ip() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_ip) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(src_ip) - ) - ); - } - test_field_src_ip(); - fn test_field_dst_ip() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_ip) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(dst_ip) - ) - ); - } - test_field_dst_ip(); - fn test_field_tc() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tc) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(tc) - ) - ); - } - test_field_tc(); - fn test_field_proto() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).proto) as usize - ptr as usize - }, - 33usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(proto) - ) - ); - } - test_field_proto(); - fn test_field_hop_limits() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_ipv6_flow>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hop_limits) as usize - ptr as usize - }, - 34usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_ipv6_flow), - "::", - stringify!(hop_limits) - ) - ); - } - test_field_hop_limits(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_ip) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(src_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst_ip) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(dst_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(tc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).proto) as usize - ptr as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(proto) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).hop_limits) as usize - ptr as usize + }, + 34usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_ipv6_flow), + "::", + stringify!(hop_limits) + ) + ); } impl Clone for rte_eth_ipv6_flow { fn clone(&self) -> Self { @@ -1798,6 +1519,9 @@ pub struct rte_eth_fdir_masks { } #[test] fn bindgen_test_layout_rte_eth_fdir_masks() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_fdir_masks> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_fdir_masks>(), 68usize, @@ -1808,156 +1532,104 @@ fn bindgen_test_layout_rte_eth_fdir_masks() { 4usize, concat!("Alignment of ", stringify!(rte_eth_fdir_masks)) ); - fn test_field_vlan_tci_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_tci_mask) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(vlan_tci_mask) - ) - ); - } - test_field_vlan_tci_mask(); - fn test_field_ipv4_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ipv4_mask) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(ipv4_mask) - ) - ); - } - test_field_ipv4_mask(); - fn test_field_ipv6_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ipv6_mask) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(ipv6_mask) - ) - ); - } - test_field_ipv6_mask(); - fn test_field_src_port_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_port_mask) as usize - - ptr as usize - }, - 52usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(src_port_mask) - ) - ); - } - test_field_src_port_mask(); - fn test_field_dst_port_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dst_port_mask) as usize - - ptr as usize - }, - 54usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(dst_port_mask) - ) - ); - } - test_field_dst_port_mask(); - fn test_field_mac_addr_byte_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mac_addr_byte_mask) as usize - - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(mac_addr_byte_mask) - ) - ); - } - test_field_mac_addr_byte_mask(); - fn test_field_tunnel_id_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tunnel_id_mask) as usize - - ptr as usize - }, - 60usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(tunnel_id_mask) - ) - ); - } - test_field_tunnel_id_mask(); - fn test_field_tunnel_type_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_masks>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tunnel_type_mask) as usize - - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_masks), - "::", - stringify!(tunnel_type_mask) - ) - ); - } - test_field_tunnel_type_mask(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vlan_tci_mask) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(vlan_tci_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ipv4_mask) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(ipv4_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ipv6_mask) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(ipv6_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).src_port_mask) as usize - ptr as usize + }, + 52usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(src_port_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dst_port_mask) as usize - ptr as usize + }, + 54usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(dst_port_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mac_addr_byte_mask) as usize - + ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(mac_addr_byte_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tunnel_id_mask) as usize - ptr as usize + }, + 60usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(tunnel_id_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tunnel_type_mask) as usize - + ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_masks), + "::", + stringify!(tunnel_type_mask) + ) + ); } impl Clone for rte_eth_fdir_masks { fn clone(&self) -> Self { @@ -1986,6 +1658,9 @@ pub struct rte_eth_flex_payload_cfg { } #[test] fn bindgen_test_layout_rte_eth_flex_payload_cfg() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_flex_payload_cfg> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_flex_payload_cfg>(), 36usize, @@ -1996,44 +1671,28 @@ fn bindgen_test_layout_rte_eth_flex_payload_cfg() { 4usize, concat!("Alignment of ", stringify!(rte_eth_flex_payload_cfg)) ); - fn test_field_type() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_flex_payload_cfg>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_flex_payload_cfg), - "::", - stringify!(type_) - ) - ); - } - test_field_type(); - fn test_field_src_offset() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_flex_payload_cfg>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_offset) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_flex_payload_cfg), - "::", - stringify!(src_offset) - ) - ); - } - test_field_src_offset(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_flex_payload_cfg), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).src_offset) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_flex_payload_cfg), + "::", + stringify!(src_offset) + ) + ); } impl Clone for rte_eth_flex_payload_cfg { fn clone(&self) -> Self { @@ -2059,6 +1718,9 @@ pub struct rte_eth_fdir_flex_mask { } #[test] fn bindgen_test_layout_rte_eth_fdir_flex_mask() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_fdir_flex_mask> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_fdir_flex_mask>(), 18usize, @@ -2069,42 +1731,28 @@ fn bindgen_test_layout_rte_eth_fdir_flex_mask() { 2usize, concat!("Alignment of ", stringify!(rte_eth_fdir_flex_mask)) ); - fn test_field_flow_type() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_mask>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).flow_type) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_mask), - "::", - stringify!(flow_type) - ) - ); - } - test_field_flow_type(); - fn test_field_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_mask>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_mask), - "::", - stringify!(mask) - ) - ); - } - test_field_mask(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).flow_type) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_mask), + "::", + stringify!(flow_type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_mask), + "::", + stringify!(mask) + ) + ); } impl Clone for rte_eth_fdir_flex_mask { fn clone(&self) -> Self { @@ -2125,6 +1773,9 @@ pub struct rte_eth_fdir_flex_conf { } #[test] fn bindgen_test_layout_rte_eth_fdir_flex_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_fdir_flex_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_fdir_flex_conf>(), 688usize, @@ -2135,79 +1786,54 @@ fn bindgen_test_layout_rte_eth_fdir_flex_conf() { 4usize, concat!("Alignment of ", stringify!(rte_eth_fdir_flex_conf)) ); - fn test_field_nb_payloads() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_payloads) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_conf), - "::", - stringify!(nb_payloads) - ) - ); - } - test_field_nb_payloads(); - fn test_field_nb_flexmasks() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_flexmasks) as usize - - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_conf), - "::", - stringify!(nb_flexmasks) - ) - ); - } - test_field_nb_flexmasks(); - fn test_field_flex_set() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).flex_set) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_conf), - "::", - stringify!(flex_set) - ) - ); - } - test_field_flex_set(); - fn test_field_flex_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_eth_fdir_flex_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).flex_mask) as usize - ptr as usize - }, - 292usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_fdir_flex_conf), - "::", - stringify!(flex_mask) - ) - ); - } - test_field_flex_mask(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_payloads) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_conf), + "::", + stringify!(nb_payloads) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_flexmasks) as usize - ptr as usize + }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_conf), + "::", + stringify!(nb_flexmasks) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).flex_set) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_conf), + "::", + stringify!(flex_set) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).flex_mask) as usize - ptr as usize + }, + 292usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_fdir_flex_conf), + "::", + stringify!(flex_mask) + ) + ); } impl Clone for rte_eth_fdir_flex_conf { fn clone(&self) -> Self { @@ -2243,6 +1869,9 @@ pub struct rte_fdir_conf { } #[test] fn bindgen_test_layout_rte_fdir_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_fdir_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_fdir_conf>(), 772usize, @@ -2253,108 +1882,70 @@ fn bindgen_test_layout_rte_fdir_conf() { 4usize, concat!("Alignment of ", stringify!(rte_fdir_conf)) ); - fn test_field_mode() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(mode) - ) - ); - } - test_field_mode(); - fn test_field_pballoc() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pballoc) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(pballoc) - ) - ); - } - test_field_pballoc(); - fn test_field_status() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(status) - ) - ); - } - test_field_status(); - fn test_field_drop_queue() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).drop_queue) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(drop_queue) - ) - ); - } - test_field_drop_queue(); - fn test_field_mask() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(mask) - ) - ); - } - test_field_mask(); - fn test_field_flex_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_fdir_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).flex_conf) as usize - ptr as usize - }, - 84usize, - concat!( - "Offset of field: ", - stringify!(rte_fdir_conf), - "::", - stringify!(flex_conf) - ) - ); - } - test_field_flex_conf(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(mode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pballoc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(pballoc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(status) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).drop_queue) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(drop_queue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).flex_conf) as usize - ptr as usize + }, + 84usize, + concat!( + "Offset of field: ", + stringify!(rte_fdir_conf), + "::", + stringify!(flex_conf) + ) + ); } impl Clone for rte_fdir_conf { fn clone(&self) -> Self { @@ -2381,6 +1972,9 @@ pub struct rte_intr_conf { } #[test] fn bindgen_test_layout_rte_intr_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_intr_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_intr_conf>(), 4usize, @@ -2391,40 +1985,26 @@ fn bindgen_test_layout_rte_intr_conf() { 2usize, concat!("Alignment of ", stringify!(rte_intr_conf)) ); - fn test_field_lsc() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_intr_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lsc) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_intr_conf), - "::", - stringify!(lsc) - ) - ); - } - test_field_lsc(); - fn test_field_rxq() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_intr_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rxq) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(rte_intr_conf), - "::", - stringify!(rxq) - ) - ); - } - test_field_rxq(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_intr_conf), + "::", + stringify!(lsc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rxq) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(rte_intr_conf), + "::", + stringify!(rxq) + ) + ); } impl Clone for rte_intr_conf { fn clone(&self) -> Self { @@ -2478,6 +2058,9 @@ pub struct rte_eth_conf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_eth_conf__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_conf__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_conf__bindgen_ty_1>(), 2120usize, @@ -2488,84 +2071,54 @@ fn bindgen_test_layout_rte_eth_conf__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(rte_eth_conf__bindgen_ty_1)) ); - fn test_field_rss_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss_conf) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_1), - "::", - stringify!(rss_conf) - ) - ); - } - test_field_rss_conf(); - fn test_field_vmdq_dcb_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vmdq_dcb_conf) as usize - - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_1), - "::", - stringify!(vmdq_dcb_conf) - ) - ); - } - test_field_vmdq_dcb_conf(); - fn test_field_dcb_rx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_rx_conf) as usize - ptr as usize - }, - 1064usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_1), - "::", - stringify!(dcb_rx_conf) - ) - ); - } - test_field_dcb_rx_conf(); - fn test_field_vmdq_rx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vmdq_rx_conf) as usize - - ptr as usize - }, - 1080usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_1), - "::", - stringify!(vmdq_rx_conf) - ) - ); - } - test_field_vmdq_rx_conf(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rss_conf) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_1), + "::", + stringify!(rss_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vmdq_dcb_conf) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_1), + "::", + stringify!(vmdq_dcb_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dcb_rx_conf) as usize - ptr as usize + }, + 1064usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_1), + "::", + stringify!(dcb_rx_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vmdq_rx_conf) as usize - ptr as usize + }, + 1080usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_1), + "::", + stringify!(vmdq_rx_conf) + ) + ); } impl Clone for rte_eth_conf__bindgen_ty_1 { fn clone(&self) -> Self { @@ -2591,6 +2144,9 @@ pub struct rte_eth_conf__bindgen_ty_2 { } #[test] fn bindgen_test_layout_rte_eth_conf__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_conf__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_conf__bindgen_ty_2>(), 12usize, @@ -2601,65 +2157,43 @@ fn bindgen_test_layout_rte_eth_conf__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(rte_eth_conf__bindgen_ty_2)) ); - fn test_field_vmdq_dcb_tx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vmdq_dcb_tx_conf) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_2), - "::", - stringify!(vmdq_dcb_tx_conf) - ) - ); - } - test_field_vmdq_dcb_tx_conf(); - fn test_field_dcb_tx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_tx_conf) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_2), - "::", - stringify!(dcb_tx_conf) - ) - ); - } - test_field_dcb_tx_conf(); - fn test_field_vmdq_tx_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_eth_conf__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vmdq_tx_conf) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf__bindgen_ty_2), - "::", - stringify!(vmdq_tx_conf) - ) - ); - } - test_field_vmdq_tx_conf(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vmdq_dcb_tx_conf) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_2), + "::", + stringify!(vmdq_dcb_tx_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dcb_tx_conf) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_2), + "::", + stringify!(dcb_tx_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vmdq_tx_conf) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf__bindgen_ty_2), + "::", + stringify!(vmdq_tx_conf) + ) + ); } impl Clone for rte_eth_conf__bindgen_ty_2 { fn clone(&self) -> Self { @@ -2668,6 +2202,9 @@ impl Clone for rte_eth_conf__bindgen_ty_2 { } #[test] fn bindgen_test_layout_rte_eth_conf() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_conf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_conf>(), 2944usize, @@ -2678,160 +2215,111 @@ fn bindgen_test_layout_rte_eth_conf() { 8usize, concat!("Alignment of ", stringify!(rte_eth_conf)) ); - fn test_field_link_speeds() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).link_speeds) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(link_speeds) - ) - ); - } - test_field_link_speeds(); - fn test_field_rxmode() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rxmode) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(rxmode) - ) - ); - } - test_field_rxmode(); - fn test_field_txmode() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).txmode) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(txmode) - ) - ); - } - test_field_txmode(); - fn test_field_lpbk_mode() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lpbk_mode) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(lpbk_mode) - ) - ); - } - test_field_lpbk_mode(); - fn test_field_rx_adv_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rx_adv_conf) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(rx_adv_conf) - ) - ); - } - test_field_rx_adv_conf(); - fn test_field_tx_adv_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tx_adv_conf) as usize - ptr as usize - }, - 2152usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(tx_adv_conf) - ) - ); - } - test_field_tx_adv_conf(); - fn test_field_dcb_capability_en() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dcb_capability_en) as usize - - ptr as usize - }, - 2164usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(dcb_capability_en) - ) - ); - } - test_field_dcb_capability_en(); - fn test_field_fdir_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).fdir_conf) as usize - ptr as usize - }, - 2168usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(fdir_conf) - ) - ); - } - test_field_fdir_conf(); - fn test_field_intr_conf() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_conf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).intr_conf) as usize - ptr as usize - }, - 2940usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_conf), - "::", - stringify!(intr_conf) - ) - ); - } - test_field_intr_conf(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).link_speeds) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(link_speeds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rxmode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(rxmode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).txmode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(txmode) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).lpbk_mode) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(lpbk_mode) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rx_adv_conf) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(rx_adv_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tx_adv_conf) as usize - ptr as usize + }, + 2152usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(tx_adv_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dcb_capability_en) as usize - + ptr as usize + }, + 2164usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(dcb_capability_en) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).fdir_conf) as usize - ptr as usize + }, + 2168usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(fdir_conf) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).intr_conf) as usize - ptr as usize + }, + 2940usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_conf), + "::", + stringify!(intr_conf) + ) + ); } impl Clone for rte_eth_conf { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/layout_kni_mbuf.rs b/tests/expectations/tests/layout_kni_mbuf.rs index 4eaa7078..be88d20f 100644 --- a/tests/expectations/tests/layout_kni_mbuf.rs +++ b/tests/expectations/tests/layout_kni_mbuf.rs @@ -34,6 +34,9 @@ pub struct rte_kni_mbuf { } #[test] fn bindgen_test_layout_rte_kni_mbuf() { + const UNINIT: ::std::mem::MaybeUninit<rte_kni_mbuf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_kni_mbuf>(), 128usize, @@ -44,245 +47,156 @@ fn bindgen_test_layout_rte_kni_mbuf() { 64usize, concat!("Alignment of ", stringify!(rte_kni_mbuf)) ); - fn test_field_buf_addr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).buf_addr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(buf_addr) - ) - ); - } - test_field_buf_addr(); - fn test_field_buf_physaddr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).buf_physaddr) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(buf_physaddr) - ) - ); - } - test_field_buf_physaddr(); - fn test_field_pad0() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pad0) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(pad0) - ) - ); - } - test_field_pad0(); - fn test_field_data_off() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data_off) as usize - ptr as usize - }, - 18usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(data_off) - ) - ); - } - test_field_data_off(); - fn test_field_pad1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pad1) as usize - ptr as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(pad1) - ) - ); - } - test_field_pad1(); - fn test_field_nb_segs() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_segs) as usize - ptr as usize - }, - 22usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(nb_segs) - ) - ); - } - test_field_nb_segs(); - fn test_field_pad4() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pad4) as usize - ptr as usize - }, - 23usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(pad4) - ) - ); - } - test_field_pad4(); - fn test_field_ol_flags() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ol_flags) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(ol_flags) - ) - ); - } - test_field_ol_flags(); - fn test_field_pad2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pad2) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(pad2) - ) - ); - } - test_field_pad2(); - fn test_field_pkt_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pkt_len) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(pkt_len) - ) - ); - } - test_field_pkt_len(); - fn test_field_data_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data_len) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(data_len) - ) - ); - } - test_field_data_len(); - fn test_field_pad3() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pad3) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(pad3) - ) - ); - } - test_field_pad3(); - fn test_field_pool() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pool) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(pool) - ) - ); - } - test_field_pool(); - fn test_field_next() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_mbuf), - "::", - stringify!(next) - ) - ); - } - test_field_next(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).buf_addr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(buf_addr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).buf_physaddr) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(buf_physaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pad0) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(pad0) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).data_off) as usize - ptr as usize + }, + 18usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(data_off) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pad1) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(pad1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_segs) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(nb_segs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pad4) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(pad4) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ol_flags) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(ol_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pad2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(pad2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pkt_len) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(pkt_len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).data_len) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(data_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pad3) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(pad3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pool) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(pool) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_mbuf), + "::", + stringify!(next) + ) + ); } impl Default for rte_kni_mbuf { fn default() -> Self { diff --git a/tests/expectations/tests/layout_large_align_field.rs b/tests/expectations/tests/layout_large_align_field.rs index daf3d562..075ef46a 100644 --- a/tests/expectations/tests/layout_large_align_field.rs +++ b/tests/expectations/tests/layout_large_align_field.rs @@ -65,6 +65,9 @@ pub struct ip_frag { } #[test] fn bindgen_test_layout_ip_frag() { + const UNINIT: ::std::mem::MaybeUninit<ip_frag> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_frag>(), 16usize, @@ -75,57 +78,36 @@ fn bindgen_test_layout_ip_frag() { 8usize, concat!("Alignment of ", stringify!(ip_frag)) ); - fn test_field_ofs() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ofs) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_frag), - "::", - stringify!(ofs) - ) - ); - } - test_field_ofs(); - fn test_field_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(ip_frag), - "::", - stringify!(len) - ) - ); - } - test_field_len(); - fn test_field_mb() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mb) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ip_frag), - "::", - stringify!(mb) - ) - ); - } - test_field_mb(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ofs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_frag), + "::", + stringify!(ofs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(ip_frag), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mb) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ip_frag), + "::", + stringify!(mb) + ) + ); } impl Default for ip_frag { fn default() -> Self { @@ -149,6 +131,9 @@ pub struct ip_frag_key { } #[test] fn bindgen_test_layout_ip_frag_key() { + const UNINIT: ::std::mem::MaybeUninit<ip_frag_key> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_frag_key>(), 40usize, @@ -159,57 +144,36 @@ fn bindgen_test_layout_ip_frag_key() { 8usize, concat!("Alignment of ", stringify!(ip_frag_key)) ); - fn test_field_src_dst() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_key>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).src_dst) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_key), - "::", - stringify!(src_dst) - ) - ); - } - test_field_src_dst(); - fn test_field_id() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_key>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_key), - "::", - stringify!(id) - ) - ); - } - test_field_id(); - fn test_field_key_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_key>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_key), - "::", - stringify!(key_len) - ) - ); - } - test_field_key_len(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src_dst) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_key), + "::", + stringify!(src_dst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_key), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_key), + "::", + stringify!(key_len) + ) + ); } /// @internal Fragmented packet to reassemble. /// First two entries in the frags[] array are for the last and first fragments. @@ -240,6 +204,9 @@ pub struct ip_frag_pkt__bindgen_ty_1 { } #[test] fn bindgen_test_layout_ip_frag_pkt__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<ip_frag_pkt__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_frag_pkt__bindgen_ty_1>(), 16usize, @@ -250,40 +217,30 @@ fn bindgen_test_layout_ip_frag_pkt__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(ip_frag_pkt__bindgen_ty_1)) ); - fn test_field_tqe_next() { - assert_eq!( - unsafe { - let uninit = :: std :: mem :: MaybeUninit :: < ip_frag_pkt__bindgen_ty_1 > :: uninit () ; - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tqe_next) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt__bindgen_ty_1), - "::", - stringify!(tqe_next) - ) - ); - } - test_field_tqe_next(); - fn test_field_tqe_prev() { - assert_eq!( - unsafe { - let uninit = :: std :: mem :: MaybeUninit :: < ip_frag_pkt__bindgen_ty_1 > :: uninit () ; - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tqe_prev) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt__bindgen_ty_1), - "::", - stringify!(tqe_prev) - ) - ); - } - test_field_tqe_prev(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tqe_next) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt__bindgen_ty_1), + "::", + stringify!(tqe_next) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tqe_prev) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt__bindgen_ty_1), + "::", + stringify!(tqe_prev) + ) + ); } impl Default for ip_frag_pkt__bindgen_ty_1 { fn default() -> Self { @@ -296,6 +253,9 @@ impl Default for ip_frag_pkt__bindgen_ty_1 { } #[test] fn bindgen_test_layout_ip_frag_pkt() { + const UNINIT: ::std::mem::MaybeUninit<ip_frag_pkt> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_frag_pkt>(), 192usize, @@ -306,125 +266,82 @@ fn bindgen_test_layout_ip_frag_pkt() { 64usize, concat!("Alignment of ", stringify!(ip_frag_pkt)) ); - fn test_field_lru() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lru) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(lru) - ) - ); - } - test_field_lru(); - fn test_field_key() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(key) - ) - ); - } - test_field_key(); - fn test_field_start() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(start) - ) - ); - } - test_field_start(); - fn test_field_total_size() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).total_size) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(total_size) - ) - ); - } - test_field_total_size(); - fn test_field_frag_size() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).frag_size) as usize - ptr as usize - }, - 68usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(frag_size) - ) - ); - } - test_field_frag_size(); - fn test_field_last_idx() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).last_idx) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(last_idx) - ) - ); - } - test_field_last_idx(); - fn test_field_frags() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_frag_pkt>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).frags) as usize - ptr as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_pkt), - "::", - stringify!(frags) - ) - ); - } - test_field_frags(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lru) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(lru) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(start) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).total_size) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(total_size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).frag_size) as usize - ptr as usize + }, + 68usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(frag_size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).last_idx) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(last_idx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_pkt), + "::", + stringify!(frags) + ) + ); } impl Default for ip_frag_pkt { fn default() -> Self { @@ -443,6 +360,9 @@ pub struct ip_pkt_list { } #[test] fn bindgen_test_layout_ip_pkt_list() { + const UNINIT: ::std::mem::MaybeUninit<ip_pkt_list> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_pkt_list>(), 16usize, @@ -453,40 +373,30 @@ fn bindgen_test_layout_ip_pkt_list() { 8usize, concat!("Alignment of ", stringify!(ip_pkt_list)) ); - fn test_field_tqh_first() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_pkt_list>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tqh_first) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_pkt_list), - "::", - stringify!(tqh_first) - ) - ); - } - test_field_tqh_first(); - fn test_field_tqh_last() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ip_pkt_list>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tqh_last) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ip_pkt_list), - "::", - stringify!(tqh_last) - ) - ); - } - test_field_tqh_last(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tqh_first) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_pkt_list), + "::", + stringify!(tqh_first) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tqh_last) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ip_pkt_list), + "::", + stringify!(tqh_last) + ) + ); } impl Default for ip_pkt_list { fn default() -> Self { @@ -517,6 +427,9 @@ pub struct ip_frag_tbl_stat { } #[test] fn bindgen_test_layout_ip_frag_tbl_stat() { + const UNINIT: ::std::mem::MaybeUninit<ip_frag_tbl_stat> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ip_frag_tbl_stat>(), 64usize, @@ -527,115 +440,74 @@ fn bindgen_test_layout_ip_frag_tbl_stat() { 64usize, concat!("Alignment of ", stringify!(ip_frag_tbl_stat)) ); - fn test_field_find_num() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ip_frag_tbl_stat>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).find_num) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_tbl_stat), - "::", - stringify!(find_num) - ) - ); - } - test_field_find_num(); - fn test_field_add_num() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ip_frag_tbl_stat>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).add_num) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_tbl_stat), - "::", - stringify!(add_num) - ) - ); - } - test_field_add_num(); - fn test_field_del_num() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ip_frag_tbl_stat>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).del_num) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_tbl_stat), - "::", - stringify!(del_num) - ) - ); - } - test_field_del_num(); - fn test_field_reuse_num() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ip_frag_tbl_stat>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).reuse_num) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_tbl_stat), - "::", - stringify!(reuse_num) - ) - ); - } - test_field_reuse_num(); - fn test_field_fail_total() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ip_frag_tbl_stat>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).fail_total) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_tbl_stat), - "::", - stringify!(fail_total) - ) - ); - } - test_field_fail_total(); - fn test_field_fail_nospace() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ip_frag_tbl_stat>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).fail_nospace) as usize - - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(ip_frag_tbl_stat), - "::", - stringify!(fail_nospace) - ) - ); - } - test_field_fail_nospace(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).find_num) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_tbl_stat), + "::", + stringify!(find_num) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).add_num) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_tbl_stat), + "::", + stringify!(add_num) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).del_num) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_tbl_stat), + "::", + stringify!(del_num) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).reuse_num) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_tbl_stat), + "::", + stringify!(reuse_num) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).fail_total) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_tbl_stat), + "::", + stringify!(fail_total) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).fail_nospace) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ip_frag_tbl_stat), + "::", + stringify!(fail_nospace) + ) + ); } impl Default for ip_frag_tbl_stat { fn default() -> Self { @@ -676,6 +548,9 @@ pub struct rte_ip_frag_tbl { } #[test] fn bindgen_test_layout_rte_ip_frag_tbl() { + const UNINIT: ::std::mem::MaybeUninit<rte_ip_frag_tbl> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ip_frag_tbl>(), 128usize, @@ -686,205 +561,130 @@ fn bindgen_test_layout_rte_ip_frag_tbl() { 64usize, concat!("Alignment of ", stringify!(rte_ip_frag_tbl)) ); - fn test_field_max_cycles() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).max_cycles) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(max_cycles) - ) - ); - } - test_field_max_cycles(); - fn test_field_entry_mask() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).entry_mask) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(entry_mask) - ) - ); - } - test_field_entry_mask(); - fn test_field_max_entries() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).max_entries) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(max_entries) - ) - ); - } - test_field_max_entries(); - fn test_field_use_entries() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).use_entries) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(use_entries) - ) - ); - } - test_field_use_entries(); - fn test_field_bucket_entries() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bucket_entries) as usize - - ptr as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(bucket_entries) - ) - ); - } - test_field_bucket_entries(); - fn test_field_nb_entries() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_entries) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(nb_entries) - ) - ); - } - test_field_nb_entries(); - fn test_field_nb_buckets() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_buckets) as usize - ptr as usize - }, - 28usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(nb_buckets) - ) - ); - } - test_field_nb_buckets(); - fn test_field_last() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).last) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(last) - ) - ); - } - test_field_last(); - fn test_field_lru() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lru) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(lru) - ) - ); - } - test_field_lru(); - fn test_field_stat() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).stat) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(stat) - ) - ); - } - test_field_stat(); - fn test_field_pkt() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_ip_frag_tbl>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pkt) as usize - ptr as usize - }, - 128usize, - concat!( - "Offset of field: ", - stringify!(rte_ip_frag_tbl), - "::", - stringify!(pkt) - ) - ); - } - test_field_pkt(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).max_cycles) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(max_cycles) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).entry_mask) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(entry_mask) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).max_entries) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(max_entries) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).use_entries) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(use_entries) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).bucket_entries) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(bucket_entries) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_entries) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(nb_entries) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).nb_buckets) as usize - ptr as usize + }, + 28usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(nb_buckets) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).last) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(last) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lru) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(lru) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).stat) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(stat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pkt) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(rte_ip_frag_tbl), + "::", + stringify!(pkt) + ) + ); } impl Default for rte_ip_frag_tbl { fn default() -> Self { diff --git a/tests/expectations/tests/layout_mbuf.rs b/tests/expectations/tests/layout_mbuf.rs index 549c5292..800a303b 100644 --- a/tests/expectations/tests/layout_mbuf.rs +++ b/tests/expectations/tests/layout_mbuf.rs @@ -106,6 +106,9 @@ pub struct rte_atomic16_t { } #[test] fn bindgen_test_layout_rte_atomic16_t() { + const UNINIT: ::std::mem::MaybeUninit<rte_atomic16_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_atomic16_t>(), 2usize, @@ -116,24 +119,16 @@ fn bindgen_test_layout_rte_atomic16_t() { 2usize, concat!("Alignment of ", stringify!(rte_atomic16_t)) ); - fn test_field_cnt() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_atomic16_t>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cnt) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_atomic16_t), - "::", - stringify!(cnt) - ) - ); - } - test_field_cnt(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cnt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_atomic16_t), + "::", + stringify!(cnt) + ) + ); } /// The generic rte_mbuf, containing a packet mbuf. #[repr(C)] @@ -198,6 +193,9 @@ pub union rte_mbuf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_1>(), 2usize, @@ -208,43 +206,28 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_1() { 2usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_1)) ); - fn test_field_refcnt_atomic() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).refcnt_atomic) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_1), - "::", - stringify!(refcnt_atomic) - ) - ); - } - test_field_refcnt_atomic(); - fn test_field_refcnt() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).refcnt) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_1), - "::", - stringify!(refcnt) - ) - ); - } - test_field_refcnt(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).refcnt_atomic) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_1), + "::", + stringify!(refcnt_atomic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).refcnt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_1), + "::", + stringify!(refcnt) + ) + ); } impl Default for rte_mbuf__bindgen_ty_1 { fn default() -> Self { @@ -428,6 +411,9 @@ impl rte_mbuf__bindgen_ty_2__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_2>(), 4usize, @@ -438,24 +424,18 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_2)) ); - fn test_field_packet_type() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).packet_type) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_2), - "::", - stringify!(packet_type) - ) - ); - } - test_field_packet_type(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).packet_type) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_2), + "::", + stringify!(packet_type) + ) + ); } impl Default for rte_mbuf__bindgen_ty_2 { fn default() -> Self { @@ -500,19 +480,21 @@ pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1( ) { + const UNINIT: ::std::mem::MaybeUninit< + rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq ! (:: std :: mem :: size_of :: < rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1))); assert_eq ! (:: std :: mem :: align_of :: < rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > () , 2usize , concat ! ("Alignment of " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1))); - fn test_field_hash() { - assert_eq ! (unsafe { let uninit = :: std :: mem :: MaybeUninit :: < rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > :: uninit () ; let ptr = uninit . as_ptr () ; :: std :: ptr :: addr_of ! ((* ptr) . hash) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (hash))); - } - test_field_hash(); - fn test_field_id() { - assert_eq ! (unsafe { let uninit = :: std :: mem :: MaybeUninit :: < rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > :: uninit () ; let ptr = uninit . as_ptr () ; :: std :: ptr :: addr_of ! ((* ptr) . id) as usize - ptr as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (id))); - } - test_field_id(); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . hash) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (hash))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . id) as usize - ptr as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (id))); } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1>( ), @@ -532,25 +514,16 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1() { stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1) ) ); - fn test_field_lo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(lo) - ) - ); - } - test_field_lo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lo) + ) + ); } impl Default for rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 { fn default() -> Self { @@ -563,6 +536,10 @@ impl Default for rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + rte_mbuf__bindgen_ty_3__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1>(), 8usize, @@ -579,25 +556,16 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1() { stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1) ) ); - fn test_field_hi() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_mbuf__bindgen_ty_3__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1), - "::", - stringify!(hi) - ) - ); - } - test_field_hi(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1), + "::", + stringify!(hi) + ) + ); } impl Default for rte_mbuf__bindgen_ty_3__bindgen_ty_1 { fn default() -> Self { @@ -616,6 +584,10 @@ pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_2 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + rte_mbuf__bindgen_ty_3__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_2>(), 8usize, @@ -632,47 +604,32 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_2() { stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2) ) ); - fn test_field_lo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_mbuf__bindgen_ty_3__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2), - "::", - stringify!(lo) - ) - ); - } - test_field_lo(); - fn test_field_hi() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_mbuf__bindgen_ty_3__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2), - "::", - stringify!(hi) - ) - ); - } - test_field_hi(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2), + "::", + stringify!(lo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2), + "::", + stringify!(hi) + ) + ); } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_3>(), 8usize, @@ -683,78 +640,46 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3() { 4usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_3)) ); - fn test_field_rss() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3), - "::", - stringify!(rss) - ) - ); - } - test_field_rss(); - fn test_field_fdir() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).fdir) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3), - "::", - stringify!(fdir) - ) - ); - } - test_field_fdir(); - fn test_field_sched() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sched) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3), - "::", - stringify!(sched) - ) - ); - } - test_field_sched(); - fn test_field_usr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).usr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3), - "::", - stringify!(usr) - ) - ); - } - test_field_usr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rss) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3), + "::", + stringify!(rss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdir) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3), + "::", + stringify!(fdir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sched) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3), + "::", + stringify!(sched) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3), + "::", + stringify!(usr) + ) + ); } impl Default for rte_mbuf__bindgen_ty_3 { fn default() -> Self { @@ -775,6 +700,9 @@ pub union rte_mbuf__bindgen_ty_4 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_4>(), 8usize, @@ -785,42 +713,28 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_4() { 8usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_4)) ); - fn test_field_userdata() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_4>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).userdata) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_4), - "::", - stringify!(userdata) - ) - ); - } - test_field_userdata(); - fn test_field_udata64() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_4>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).udata64) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_4), - "::", - stringify!(udata64) - ) - ); - } - test_field_udata64(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).userdata) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_4), + "::", + stringify!(userdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).udata64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_4), + "::", + stringify!(udata64) + ) + ); } impl Default for rte_mbuf__bindgen_ty_4 { fn default() -> Self { @@ -985,6 +899,9 @@ impl rte_mbuf__bindgen_ty_5__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_5>(), 8usize, @@ -995,24 +912,18 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_5() { 8usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_5)) ); - fn test_field_tx_offload() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_5>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tx_offload) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_5), - "::", - stringify!(tx_offload) - ) - ); - } - test_field_tx_offload(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tx_offload) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_5), + "::", + stringify!(tx_offload) + ) + ); } impl Default for rte_mbuf__bindgen_ty_5 { fn default() -> Self { @@ -1025,6 +936,9 @@ impl Default for rte_mbuf__bindgen_ty_5 { } #[test] fn bindgen_test_layout_rte_mbuf() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf>(), 128usize, @@ -1035,366 +949,243 @@ fn bindgen_test_layout_rte_mbuf() { 64usize, concat!("Alignment of ", stringify!(rte_mbuf)) ); - fn test_field_cacheline0() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cacheline0) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(cacheline0) - ) - ); - } - test_field_cacheline0(); - fn test_field_buf_addr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).buf_addr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(buf_addr) - ) - ); - } - test_field_buf_addr(); - fn test_field_buf_physaddr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).buf_physaddr) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(buf_physaddr) - ) - ); - } - test_field_buf_physaddr(); - fn test_field_buf_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(buf_len) - ) - ); - } - test_field_buf_len(); - fn test_field_rearm_data() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rearm_data) as usize - ptr as usize - }, - 18usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(rearm_data) - ) - ); - } - test_field_rearm_data(); - fn test_field_data_off() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data_off) as usize - ptr as usize - }, - 18usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(data_off) - ) - ); - } - test_field_data_off(); - fn test_field_nb_segs() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_segs) as usize - ptr as usize - }, - 22usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(nb_segs) - ) - ); - } - test_field_nb_segs(); - fn test_field_port() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).port) as usize - ptr as usize - }, - 23usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(port) - ) - ); - } - test_field_port(); - fn test_field_ol_flags() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ol_flags) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(ol_flags) - ) - ); - } - test_field_ol_flags(); - fn test_field_rx_descriptor_fields1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rx_descriptor_fields1) as usize - - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(rx_descriptor_fields1) - ) - ); - } - test_field_rx_descriptor_fields1(); - fn test_field_pkt_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pkt_len) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(pkt_len) - ) - ); - } - test_field_pkt_len(); - fn test_field_data_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data_len) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(data_len) - ) - ); - } - test_field_data_len(); - fn test_field_vlan_tci() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_tci) as usize - ptr as usize - }, - 42usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(vlan_tci) - ) - ); - } - test_field_vlan_tci(); - fn test_field_hash() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(hash) - ) - ); - } - test_field_hash(); - fn test_field_seqn() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).seqn) as usize - ptr as usize - }, - 52usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(seqn) - ) - ); - } - test_field_seqn(); - fn test_field_vlan_tci_outer() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_tci_outer) as usize - - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(vlan_tci_outer) - ) - ); - } - test_field_vlan_tci_outer(); - fn test_field_cacheline1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cacheline1) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(cacheline1) - ) - ); - } - test_field_cacheline1(); - fn test_field_pool() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pool) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(pool) - ) - ); - } - test_field_pool(); - fn test_field_next() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(next) - ) - ); - } - test_field_next(); - fn test_field_priv_size() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).priv_size) as usize - ptr as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(priv_size) - ) - ); - } - test_field_priv_size(); - fn test_field_timesync() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).timesync) as usize - ptr as usize - }, - 98usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(timesync) - ) - ); - } - test_field_timesync(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).cacheline0) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(cacheline0) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).buf_addr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(buf_addr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).buf_physaddr) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(buf_physaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(buf_len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rearm_data) as usize - ptr as usize + }, + 18usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(rearm_data) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).data_off) as usize - ptr as usize + }, + 18usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(data_off) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_segs) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(nb_segs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).port) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(port) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ol_flags) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(ol_flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rx_descriptor_fields1) as usize - + ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(rx_descriptor_fields1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pkt_len) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(pkt_len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).data_len) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(data_len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vlan_tci) as usize - ptr as usize + }, + 42usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(vlan_tci) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).seqn) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(seqn) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vlan_tci_outer) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(vlan_tci_outer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).cacheline1) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(cacheline1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pool) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(pool) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(next) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).priv_size) as usize - ptr as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(priv_size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).timesync) as usize - ptr as usize + }, + 98usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(timesync) + ) + ); } impl Default for rte_mbuf { fn default() -> Self { diff --git a/tests/expectations/tests/layout_mbuf_1_0.rs b/tests/expectations/tests/layout_mbuf_1_0.rs index b9fddeb3..90f7ed09 100644 --- a/tests/expectations/tests/layout_mbuf_1_0.rs +++ b/tests/expectations/tests/layout_mbuf_1_0.rs @@ -149,6 +149,9 @@ pub struct rte_atomic16_t { } #[test] fn bindgen_test_layout_rte_atomic16_t() { + const UNINIT: ::std::mem::MaybeUninit<rte_atomic16_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_atomic16_t>(), 2usize, @@ -159,24 +162,16 @@ fn bindgen_test_layout_rte_atomic16_t() { 2usize, concat!("Alignment of ", stringify!(rte_atomic16_t)) ); - fn test_field_cnt() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_atomic16_t>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cnt) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_atomic16_t), - "::", - stringify!(cnt) - ) - ); - } - test_field_cnt(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cnt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_atomic16_t), + "::", + stringify!(cnt) + ) + ); } impl Clone for rte_atomic16_t { fn clone(&self) -> Self { @@ -247,6 +242,9 @@ pub struct rte_mbuf__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_1>(), 2usize, @@ -257,43 +255,28 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_1() { 2usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_1)) ); - fn test_field_refcnt_atomic() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).refcnt_atomic) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_1), - "::", - stringify!(refcnt_atomic) - ) - ); - } - test_field_refcnt_atomic(); - fn test_field_refcnt() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).refcnt) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_1), - "::", - stringify!(refcnt) - ) - ); - } - test_field_refcnt(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).refcnt_atomic) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_1), + "::", + stringify!(refcnt_atomic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).refcnt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_1), + "::", + stringify!(refcnt) + ) + ); } impl Clone for rte_mbuf__bindgen_ty_1 { fn clone(&self) -> Self { @@ -480,6 +463,9 @@ impl rte_mbuf__bindgen_ty_2__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_2>(), 4usize, @@ -490,24 +476,18 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_2)) ); - fn test_field_packet_type() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).packet_type) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_2), - "::", - stringify!(packet_type) - ) - ); - } - test_field_packet_type(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).packet_type) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_2), + "::", + stringify!(packet_type) + ) + ); } impl Clone for rte_mbuf__bindgen_ty_2 { fn clone(&self) -> Self { @@ -551,16 +531,14 @@ pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1( ) { + const UNINIT: ::std::mem::MaybeUninit< + rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq ! (:: std :: mem :: size_of :: < rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1))); assert_eq ! (:: std :: mem :: align_of :: < rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > () , 2usize , concat ! ("Alignment of " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1))); - fn test_field_hash() { - assert_eq ! (unsafe { let uninit = :: std :: mem :: MaybeUninit :: < rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > :: uninit () ; let ptr = uninit . as_ptr () ; :: std :: ptr :: addr_of ! ((* ptr) . hash) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (hash))); - } - test_field_hash(); - fn test_field_id() { - assert_eq ! (unsafe { let uninit = :: std :: mem :: MaybeUninit :: < rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 > :: uninit () ; let ptr = uninit . as_ptr () ; :: std :: ptr :: addr_of ! ((* ptr) . id) as usize - ptr as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (id))); - } - test_field_id(); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . hash) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (hash))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . id) as usize - ptr as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (id))); } impl Clone for rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 @@ -571,6 +549,10 @@ impl Clone } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1>( ), @@ -590,25 +572,16 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1() { stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1) ) ); - fn test_field_lo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(lo) - ) - ); - } - test_field_lo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lo) + ) + ); } impl Clone for rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { @@ -617,6 +590,10 @@ impl Clone for rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + rte_mbuf__bindgen_ty_3__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_1>(), 8usize, @@ -633,25 +610,16 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1() { stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1) ) ); - fn test_field_hi() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_mbuf__bindgen_ty_3__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1), - "::", - stringify!(hi) - ) - ); - } - test_field_hi(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_1), + "::", + stringify!(hi) + ) + ); } impl Clone for rte_mbuf__bindgen_ty_3__bindgen_ty_1 { fn clone(&self) -> Self { @@ -666,6 +634,10 @@ pub struct rte_mbuf__bindgen_ty_3__bindgen_ty_2 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + rte_mbuf__bindgen_ty_3__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_3__bindgen_ty_2>(), 8usize, @@ -682,44 +654,26 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_2() { stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2) ) ); - fn test_field_lo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_mbuf__bindgen_ty_3__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).lo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2), - "::", - stringify!(lo) - ) - ); - } - test_field_lo(); - fn test_field_hi() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - rte_mbuf__bindgen_ty_3__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2), - "::", - stringify!(hi) - ) - ); - } - test_field_hi(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2), + "::", + stringify!(lo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3__bindgen_ty_2), + "::", + stringify!(hi) + ) + ); } impl Clone for rte_mbuf__bindgen_ty_3__bindgen_ty_2 { fn clone(&self) -> Self { @@ -728,6 +682,9 @@ impl Clone for rte_mbuf__bindgen_ty_3__bindgen_ty_2 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_3>(), 8usize, @@ -738,78 +695,46 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3() { 4usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_3)) ); - fn test_field_rss() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rss) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3), - "::", - stringify!(rss) - ) - ); - } - test_field_rss(); - fn test_field_fdir() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).fdir) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3), - "::", - stringify!(fdir) - ) - ); - } - test_field_fdir(); - fn test_field_sched() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sched) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3), - "::", - stringify!(sched) - ) - ); - } - test_field_sched(); - fn test_field_usr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).usr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_3), - "::", - stringify!(usr) - ) - ); - } - test_field_usr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rss) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3), + "::", + stringify!(rss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdir) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3), + "::", + stringify!(fdir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sched) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3), + "::", + stringify!(sched) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_3), + "::", + stringify!(usr) + ) + ); } impl Clone for rte_mbuf__bindgen_ty_3 { fn clone(&self) -> Self { @@ -827,6 +752,9 @@ pub struct rte_mbuf__bindgen_ty_4 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_4>(), 8usize, @@ -837,42 +765,28 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_4() { 8usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_4)) ); - fn test_field_userdata() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_4>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).userdata) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_4), - "::", - stringify!(userdata) - ) - ); - } - test_field_userdata(); - fn test_field_udata64() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_4>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).udata64) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_4), - "::", - stringify!(udata64) - ) - ); - } - test_field_udata64(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).userdata) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_4), + "::", + stringify!(userdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).udata64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_4), + "::", + stringify!(udata64) + ) + ); } impl Clone for rte_mbuf__bindgen_ty_4 { fn clone(&self) -> Self { @@ -1040,6 +954,9 @@ impl rte_mbuf__bindgen_ty_5__bindgen_ty_1 { } #[test] fn bindgen_test_layout_rte_mbuf__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf__bindgen_ty_5>(), 8usize, @@ -1050,24 +967,18 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_5() { 8usize, concat!("Alignment of ", stringify!(rte_mbuf__bindgen_ty_5)) ); - fn test_field_tx_offload() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<rte_mbuf__bindgen_ty_5>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tx_offload) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf__bindgen_ty_5), - "::", - stringify!(tx_offload) - ) - ); - } - test_field_tx_offload(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).tx_offload) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf__bindgen_ty_5), + "::", + stringify!(tx_offload) + ) + ); } impl Clone for rte_mbuf__bindgen_ty_5 { fn clone(&self) -> Self { @@ -1076,371 +987,251 @@ impl Clone for rte_mbuf__bindgen_ty_5 { } #[test] fn bindgen_test_layout_rte_mbuf() { + const UNINIT: ::std::mem::MaybeUninit<rte_mbuf> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_mbuf>(), 128usize, concat!("Size of: ", stringify!(rte_mbuf)) ); - fn test_field_cacheline0() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cacheline0) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(cacheline0) - ) - ); - } - test_field_cacheline0(); - fn test_field_buf_addr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).buf_addr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(buf_addr) - ) - ); - } - test_field_buf_addr(); - fn test_field_buf_physaddr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).buf_physaddr) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(buf_physaddr) - ) - ); - } - test_field_buf_physaddr(); - fn test_field_buf_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(buf_len) - ) - ); - } - test_field_buf_len(); - fn test_field_rearm_data() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rearm_data) as usize - ptr as usize - }, - 18usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(rearm_data) - ) - ); - } - test_field_rearm_data(); - fn test_field_data_off() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data_off) as usize - ptr as usize - }, - 18usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(data_off) - ) - ); - } - test_field_data_off(); - fn test_field_nb_segs() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).nb_segs) as usize - ptr as usize - }, - 22usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(nb_segs) - ) - ); - } - test_field_nb_segs(); - fn test_field_port() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).port) as usize - ptr as usize - }, - 23usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(port) - ) - ); - } - test_field_port(); - fn test_field_ol_flags() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ol_flags) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(ol_flags) - ) - ); - } - test_field_ol_flags(); - fn test_field_rx_descriptor_fields1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rx_descriptor_fields1) as usize - - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(rx_descriptor_fields1) - ) - ); - } - test_field_rx_descriptor_fields1(); - fn test_field_pkt_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pkt_len) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(pkt_len) - ) - ); - } - test_field_pkt_len(); - fn test_field_data_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data_len) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(data_len) - ) - ); - } - test_field_data_len(); - fn test_field_vlan_tci() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_tci) as usize - ptr as usize - }, - 42usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(vlan_tci) - ) - ); - } - test_field_vlan_tci(); - fn test_field_hash() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(hash) - ) - ); - } - test_field_hash(); - fn test_field_seqn() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).seqn) as usize - ptr as usize - }, - 52usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(seqn) - ) - ); - } - test_field_seqn(); - fn test_field_vlan_tci_outer() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).vlan_tci_outer) as usize - - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(vlan_tci_outer) - ) - ); - } - test_field_vlan_tci_outer(); - fn test_field_cacheline1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cacheline1) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(cacheline1) - ) - ); - } - test_field_cacheline1(); - fn test_field_pool() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).pool) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(pool) - ) - ); - } - test_field_pool(); - fn test_field_next() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(next) - ) - ); - } - test_field_next(); - fn test_field_priv_size() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).priv_size) as usize - ptr as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(priv_size) - ) - ); - } - test_field_priv_size(); - fn test_field_timesync() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_mbuf>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).timesync) as usize - ptr as usize - }, - 98usize, - concat!( - "Offset of field: ", - stringify!(rte_mbuf), - "::", - stringify!(timesync) - ) - ); - } - test_field_timesync(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).cacheline0) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(cacheline0) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).buf_addr) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(buf_addr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).buf_physaddr) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(buf_physaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(buf_len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rearm_data) as usize - ptr as usize + }, + 18usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(rearm_data) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).data_off) as usize - ptr as usize + }, + 18usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(data_off) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nb_segs) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(nb_segs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).port) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(port) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ol_flags) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(ol_flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).rx_descriptor_fields1) as usize - + ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(rx_descriptor_fields1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pkt_len) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(pkt_len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).data_len) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(data_len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vlan_tci) as usize - ptr as usize + }, + 42usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(vlan_tci) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hash) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).seqn) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(seqn) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).vlan_tci_outer) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(vlan_tci_outer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).cacheline1) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(cacheline1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pool) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(pool) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(next) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).priv_size) as usize - ptr as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(priv_size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).timesync) as usize - ptr as usize + }, + 98usize, + concat!( + "Offset of field: ", + stringify!(rte_mbuf), + "::", + stringify!(timesync) + ) + ); } impl Default for rte_mbuf { fn default() -> Self { diff --git a/tests/expectations/tests/libclang-5/call-conv-field.rs b/tests/expectations/tests/libclang-5/call-conv-field.rs index f83181ea..62b5ace2 100644 --- a/tests/expectations/tests/libclang-5/call-conv-field.rs +++ b/tests/expectations/tests/libclang-5/call-conv-field.rs @@ -18,6 +18,9 @@ pub struct JNINativeInterface_ { } #[test] fn bindgen_test_layout_JNINativeInterface_() { + const UNINIT: ::std::mem::MaybeUninit<JNINativeInterface_> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<JNINativeInterface_>(), 16usize, @@ -28,42 +31,28 @@ fn bindgen_test_layout_JNINativeInterface_() { 8usize, concat!("Alignment of ", stringify!(JNINativeInterface_)) ); - fn test_field_GetVersion() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<JNINativeInterface_>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).GetVersion) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(JNINativeInterface_), - "::", - stringify!(GetVersion) - ) - ); - } - test_field_GetVersion(); - fn test_field___hack() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<JNINativeInterface_>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).__hack) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(JNINativeInterface_), - "::", - stringify!(__hack) - ) - ); - } - test_field___hack(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetVersion) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JNINativeInterface_), + "::", + stringify!(GetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__hack) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JNINativeInterface_), + "::", + stringify!(__hack) + ) + ); } extern "stdcall" { pub fn bar(); diff --git a/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs b/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs index 213d4cd6..19f8881d 100644 --- a/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs +++ b/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs @@ -12,6 +12,9 @@ pub struct Rooted { } #[test] fn bindgen_test_layout_Rooted() { + const UNINIT: ::std::mem::MaybeUninit<Rooted> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Rooted>(), 4usize, @@ -22,23 +25,16 @@ fn bindgen_test_layout_Rooted() { 4usize, concat!("Alignment of ", stringify!(Rooted)) ); - fn test_field_ptr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Rooted>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Rooted), - "::", - stringify!(ptr) - ) - ); - } - test_field_ptr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Rooted), + "::", + stringify!(ptr) + ) + ); } impl Default for Rooted { fn default() -> Self { diff --git a/tests/expectations/tests/libclang-9/call-conv-field.rs b/tests/expectations/tests/libclang-9/call-conv-field.rs index f83181ea..62b5ace2 100644 --- a/tests/expectations/tests/libclang-9/call-conv-field.rs +++ b/tests/expectations/tests/libclang-9/call-conv-field.rs @@ -18,6 +18,9 @@ pub struct JNINativeInterface_ { } #[test] fn bindgen_test_layout_JNINativeInterface_() { + const UNINIT: ::std::mem::MaybeUninit<JNINativeInterface_> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<JNINativeInterface_>(), 16usize, @@ -28,42 +31,28 @@ fn bindgen_test_layout_JNINativeInterface_() { 8usize, concat!("Alignment of ", stringify!(JNINativeInterface_)) ); - fn test_field_GetVersion() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<JNINativeInterface_>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).GetVersion) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(JNINativeInterface_), - "::", - stringify!(GetVersion) - ) - ); - } - test_field_GetVersion(); - fn test_field___hack() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<JNINativeInterface_>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).__hack) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(JNINativeInterface_), - "::", - stringify!(__hack) - ) - ); - } - test_field___hack(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetVersion) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JNINativeInterface_), + "::", + stringify!(GetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__hack) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JNINativeInterface_), + "::", + stringify!(__hack) + ) + ); } extern "stdcall" { pub fn bar(); diff --git a/tests/expectations/tests/libclang-9/class.rs b/tests/expectations/tests/libclang-9/class.rs index 82ab6806..0d64a9ff 100644 --- a/tests/expectations/tests/libclang-9/class.rs +++ b/tests/expectations/tests/libclang-9/class.rs @@ -43,6 +43,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 40usize, @@ -53,35 +56,23 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(a)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(big_array) + ) + ); } impl Default for C { fn default() -> Self { @@ -100,6 +91,9 @@ pub struct C_with_zero_length_array { } #[test] fn bindgen_test_layout_C_with_zero_length_array() { + const UNINIT: ::std::mem::MaybeUninit<C_with_zero_length_array> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array>(), 40usize, @@ -110,64 +104,41 @@ fn bindgen_test_layout_C_with_zero_length_array() { 4usize, concat!("Alignment of ", stringify!(C_with_zero_length_array)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(big_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(zero_length_array) + ) + ); } impl Default for C_with_zero_length_array { fn default() -> Self { @@ -186,6 +157,9 @@ pub struct C_with_zero_length_array_2 { } #[test] fn bindgen_test_layout_C_with_zero_length_array_2() { + const UNINIT: ::std::mem::MaybeUninit<C_with_zero_length_array_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array_2>(), 4usize, @@ -196,45 +170,29 @@ fn bindgen_test_layout_C_with_zero_length_array_2() { 4usize, concat!("Alignment of ", stringify!(C_with_zero_length_array_2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_2), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_2), + "::", + stringify!(zero_length_array) + ) + ); } #[repr(C)] pub struct C_with_incomplete_array { @@ -244,6 +202,9 @@ pub struct C_with_incomplete_array { } #[test] fn bindgen_test_layout_C_with_incomplete_array() { + const UNINIT: ::std::mem::MaybeUninit<C_with_incomplete_array> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_incomplete_array>(), 40usize, @@ -254,64 +215,41 @@ fn bindgen_test_layout_C_with_incomplete_array() { 4usize, concat!("Alignment of ", stringify!(C_with_incomplete_array)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_incomplete_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_incomplete_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_incomplete_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array), + "::", + stringify!(big_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array), + "::", + stringify!(incomplete_array) + ) + ); } impl Default for C_with_incomplete_array { fn default() -> Self { @@ -330,6 +268,9 @@ pub struct C_with_incomplete_array_2 { } #[test] fn bindgen_test_layout_C_with_incomplete_array_2() { + const UNINIT: ::std::mem::MaybeUninit<C_with_incomplete_array_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_incomplete_array_2>(), 4usize, @@ -340,41 +281,29 @@ fn bindgen_test_layout_C_with_incomplete_array_2() { 4usize, concat!("Alignment of ", stringify!(C_with_incomplete_array_2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = :: std :: mem :: MaybeUninit :: < C_with_incomplete_array_2 > :: uninit () ; - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array_2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = :: std :: mem :: MaybeUninit :: < C_with_incomplete_array_2 > :: uninit () ; - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array_2), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array_2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array_2), + "::", + stringify!(incomplete_array) + ) + ); } #[repr(C)] pub struct C_with_zero_length_array_and_incomplete_array { @@ -385,6 +314,10 @@ pub struct C_with_zero_length_array_and_incomplete_array { } #[test] fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array() { + const UNINIT: ::std::mem::MaybeUninit< + C_with_zero_length_array_and_incomplete_array, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array_and_incomplete_array>(), 40usize, @@ -401,84 +334,54 @@ fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array() { stringify!(C_with_zero_length_array_and_incomplete_array) ) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array), + "::", + stringify!(big_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array), + "::", + stringify!(zero_length_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array), + "::", + stringify!(incomplete_array) + ) + ); } impl Default for C_with_zero_length_array_and_incomplete_array { fn default() -> Self { @@ -498,6 +401,10 @@ pub struct C_with_zero_length_array_and_incomplete_array_2 { } #[test] fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array_2() { + const UNINIT: ::std::mem::MaybeUninit< + C_with_zero_length_array_and_incomplete_array_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array_and_incomplete_array_2>( ), @@ -516,65 +423,42 @@ fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array_2() { stringify!(C_with_zero_length_array_and_incomplete_array_2) ) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array_2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array_2), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array_2), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array_2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array_2), + "::", + stringify!(zero_length_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array_2), + "::", + stringify!(incomplete_array) + ) + ); } #[repr(C)] #[derive(Debug, Default, Hash, PartialOrd, Ord, PartialEq, Eq)] @@ -583,6 +467,9 @@ pub struct WithDtor { } #[test] fn bindgen_test_layout_WithDtor() { + const UNINIT: ::std::mem::MaybeUninit<WithDtor> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithDtor>(), 4usize, @@ -593,23 +480,16 @@ fn bindgen_test_layout_WithDtor() { 4usize, concat!("Alignment of ", stringify!(WithDtor)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithDtor), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithDtor), + "::", + stringify!(b) + ) + ); } #[repr(C)] pub struct IncompleteArrayNonCopiable { @@ -618,6 +498,9 @@ pub struct IncompleteArrayNonCopiable { } #[test] fn bindgen_test_layout_IncompleteArrayNonCopiable() { + const UNINIT: ::std::mem::MaybeUninit<IncompleteArrayNonCopiable> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<IncompleteArrayNonCopiable>(), 8usize, @@ -628,45 +511,31 @@ fn bindgen_test_layout_IncompleteArrayNonCopiable() { 8usize, concat!("Alignment of ", stringify!(IncompleteArrayNonCopiable)) ); - fn test_field_whatever() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - IncompleteArrayNonCopiable, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).whatever) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IncompleteArrayNonCopiable), - "::", - stringify!(whatever) - ) - ); - } - test_field_whatever(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - IncompleteArrayNonCopiable, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IncompleteArrayNonCopiable), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).whatever) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IncompleteArrayNonCopiable), + "::", + stringify!(whatever) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IncompleteArrayNonCopiable), + "::", + stringify!(incomplete_array) + ) + ); } impl Default for IncompleteArrayNonCopiable { fn default() -> Self { @@ -685,6 +554,9 @@ pub union Union { } #[test] fn bindgen_test_layout_Union() { + const UNINIT: ::std::mem::MaybeUninit<Union> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Union>(), 4usize, @@ -695,40 +567,16 @@ fn bindgen_test_layout_Union() { 4usize, concat!("Alignment of ", stringify!(Union)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Union>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Union), - "::", - stringify!(d) - ) - ); - } - test_field_d(); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Union>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Union), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Union), "::", stringify!(d)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Union), "::", stringify!(i)) + ); } impl Default for Union { fn default() -> Self { @@ -746,6 +594,9 @@ pub struct WithUnion { } #[test] fn bindgen_test_layout_WithUnion() { + const UNINIT: ::std::mem::MaybeUninit<WithUnion> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithUnion>(), 4usize, @@ -756,23 +607,16 @@ fn bindgen_test_layout_WithUnion() { 4usize, concat!("Alignment of ", stringify!(WithUnion)) ); - fn test_field_data() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithUnion), - "::", - stringify!(data) - ) - ); - } - test_field_data(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithUnion), + "::", + stringify!(data) + ) + ); } impl Default for WithUnion { fn default() -> Self { diff --git a/tests/expectations/tests/libclang-9/class_1_0.rs b/tests/expectations/tests/libclang-9/class_1_0.rs index 604dde7b..e8c2e077 100644 --- a/tests/expectations/tests/libclang-9/class_1_0.rs +++ b/tests/expectations/tests/libclang-9/class_1_0.rs @@ -86,6 +86,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 40usize, @@ -96,35 +99,23 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(a)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(big_array) + ) + ); } impl Clone for C { fn clone(&self) -> Self { @@ -153,6 +144,9 @@ pub struct C_with_zero_length_array { } #[test] fn bindgen_test_layout_C_with_zero_length_array() { + const UNINIT: ::std::mem::MaybeUninit<C_with_zero_length_array> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array>(), 40usize, @@ -163,64 +157,41 @@ fn bindgen_test_layout_C_with_zero_length_array() { 4usize, concat!("Alignment of ", stringify!(C_with_zero_length_array)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_zero_length_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(big_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array), + "::", + stringify!(zero_length_array) + ) + ); } impl Default for C_with_zero_length_array { fn default() -> Self { @@ -239,6 +210,9 @@ pub struct C_with_zero_length_array_2 { } #[test] fn bindgen_test_layout_C_with_zero_length_array_2() { + const UNINIT: ::std::mem::MaybeUninit<C_with_zero_length_array_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array_2>(), 4usize, @@ -249,45 +223,29 @@ fn bindgen_test_layout_C_with_zero_length_array_2() { 4usize, concat!("Alignment of ", stringify!(C_with_zero_length_array_2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_2), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_2), + "::", + stringify!(zero_length_array) + ) + ); } #[repr(C)] pub struct C_with_incomplete_array { @@ -297,6 +255,9 @@ pub struct C_with_incomplete_array { } #[test] fn bindgen_test_layout_C_with_incomplete_array() { + const UNINIT: ::std::mem::MaybeUninit<C_with_incomplete_array> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_incomplete_array>(), 40usize, @@ -307,64 +268,41 @@ fn bindgen_test_layout_C_with_incomplete_array() { 4usize, concat!("Alignment of ", stringify!(C_with_incomplete_array)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_incomplete_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_incomplete_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<C_with_incomplete_array>::uninit( - ); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array), + "::", + stringify!(big_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array), + "::", + stringify!(incomplete_array) + ) + ); } impl Default for C_with_incomplete_array { fn default() -> Self { @@ -383,6 +321,9 @@ pub struct C_with_incomplete_array_2 { } #[test] fn bindgen_test_layout_C_with_incomplete_array_2() { + const UNINIT: ::std::mem::MaybeUninit<C_with_incomplete_array_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_incomplete_array_2>(), 4usize, @@ -393,41 +334,29 @@ fn bindgen_test_layout_C_with_incomplete_array_2() { 4usize, concat!("Alignment of ", stringify!(C_with_incomplete_array_2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = :: std :: mem :: MaybeUninit :: < C_with_incomplete_array_2 > :: uninit () ; - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array_2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = :: std :: mem :: MaybeUninit :: < C_with_incomplete_array_2 > :: uninit () ; - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_incomplete_array_2), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array_2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_incomplete_array_2), + "::", + stringify!(incomplete_array) + ) + ); } #[repr(C)] pub struct C_with_zero_length_array_and_incomplete_array { @@ -438,6 +367,10 @@ pub struct C_with_zero_length_array_and_incomplete_array { } #[test] fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array() { + const UNINIT: ::std::mem::MaybeUninit< + C_with_zero_length_array_and_incomplete_array, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array_and_incomplete_array>(), 40usize, @@ -454,84 +387,54 @@ fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array() { stringify!(C_with_zero_length_array_and_incomplete_array) ) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_big_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array), - "::", - stringify!(big_array) - ) - ); - } - test_field_big_array(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 37usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).big_array) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array), + "::", + stringify!(big_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array), + "::", + stringify!(zero_length_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 37usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array), + "::", + stringify!(incomplete_array) + ) + ); } impl Default for C_with_zero_length_array_and_incomplete_array { fn default() -> Self { @@ -551,6 +454,10 @@ pub struct C_with_zero_length_array_and_incomplete_array_2 { } #[test] fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array_2() { + const UNINIT: ::std::mem::MaybeUninit< + C_with_zero_length_array_and_incomplete_array_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C_with_zero_length_array_and_incomplete_array_2>( ), @@ -569,65 +476,42 @@ fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array_2() { stringify!(C_with_zero_length_array_and_incomplete_array_2) ) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array_2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array_2), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - C_with_zero_length_array_and_incomplete_array_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C_with_zero_length_array_and_incomplete_array_2), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array_2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array_2), + "::", + stringify!(zero_length_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C_with_zero_length_array_and_incomplete_array_2), + "::", + stringify!(incomplete_array) + ) + ); } #[repr(C)] #[derive(Debug, Default, Hash, PartialEq, Eq)] @@ -636,6 +520,9 @@ pub struct WithDtor { } #[test] fn bindgen_test_layout_WithDtor() { + const UNINIT: ::std::mem::MaybeUninit<WithDtor> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithDtor>(), 4usize, @@ -646,23 +533,16 @@ fn bindgen_test_layout_WithDtor() { 4usize, concat!("Alignment of ", stringify!(WithDtor)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithDtor), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithDtor), + "::", + stringify!(b) + ) + ); } #[repr(C)] pub struct IncompleteArrayNonCopiable { @@ -671,6 +551,9 @@ pub struct IncompleteArrayNonCopiable { } #[test] fn bindgen_test_layout_IncompleteArrayNonCopiable() { + const UNINIT: ::std::mem::MaybeUninit<IncompleteArrayNonCopiable> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<IncompleteArrayNonCopiable>(), 8usize, @@ -681,45 +564,31 @@ fn bindgen_test_layout_IncompleteArrayNonCopiable() { 8usize, concat!("Alignment of ", stringify!(IncompleteArrayNonCopiable)) ); - fn test_field_whatever() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - IncompleteArrayNonCopiable, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).whatever) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(IncompleteArrayNonCopiable), - "::", - stringify!(whatever) - ) - ); - } - test_field_whatever(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - IncompleteArrayNonCopiable, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(IncompleteArrayNonCopiable), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).whatever) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IncompleteArrayNonCopiable), + "::", + stringify!(whatever) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IncompleteArrayNonCopiable), + "::", + stringify!(incomplete_array) + ) + ); } impl Default for IncompleteArrayNonCopiable { fn default() -> Self { @@ -739,6 +608,9 @@ pub struct Union { } #[test] fn bindgen_test_layout_Union() { + const UNINIT: ::std::mem::MaybeUninit<Union> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Union>(), 4usize, @@ -749,40 +621,16 @@ fn bindgen_test_layout_Union() { 4usize, concat!("Alignment of ", stringify!(Union)) ); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Union>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Union), - "::", - stringify!(d) - ) - ); - } - test_field_d(); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Union>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Union), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Union), "::", stringify!(d)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Union), "::", stringify!(i)) + ); } impl Clone for Union { fn clone(&self) -> Self { @@ -796,6 +644,9 @@ pub struct WithUnion { } #[test] fn bindgen_test_layout_WithUnion() { + const UNINIT: ::std::mem::MaybeUninit<WithUnion> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithUnion>(), 4usize, @@ -806,23 +657,16 @@ fn bindgen_test_layout_WithUnion() { 4usize, concat!("Alignment of ", stringify!(WithUnion)) ); - fn test_field_data() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithUnion), - "::", - stringify!(data) - ) - ); - } - test_field_data(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithUnion), + "::", + stringify!(data) + ) + ); } impl Clone for WithUnion { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs b/tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs index 2365d9a3..2af22cc4 100644 --- a/tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs +++ b/tests/expectations/tests/libclang-9/derive-hash-struct-with-incomplete-array.rs @@ -43,6 +43,9 @@ pub struct test { } #[test] fn bindgen_test_layout_test() { + const UNINIT: ::std::mem::MaybeUninit<test> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<test>(), 4usize, @@ -53,36 +56,24 @@ fn bindgen_test_layout_test() { 4usize, concat!("Alignment of ", stringify!(test)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(test), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(test), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(test), "::", stringify!(a)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(test), + "::", + stringify!(zero_length_array) + ) + ); } #[repr(C)] #[derive(Debug, Default)] @@ -92,6 +83,9 @@ pub struct test2 { } #[test] fn bindgen_test_layout_test2() { + const UNINIT: ::std::mem::MaybeUninit<test2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<test2>(), 4usize, @@ -102,41 +96,24 @@ fn bindgen_test_layout_test2() { 4usize, concat!("Alignment of ", stringify!(test2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<test2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(test2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<test2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(test2), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(test2), "::", stringify!(a)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(test2), + "::", + stringify!(incomplete_array) + ) + ); } #[repr(C)] #[derive(Debug, Default)] @@ -147,6 +124,9 @@ pub struct test3 { } #[test] fn bindgen_test_layout_test3() { + const UNINIT: ::std::mem::MaybeUninit<test3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<test3>(), 4usize, @@ -157,57 +137,35 @@ fn bindgen_test_layout_test3() { 4usize, concat!("Alignment of ", stringify!(test3)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<test3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(test3), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_zero_length_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<test3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(test3), - "::", - stringify!(zero_length_array) - ) - ); - } - test_field_zero_length_array(); - fn test_field_incomplete_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<test3>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(test3), - "::", - stringify!(incomplete_array) - ) - ); - } - test_field_incomplete_array(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(test3), "::", stringify!(a)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).zero_length_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(test3), + "::", + stringify!(zero_length_array) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).incomplete_array) as usize - + ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(test3), + "::", + stringify!(incomplete_array) + ) + ); } diff --git a/tests/expectations/tests/libclang-9/incomplete-array-padding.rs b/tests/expectations/tests/libclang-9/incomplete-array-padding.rs index d796cc60..1de963bf 100644 --- a/tests/expectations/tests/libclang-9/incomplete-array-padding.rs +++ b/tests/expectations/tests/libclang-9/incomplete-array-padding.rs @@ -130,6 +130,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -140,18 +143,11 @@ fn bindgen_test_layout_foo() { 8usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 8usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs b/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs index 53f12548..ab402cfb 100644 --- a/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs +++ b/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs @@ -50,6 +50,9 @@ pub struct rte_ring_prod { } #[test] fn bindgen_test_layout_rte_ring_prod() { + const UNINIT: ::std::mem::MaybeUninit<rte_ring_prod> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ring_prod>(), 4usize, @@ -60,23 +63,18 @@ fn bindgen_test_layout_rte_ring_prod() { 4usize, concat!("Alignment of ", stringify!(rte_ring_prod)) ); - fn test_field_watermark() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_ring_prod>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).watermark) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ring_prod), - "::", - stringify!(watermark) - ) - ); - } - test_field_watermark(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).watermark) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ring_prod), + "::", + stringify!(watermark) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -85,6 +83,9 @@ pub struct rte_ring_cons { } #[test] fn bindgen_test_layout_rte_ring_cons() { + const UNINIT: ::std::mem::MaybeUninit<rte_ring_cons> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ring_cons>(), 4usize, @@ -95,26 +96,24 @@ fn bindgen_test_layout_rte_ring_cons() { 4usize, concat!("Alignment of ", stringify!(rte_ring_cons)) ); - fn test_field_sc_dequeue() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_ring_cons>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).sc_dequeue) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ring_cons), - "::", - stringify!(sc_dequeue) - ) - ); - } - test_field_sc_dequeue(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).sc_dequeue) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ring_cons), + "::", + stringify!(sc_dequeue) + ) + ); } #[test] fn bindgen_test_layout_rte_ring() { + const UNINIT: ::std::mem::MaybeUninit<rte_ring> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_ring>(), 16usize, @@ -125,74 +124,46 @@ fn bindgen_test_layout_rte_ring() { 8usize, concat!("Alignment of ", stringify!(rte_ring)) ); - fn test_field_memzone() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_ring>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).memzone) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_ring), - "::", - stringify!(memzone) - ) - ); - } - test_field_memzone(); - fn test_field_prod() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_ring>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).prod) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_ring), - "::", - stringify!(prod) - ) - ); - } - test_field_prod(); - fn test_field_cons() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_ring>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cons) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(rte_ring), - "::", - stringify!(cons) - ) - ); - } - test_field_cons(); - fn test_field_ring() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_ring>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ring) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_ring), - "::", - stringify!(ring) - ) - ); - } - test_field_ring(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).memzone) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_ring), + "::", + stringify!(memzone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).prod) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_ring), + "::", + stringify!(prod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cons) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(rte_ring), + "::", + stringify!(cons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ring) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_ring), + "::", + stringify!(ring) + ) + ); } impl Default for rte_ring { fn default() -> Self { diff --git a/tests/expectations/tests/libclang-9/layout_align.rs b/tests/expectations/tests/libclang-9/layout_align.rs index 2ecbb6f9..f6a32704 100644 --- a/tests/expectations/tests/libclang-9/layout_align.rs +++ b/tests/expectations/tests/libclang-9/layout_align.rs @@ -137,6 +137,9 @@ pub struct rte_kni_fifo { } #[test] fn bindgen_test_layout_rte_kni_fifo() { + const UNINIT: ::std::mem::MaybeUninit<rte_kni_fifo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_kni_fifo>(), 16usize, @@ -147,91 +150,58 @@ fn bindgen_test_layout_rte_kni_fifo() { 8usize, concat!("Alignment of ", stringify!(rte_kni_fifo)) ); - fn test_field_write() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_fifo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_fifo), - "::", - stringify!(write) - ) - ); - } - test_field_write(); - fn test_field_read() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_fifo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_fifo), - "::", - stringify!(read) - ) - ); - } - test_field_read(); - fn test_field_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_fifo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_fifo), - "::", - stringify!(len) - ) - ); - } - test_field_len(); - fn test_field_elem_size() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_fifo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).elem_size) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_fifo), - "::", - stringify!(elem_size) - ) - ); - } - test_field_elem_size(); - fn test_field_buffer() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_kni_fifo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(rte_kni_fifo), - "::", - stringify!(buffer) - ) - ); - } - test_field_buffer(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_fifo), + "::", + stringify!(write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).read) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_fifo), + "::", + stringify!(read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_fifo), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).elem_size) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_fifo), + "::", + stringify!(elem_size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(rte_kni_fifo), + "::", + stringify!(buffer) + ) + ); } impl Default for rte_kni_fifo { fn default() -> Self { @@ -254,6 +224,9 @@ pub struct rte_eth_link { } #[test] fn bindgen_test_layout_rte_eth_link() { + const UNINIT: ::std::mem::MaybeUninit<rte_eth_link> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<rte_eth_link>(), 8usize, @@ -264,23 +237,18 @@ fn bindgen_test_layout_rte_eth_link() { 8usize, concat!("Alignment of ", stringify!(rte_eth_link)) ); - fn test_field_link_speed() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<rte_eth_link>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).link_speed) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(rte_eth_link), - "::", - stringify!(link_speed) - ) - ); - } - test_field_link_speed(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).link_speed) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(rte_eth_link), + "::", + stringify!(link_speed) + ) + ); } impl rte_eth_link { #[inline] diff --git a/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs b/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs index 213d4cd6..19f8881d 100644 --- a/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs +++ b/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs @@ -12,6 +12,9 @@ pub struct Rooted { } #[test] fn bindgen_test_layout_Rooted() { + const UNINIT: ::std::mem::MaybeUninit<Rooted> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Rooted>(), 4usize, @@ -22,23 +25,16 @@ fn bindgen_test_layout_Rooted() { 4usize, concat!("Alignment of ", stringify!(Rooted)) ); - fn test_field_ptr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Rooted>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Rooted), - "::", - stringify!(ptr) - ) - ); - } - test_field_ptr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Rooted), + "::", + stringify!(ptr) + ) + ); } impl Default for Rooted { fn default() -> Self { diff --git a/tests/expectations/tests/libclang-9/zero-sized-array.rs b/tests/expectations/tests/libclang-9/zero-sized-array.rs index 185b8e21..3066fac4 100644 --- a/tests/expectations/tests/libclang-9/zero-sized-array.rs +++ b/tests/expectations/tests/libclang-9/zero-sized-array.rs @@ -43,6 +43,9 @@ pub struct ZeroSizedArray { } #[test] fn bindgen_test_layout_ZeroSizedArray() { + const UNINIT: ::std::mem::MaybeUninit<ZeroSizedArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ZeroSizedArray>(), 0usize, @@ -53,24 +56,16 @@ fn bindgen_test_layout_ZeroSizedArray() { 1usize, concat!("Alignment of ", stringify!(ZeroSizedArray)) ); - fn test_field_arr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ZeroSizedArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ZeroSizedArray), - "::", - stringify!(arr) - ) - ); - } - test_field_arr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ZeroSizedArray), + "::", + stringify!(arr) + ) + ); } /// And nor should this get an `_address` field. #[repr(C)] @@ -80,6 +75,9 @@ pub struct ContainsZeroSizedArray { } #[test] fn bindgen_test_layout_ContainsZeroSizedArray() { + const UNINIT: ::std::mem::MaybeUninit<ContainsZeroSizedArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContainsZeroSizedArray>(), 0usize, @@ -90,24 +88,16 @@ fn bindgen_test_layout_ContainsZeroSizedArray() { 1usize, concat!("Alignment of ", stringify!(ContainsZeroSizedArray)) ); - fn test_field_zsa() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContainsZeroSizedArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zsa) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContainsZeroSizedArray), - "::", - stringify!(zsa) - ) - ); - } - test_field_zsa(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).zsa) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContainsZeroSizedArray), + "::", + stringify!(zsa) + ) + ); } /// Inheriting from ZeroSizedArray shouldn't cause an `_address` to be inserted /// either. @@ -137,6 +127,9 @@ pub struct DynamicallySizedArray { } #[test] fn bindgen_test_layout_DynamicallySizedArray() { + const UNINIT: ::std::mem::MaybeUninit<DynamicallySizedArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<DynamicallySizedArray>(), 0usize, @@ -147,24 +140,16 @@ fn bindgen_test_layout_DynamicallySizedArray() { 1usize, concat!("Alignment of ", stringify!(DynamicallySizedArray)) ); - fn test_field_arr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<DynamicallySizedArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(DynamicallySizedArray), - "::", - stringify!(arr) - ) - ); - } - test_field_arr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DynamicallySizedArray), + "::", + stringify!(arr) + ) + ); } /// No `_address` field here either. #[repr(C)] @@ -174,6 +159,9 @@ pub struct ContainsDynamicallySizedArray { } #[test] fn bindgen_test_layout_ContainsDynamicallySizedArray() { + const UNINIT: ::std::mem::MaybeUninit<ContainsDynamicallySizedArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContainsDynamicallySizedArray>(), 0usize, @@ -184,23 +172,14 @@ fn bindgen_test_layout_ContainsDynamicallySizedArray() { 1usize, concat!("Alignment of ", stringify!(ContainsDynamicallySizedArray)) ); - fn test_field_dsa() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - ContainsDynamicallySizedArray, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).dsa) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContainsDynamicallySizedArray), - "::", - stringify!(dsa) - ) - ); - } - test_field_dsa(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dsa) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContainsDynamicallySizedArray), + "::", + stringify!(dsa) + ) + ); } diff --git a/tests/expectations/tests/long_double.rs b/tests/expectations/tests/long_double.rs index 7e2dfd2a..2c3b6c93 100644 --- a/tests/expectations/tests/long_double.rs +++ b/tests/expectations/tests/long_double.rs @@ -13,6 +13,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 16usize, @@ -23,21 +26,9 @@ fn bindgen_test_layout_foo() { 16usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } diff --git a/tests/expectations/tests/msvc-no-usr.rs b/tests/expectations/tests/msvc-no-usr.rs index 6e8a98c3..285670ed 100644 --- a/tests/expectations/tests/msvc-no-usr.rs +++ b/tests/expectations/tests/msvc-no-usr.rs @@ -13,6 +13,9 @@ pub struct A { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 8usize, @@ -23,16 +26,9 @@ fn bindgen_test_layout_A() { 8usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(foo)) - ); - } - test_field_foo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(foo)) + ); } diff --git a/tests/expectations/tests/mutable.rs b/tests/expectations/tests/mutable.rs index feae0609..94c70326 100644 --- a/tests/expectations/tests/mutable.rs +++ b/tests/expectations/tests/mutable.rs @@ -13,6 +13,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 8usize, @@ -23,40 +26,28 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_m_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(m_member) - ) - ); - } - test_field_m_member(); - fn test_field_m_other() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m_other) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(m_other) - ) - ); - } - test_field_m_other(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(m_member) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_other) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(m_other) + ) + ); } #[repr(C)] #[derive(Debug, Default)] @@ -65,6 +56,9 @@ pub struct NonCopiable { } #[test] fn bindgen_test_layout_NonCopiable() { + const UNINIT: ::std::mem::MaybeUninit<NonCopiable> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NonCopiable>(), 4usize, @@ -75,23 +69,18 @@ fn bindgen_test_layout_NonCopiable() { 4usize, concat!("Alignment of ", stringify!(NonCopiable)) ); - fn test_field_m_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<NonCopiable>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NonCopiable), - "::", - stringify!(m_member) - ) - ); - } - test_field_m_member(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NonCopiable), + "::", + stringify!(m_member) + ) + ); } #[repr(C)] #[derive(Debug, Default)] @@ -100,6 +89,10 @@ pub struct NonCopiableWithNonCopiableMutableMember { } #[test] fn bindgen_test_layout_NonCopiableWithNonCopiableMutableMember() { + const UNINIT: ::std::mem::MaybeUninit< + NonCopiableWithNonCopiableMutableMember, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NonCopiableWithNonCopiableMutableMember>(), 4usize, @@ -116,23 +109,16 @@ fn bindgen_test_layout_NonCopiableWithNonCopiableMutableMember() { stringify!(NonCopiableWithNonCopiableMutableMember) ) ); - fn test_field_m_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - NonCopiableWithNonCopiableMutableMember, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NonCopiableWithNonCopiableMutableMember), - "::", - stringify!(m_member) - ) - ); - } - test_field_m_member(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_member) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NonCopiableWithNonCopiableMutableMember), + "::", + stringify!(m_member) + ) + ); } diff --git a/tests/expectations/tests/namespace.rs b/tests/expectations/tests/namespace.rs index 72c17ee6..49c8a7ef 100644 --- a/tests/expectations/tests/namespace.rs +++ b/tests/expectations/tests/namespace.rs @@ -33,6 +33,9 @@ pub mod root { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 4usize, @@ -43,23 +46,18 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(A), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(A), + "::", + stringify!(b) + ) + ); } } #[repr(C)] diff --git a/tests/expectations/tests/nested.rs b/tests/expectations/tests/nested.rs index 48061e9b..415a7405 100644 --- a/tests/expectations/tests/nested.rs +++ b/tests/expectations/tests/nested.rs @@ -12,6 +12,9 @@ pub struct Calc { } #[test] fn bindgen_test_layout_Calc() { + const UNINIT: ::std::mem::MaybeUninit<Calc> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Calc>(), 4usize, @@ -22,18 +25,11 @@ fn bindgen_test_layout_Calc() { 4usize, concat!("Alignment of ", stringify!(Calc)) ); - fn test_field_w() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Calc>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Calc), "::", stringify!(w)) - ); - } - test_field_w(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Calc), "::", stringify!(w)) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -66,6 +62,9 @@ fn bindgen_test_layout_Test_Size_Dimension() { } #[test] fn bindgen_test_layout_Test_Size() { + const UNINIT: ::std::mem::MaybeUninit<Test_Size> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Test_Size>(), 8usize, @@ -76,40 +75,26 @@ fn bindgen_test_layout_Test_Size() { 4usize, concat!("Alignment of ", stringify!(Test_Size)) ); - fn test_field_mWidth() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test_Size>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mWidth) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Test_Size), - "::", - stringify!(mWidth) - ) - ); - } - test_field_mWidth(); - fn test_field_mHeight() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test_Size>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mHeight) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(Test_Size), - "::", - stringify!(mHeight) - ) - ); - } - test_field_mHeight(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mWidth) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Test_Size), + "::", + stringify!(mWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mHeight) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(Test_Size), + "::", + stringify!(mHeight) + ) + ); } #[test] fn bindgen_test_layout_Test() { diff --git a/tests/expectations/tests/nested_within_namespace.rs b/tests/expectations/tests/nested_within_namespace.rs index 3e6e0466..629c449a 100644 --- a/tests/expectations/tests/nested_within_namespace.rs +++ b/tests/expectations/tests/nested_within_namespace.rs @@ -24,6 +24,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Bar_Baz() { + const UNINIT: ::std::mem::MaybeUninit<Bar_Baz> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar_Baz>(), 4usize, @@ -34,27 +37,24 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Bar_Baz)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<Bar_Baz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar_Baz), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar_Baz), + "::", + stringify!(foo) + ) + ); } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 4usize, @@ -65,23 +65,18 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(foo) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -90,6 +85,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Baz() { + const UNINIT: ::std::mem::MaybeUninit<Baz> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Baz>(), 4usize, @@ -100,23 +98,18 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Baz)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Baz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Baz), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Baz), + "::", + stringify!(baz) + ) + ); } } } diff --git a/tests/expectations/tests/no-comments.rs b/tests/expectations/tests/no-comments.rs index f13b4f8b..a375d8ea 100644 --- a/tests/expectations/tests/no-comments.rs +++ b/tests/expectations/tests/no-comments.rs @@ -12,6 +12,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 4usize, @@ -22,16 +25,9 @@ fn bindgen_test_layout_Foo() { 4usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_s() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Foo), "::", stringify!(s)) - ); - } - test_field_s(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(s)) + ); } diff --git a/tests/expectations/tests/no-derive-debug.rs b/tests/expectations/tests/no-derive-debug.rs index 2aa1c102..c7a6d184 100644 --- a/tests/expectations/tests/no-derive-debug.rs +++ b/tests/expectations/tests/no-derive-debug.rs @@ -21,6 +21,9 @@ pub struct bar { } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 8usize, @@ -31,40 +34,16 @@ fn bindgen_test_layout_bar() { 4usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(bar), "::", stringify!(foo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(bar), "::", stringify!(baz)) + ); } impl Default for bar { fn default() -> Self { diff --git a/tests/expectations/tests/no-derive-default.rs b/tests/expectations/tests/no-derive-default.rs index 6e5efbe6..46b2cb4e 100644 --- a/tests/expectations/tests/no-derive-default.rs +++ b/tests/expectations/tests/no-derive-default.rs @@ -21,6 +21,9 @@ pub struct bar { } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 8usize, @@ -31,38 +34,14 @@ fn bindgen_test_layout_bar() { 4usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(bar), "::", stringify!(foo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(bar), "::", stringify!(baz)) + ); } diff --git a/tests/expectations/tests/no-hash-allowlisted.rs b/tests/expectations/tests/no-hash-allowlisted.rs index 43132cb0..549b72b5 100644 --- a/tests/expectations/tests/no-hash-allowlisted.rs +++ b/tests/expectations/tests/no-hash-allowlisted.rs @@ -12,6 +12,9 @@ pub struct NoHash { } #[test] fn bindgen_test_layout_NoHash() { + const UNINIT: ::std::mem::MaybeUninit<NoHash> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NoHash>(), 4usize, @@ -22,21 +25,9 @@ fn bindgen_test_layout_NoHash() { 4usize, concat!("Alignment of ", stringify!(NoHash)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<NoHash>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NoHash), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(NoHash), "::", stringify!(i)) + ); } diff --git a/tests/expectations/tests/no-partialeq-allowlisted.rs b/tests/expectations/tests/no-partialeq-allowlisted.rs index e43e8557..c7895fe6 100644 --- a/tests/expectations/tests/no-partialeq-allowlisted.rs +++ b/tests/expectations/tests/no-partialeq-allowlisted.rs @@ -12,6 +12,9 @@ pub struct NoPartialEq { } #[test] fn bindgen_test_layout_NoPartialEq() { + const UNINIT: ::std::mem::MaybeUninit<NoPartialEq> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NoPartialEq>(), 4usize, @@ -22,21 +25,14 @@ fn bindgen_test_layout_NoPartialEq() { 4usize, concat!("Alignment of ", stringify!(NoPartialEq)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<NoPartialEq>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NoPartialEq), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NoPartialEq), + "::", + stringify!(i) + ) + ); } diff --git a/tests/expectations/tests/no-recursive-allowlisting.rs b/tests/expectations/tests/no-recursive-allowlisting.rs index 197b099d..6f1e19ba 100644 --- a/tests/expectations/tests/no-recursive-allowlisting.rs +++ b/tests/expectations/tests/no-recursive-allowlisting.rs @@ -14,6 +14,9 @@ pub struct Foo { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 8usize, @@ -24,23 +27,11 @@ fn bindgen_test_layout_Foo() { 8usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Foo), "::", stringify!(baz)) + ); } impl Default for Foo { fn default() -> Self { diff --git a/tests/expectations/tests/no-std.rs b/tests/expectations/tests/no-std.rs index f3157bbe..457242c2 100644 --- a/tests/expectations/tests/no-std.rs +++ b/tests/expectations/tests/no-std.rs @@ -19,6 +19,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::core::mem::MaybeUninit<foo> = + ::core::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::<foo>(), 16usize, @@ -29,47 +32,21 @@ fn bindgen_test_layout_foo() { 8usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) - ); - } - test_field_b(); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/no_copy_allowlisted.rs b/tests/expectations/tests/no_copy_allowlisted.rs index ae086d21..1c46de75 100644 --- a/tests/expectations/tests/no_copy_allowlisted.rs +++ b/tests/expectations/tests/no_copy_allowlisted.rs @@ -12,6 +12,9 @@ pub struct NoCopy { } #[test] fn bindgen_test_layout_NoCopy() { + const UNINIT: ::std::mem::MaybeUninit<NoCopy> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NoCopy>(), 4usize, @@ -22,21 +25,9 @@ fn bindgen_test_layout_NoCopy() { 4usize, concat!("Alignment of ", stringify!(NoCopy)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<NoCopy>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NoCopy), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(NoCopy), "::", stringify!(i)) + ); } diff --git a/tests/expectations/tests/no_debug_allowlisted.rs b/tests/expectations/tests/no_debug_allowlisted.rs index 9f070d24..859dad8c 100644 --- a/tests/expectations/tests/no_debug_allowlisted.rs +++ b/tests/expectations/tests/no_debug_allowlisted.rs @@ -12,6 +12,9 @@ pub struct NoDebug { } #[test] fn bindgen_test_layout_NoDebug() { + const UNINIT: ::std::mem::MaybeUninit<NoDebug> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NoDebug>(), 4usize, @@ -22,21 +25,14 @@ fn bindgen_test_layout_NoDebug() { 4usize, concat!("Alignment of ", stringify!(NoDebug)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<NoDebug>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NoDebug), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NoDebug), + "::", + stringify!(i) + ) + ); } diff --git a/tests/expectations/tests/no_default_allowlisted.rs b/tests/expectations/tests/no_default_allowlisted.rs index 07e01b72..c4deceb4 100644 --- a/tests/expectations/tests/no_default_allowlisted.rs +++ b/tests/expectations/tests/no_default_allowlisted.rs @@ -12,6 +12,9 @@ pub struct NoDefault { } #[test] fn bindgen_test_layout_NoDefault() { + const UNINIT: ::std::mem::MaybeUninit<NoDefault> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NoDefault>(), 4usize, @@ -22,21 +25,14 @@ fn bindgen_test_layout_NoDefault() { 4usize, concat!("Alignment of ", stringify!(NoDefault)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<NoDefault>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NoDefault), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NoDefault), + "::", + stringify!(i) + ) + ); } diff --git a/tests/expectations/tests/non-type-params.rs b/tests/expectations/tests/non-type-params.rs index f6478528..2b38e216 100644 --- a/tests/expectations/tests/non-type-params.rs +++ b/tests/expectations/tests/non-type-params.rs @@ -16,6 +16,9 @@ pub struct UsesArray { } #[test] fn bindgen_test_layout_UsesArray() { + const UNINIT: ::std::mem::MaybeUninit<UsesArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<UsesArray>(), 40usize, @@ -26,57 +29,40 @@ fn bindgen_test_layout_UsesArray() { 4usize, concat!("Alignment of ", stringify!(UsesArray)) ); - fn test_field_array_char_16() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<UsesArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).array_char_16) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(UsesArray), - "::", - stringify!(array_char_16) - ) - ); - } - test_field_array_char_16(); - fn test_field_array_bool_8() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<UsesArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).array_bool_8) as usize - - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(UsesArray), - "::", - stringify!(array_bool_8) - ) - ); - } - test_field_array_bool_8(); - fn test_field_array_int_4() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<UsesArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).array_int_4) as usize - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(UsesArray), - "::", - stringify!(array_int_4) - ) - ); - } - test_field_array_int_4(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).array_char_16) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(UsesArray), + "::", + stringify!(array_char_16) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).array_bool_8) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(UsesArray), + "::", + stringify!(array_bool_8) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).array_int_4) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(UsesArray), + "::", + stringify!(array_int_4) + ) + ); } diff --git a/tests/expectations/tests/objc_interface_type.rs b/tests/expectations/tests/objc_interface_type.rs index 5cafeede..423ba910 100644 --- a/tests/expectations/tests/objc_interface_type.rs +++ b/tests/expectations/tests/objc_interface_type.rs @@ -33,6 +33,9 @@ pub struct FooStruct { } #[test] fn bindgen_test_layout_FooStruct() { + const UNINIT: ::std::mem::MaybeUninit<FooStruct> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<FooStruct>(), 8usize, @@ -43,23 +46,16 @@ fn bindgen_test_layout_FooStruct() { 8usize, concat!("Alignment of ", stringify!(FooStruct)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<FooStruct>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(FooStruct), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FooStruct), + "::", + stringify!(foo) + ) + ); } impl Default for FooStruct { fn default() -> Self { diff --git a/tests/expectations/tests/opaque-template-inst-member-2.rs b/tests/expectations/tests/opaque-template-inst-member-2.rs index 391c46d1..c28d9356 100644 --- a/tests/expectations/tests/opaque-template-inst-member-2.rs +++ b/tests/expectations/tests/opaque-template-inst-member-2.rs @@ -21,6 +21,9 @@ pub struct ContainsOpaqueTemplate { } #[test] fn bindgen_test_layout_ContainsOpaqueTemplate() { + const UNINIT: ::std::mem::MaybeUninit<ContainsOpaqueTemplate> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContainsOpaqueTemplate>(), 8usize, @@ -31,42 +34,26 @@ fn bindgen_test_layout_ContainsOpaqueTemplate() { 4usize, concat!("Alignment of ", stringify!(ContainsOpaqueTemplate)) ); - fn test_field_mBlah() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContainsOpaqueTemplate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBlah) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContainsOpaqueTemplate), - "::", - stringify!(mBlah) - ) - ); - } - test_field_mBlah(); - fn test_field_mBaz() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContainsOpaqueTemplate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBaz) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ContainsOpaqueTemplate), - "::", - stringify!(mBaz) - ) - ); - } - test_field_mBaz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBlah) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContainsOpaqueTemplate), + "::", + stringify!(mBlah) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBaz) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ContainsOpaqueTemplate), + "::", + stringify!(mBaz) + ) + ); } /// Should also derive Debug/Hash/PartialEq. #[repr(C)] @@ -77,6 +64,9 @@ pub struct InheritsOpaqueTemplate { } #[test] fn bindgen_test_layout_InheritsOpaqueTemplate() { + const UNINIT: ::std::mem::MaybeUninit<InheritsOpaqueTemplate> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<InheritsOpaqueTemplate>(), 16usize, @@ -87,24 +77,16 @@ fn bindgen_test_layout_InheritsOpaqueTemplate() { 8usize, concat!("Alignment of ", stringify!(InheritsOpaqueTemplate)) ); - fn test_field_wow() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<InheritsOpaqueTemplate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).wow) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(InheritsOpaqueTemplate), - "::", - stringify!(wow) - ) - ); - } - test_field_wow(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wow) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(InheritsOpaqueTemplate), + "::", + stringify!(wow) + ) + ); } impl Default for InheritsOpaqueTemplate { fn default() -> Self { diff --git a/tests/expectations/tests/opaque-template-inst-member.rs b/tests/expectations/tests/opaque-template-inst-member.rs index 09429768..4ba85f66 100644 --- a/tests/expectations/tests/opaque-template-inst-member.rs +++ b/tests/expectations/tests/opaque-template-inst-member.rs @@ -19,6 +19,9 @@ pub struct ContainsOpaqueTemplate { } #[test] fn bindgen_test_layout_ContainsOpaqueTemplate() { + const UNINIT: ::std::mem::MaybeUninit<ContainsOpaqueTemplate> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContainsOpaqueTemplate>(), 408usize, @@ -29,42 +32,26 @@ fn bindgen_test_layout_ContainsOpaqueTemplate() { 4usize, concat!("Alignment of ", stringify!(ContainsOpaqueTemplate)) ); - fn test_field_mBlah() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContainsOpaqueTemplate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBlah) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContainsOpaqueTemplate), - "::", - stringify!(mBlah) - ) - ); - } - test_field_mBlah(); - fn test_field_mBaz() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContainsOpaqueTemplate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBaz) as usize - ptr as usize - }, - 404usize, - concat!( - "Offset of field: ", - stringify!(ContainsOpaqueTemplate), - "::", - stringify!(mBaz) - ) - ); - } - test_field_mBaz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBlah) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContainsOpaqueTemplate), + "::", + stringify!(mBlah) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBaz) as usize - ptr as usize }, + 404usize, + concat!( + "Offset of field: ", + stringify!(ContainsOpaqueTemplate), + "::", + stringify!(mBaz) + ) + ); } impl Default for ContainsOpaqueTemplate { fn default() -> Self { @@ -89,6 +76,9 @@ pub struct InheritsOpaqueTemplate { } #[test] fn bindgen_test_layout_InheritsOpaqueTemplate() { + const UNINIT: ::std::mem::MaybeUninit<InheritsOpaqueTemplate> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<InheritsOpaqueTemplate>(), 416usize, @@ -99,24 +89,16 @@ fn bindgen_test_layout_InheritsOpaqueTemplate() { 8usize, concat!("Alignment of ", stringify!(InheritsOpaqueTemplate)) ); - fn test_field_wow() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<InheritsOpaqueTemplate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).wow) as usize - ptr as usize - }, - 408usize, - concat!( - "Offset of field: ", - stringify!(InheritsOpaqueTemplate), - "::", - stringify!(wow) - ) - ); - } - test_field_wow(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wow) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(InheritsOpaqueTemplate), + "::", + stringify!(wow) + ) + ); } impl Default for InheritsOpaqueTemplate { fn default() -> Self { diff --git a/tests/expectations/tests/opaque-template-instantiation-namespaced.rs b/tests/expectations/tests/opaque-template-instantiation-namespaced.rs index 293f2a1b..3575216c 100644 --- a/tests/expectations/tests/opaque-template-instantiation-namespaced.rs +++ b/tests/expectations/tests/opaque-template-instantiation-namespaced.rs @@ -35,6 +35,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Foo() { + const UNINIT: ::std::mem::MaybeUninit<Foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Foo>(), 1usize, @@ -45,23 +48,18 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(Foo)) ); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Foo), - "::", - stringify!(c) - ) - ); - } - test_field_c(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Foo), + "::", + stringify!(c) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] @@ -70,6 +68,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 4usize, @@ -80,23 +81,18 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_i() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(i) - ) - ); - } - test_field_i(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(i) + ) + ); } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -105,6 +101,9 @@ pub mod root { } #[test] fn bindgen_test_layout_ContainsInstantiation() { + const UNINIT: ::std::mem::MaybeUninit<ContainsInstantiation> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContainsInstantiation>(), 1usize, @@ -115,26 +114,19 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(ContainsInstantiation)) ); - fn test_field_not_opaque() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - ContainsInstantiation, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).not_opaque) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContainsInstantiation), - "::", - stringify!(not_opaque) - ) - ); - } - test_field_not_opaque(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).not_opaque) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContainsInstantiation), + "::", + stringify!(not_opaque) + ) + ); } impl Default for ContainsInstantiation { fn default() -> Self { @@ -152,6 +144,9 @@ pub mod root { } #[test] fn bindgen_test_layout_ContainsOpaqueInstantiation() { + const UNINIT: ::std::mem::MaybeUninit<ContainsOpaqueInstantiation> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContainsOpaqueInstantiation>(), 4usize, @@ -165,26 +160,18 @@ pub mod root { stringify!(ContainsOpaqueInstantiation) ) ); - fn test_field_opaque() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - ContainsOpaqueInstantiation, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).opaque) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContainsOpaqueInstantiation), - "::", - stringify!(opaque) - ) - ); - } - test_field_opaque(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContainsOpaqueInstantiation), + "::", + stringify!(opaque) + ) + ); } } #[test] diff --git a/tests/expectations/tests/opaque-template-instantiation.rs b/tests/expectations/tests/opaque-template-instantiation.rs index 9f02920e..910c616f 100644 --- a/tests/expectations/tests/opaque-template-instantiation.rs +++ b/tests/expectations/tests/opaque-template-instantiation.rs @@ -27,6 +27,9 @@ pub struct ContainsInstantiation { } #[test] fn bindgen_test_layout_ContainsInstantiation() { + const UNINIT: ::std::mem::MaybeUninit<ContainsInstantiation> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContainsInstantiation>(), 1usize, @@ -37,24 +40,18 @@ fn bindgen_test_layout_ContainsInstantiation() { 1usize, concat!("Alignment of ", stringify!(ContainsInstantiation)) ); - fn test_field_not_opaque() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContainsInstantiation>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).not_opaque) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContainsInstantiation), - "::", - stringify!(not_opaque) - ) - ); - } - test_field_not_opaque(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).not_opaque) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContainsInstantiation), + "::", + stringify!(not_opaque) + ) + ); } impl Default for ContainsInstantiation { fn default() -> Self { @@ -72,6 +69,9 @@ pub struct ContainsOpaqueInstantiation { } #[test] fn bindgen_test_layout_ContainsOpaqueInstantiation() { + const UNINIT: ::std::mem::MaybeUninit<ContainsOpaqueInstantiation> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContainsOpaqueInstantiation>(), 4usize, @@ -82,25 +82,16 @@ fn bindgen_test_layout_ContainsOpaqueInstantiation() { 4usize, concat!("Alignment of ", stringify!(ContainsOpaqueInstantiation)) ); - fn test_field_opaque() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - ContainsOpaqueInstantiation, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContainsOpaqueInstantiation), - "::", - stringify!(opaque) - ) - ); - } - test_field_opaque(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContainsOpaqueInstantiation), + "::", + stringify!(opaque) + ) + ); } #[test] fn __bindgen_test_layout_Template_open0_char_close0_instantiation() { diff --git a/tests/expectations/tests/opaque_in_struct.rs b/tests/expectations/tests/opaque_in_struct.rs index 4af91c4f..0d13b121 100644 --- a/tests/expectations/tests/opaque_in_struct.rs +++ b/tests/expectations/tests/opaque_in_struct.rs @@ -32,6 +32,9 @@ pub struct container { } #[test] fn bindgen_test_layout_container() { + const UNINIT: ::std::mem::MaybeUninit<container> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<container>(), 4usize, @@ -42,21 +45,16 @@ fn bindgen_test_layout_container() { 4usize, concat!("Alignment of ", stringify!(container)) ); - fn test_field_contained() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<container>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).contained) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(container), - "::", - stringify!(contained) - ) - ); - } - test_field_contained(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).contained) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(container), + "::", + stringify!(contained) + ) + ); } diff --git a/tests/expectations/tests/opaque_pointer.rs b/tests/expectations/tests/opaque_pointer.rs index 7230c3c0..13b8cc36 100644 --- a/tests/expectations/tests/opaque_pointer.rs +++ b/tests/expectations/tests/opaque_pointer.rs @@ -40,6 +40,9 @@ pub struct WithOpaquePtr { } #[test] fn bindgen_test_layout_WithOpaquePtr() { + const UNINIT: ::std::mem::MaybeUninit<WithOpaquePtr> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithOpaquePtr>(), 16usize, @@ -50,57 +53,38 @@ fn bindgen_test_layout_WithOpaquePtr() { 8usize, concat!("Alignment of ", stringify!(WithOpaquePtr)) ); - fn test_field_whatever() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithOpaquePtr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).whatever) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithOpaquePtr), - "::", - stringify!(whatever) - ) - ); - } - test_field_whatever(); - fn test_field_other() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithOpaquePtr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(WithOpaquePtr), - "::", - stringify!(other) - ) - ); - } - test_field_other(); - fn test_field_t() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithOpaquePtr>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).t) as usize - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(WithOpaquePtr), - "::", - stringify!(t) - ) - ); - } - test_field_t(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).whatever) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithOpaquePtr), + "::", + stringify!(whatever) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(WithOpaquePtr), + "::", + stringify!(other) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).t) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(WithOpaquePtr), + "::", + stringify!(t) + ) + ); } impl Default for WithOpaquePtr { fn default() -> Self { diff --git a/tests/expectations/tests/packed-n-with-padding.rs b/tests/expectations/tests/packed-n-with-padding.rs index 6e749b1b..b171b1da 100644 --- a/tests/expectations/tests/packed-n-with-padding.rs +++ b/tests/expectations/tests/packed-n-with-padding.rs @@ -15,6 +15,9 @@ pub struct Packed { } #[test] fn bindgen_test_layout_Packed() { + const UNINIT: ::std::mem::MaybeUninit<Packed> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Packed>(), 10usize, @@ -25,72 +28,24 @@ fn bindgen_test_layout_Packed() { 2usize, concat!("Alignment of ", stringify!(Packed)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Packed>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Packed), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Packed>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(Packed), - "::", - stringify!(b) - ) - ); - } - test_field_b(); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Packed>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(Packed), - "::", - stringify!(c) - ) - ); - } - test_field_c(); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Packed>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(Packed), - "::", - stringify!(d) - ) - ); - } - test_field_d(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Packed), "::", stringify!(a)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 2usize, + concat!("Offset of field: ", stringify!(Packed), "::", stringify!(b)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Packed), "::", stringify!(c)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 6usize, + concat!("Offset of field: ", stringify!(Packed), "::", stringify!(d)) + ); } diff --git a/tests/expectations/tests/pointer-attr.rs b/tests/expectations/tests/pointer-attr.rs new file mode 100644 index 00000000..95fe9c5f --- /dev/null +++ b/tests/expectations/tests/pointer-attr.rs @@ -0,0 +1,10 @@ +#![allow( + dead_code, + non_snake_case, + non_camel_case_types, + non_upper_case_globals +)] + +extern "C" { + pub fn a(arg1: *const ::std::os::raw::c_char); +} diff --git a/tests/expectations/tests/private.rs b/tests/expectations/tests/private.rs index 63b56768..ab57d37f 100644 --- a/tests/expectations/tests/private.rs +++ b/tests/expectations/tests/private.rs @@ -14,6 +14,9 @@ pub struct HasPrivate { } #[test] fn bindgen_test_layout_HasPrivate() { + const UNINIT: ::std::mem::MaybeUninit<HasPrivate> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<HasPrivate>(), 8usize, @@ -24,40 +27,30 @@ fn bindgen_test_layout_HasPrivate() { 4usize, concat!("Alignment of ", stringify!(HasPrivate)) ); - fn test_field_mNotPrivate() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<HasPrivate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mNotPrivate) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(HasPrivate), - "::", - stringify!(mNotPrivate) - ) - ); - } - test_field_mNotPrivate(); - fn test_field_mIsPrivate() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<HasPrivate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mIsPrivate) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(HasPrivate), - "::", - stringify!(mIsPrivate) - ) - ); - } - test_field_mIsPrivate(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mNotPrivate) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HasPrivate), + "::", + stringify!(mNotPrivate) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mIsPrivate) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(HasPrivate), + "::", + stringify!(mIsPrivate) + ) + ); } /// <div rustbindgen private></div> #[repr(C)] @@ -68,6 +61,9 @@ pub struct VeryPrivate { } #[test] fn bindgen_test_layout_VeryPrivate() { + const UNINIT: ::std::mem::MaybeUninit<VeryPrivate> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<VeryPrivate>(), 8usize, @@ -78,41 +74,30 @@ fn bindgen_test_layout_VeryPrivate() { 4usize, concat!("Alignment of ", stringify!(VeryPrivate)) ); - fn test_field_mIsPrivate() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<VeryPrivate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mIsPrivate) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(VeryPrivate), - "::", - stringify!(mIsPrivate) - ) - ); - } - test_field_mIsPrivate(); - fn test_field_mIsAlsoPrivate() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<VeryPrivate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mIsAlsoPrivate) as usize - - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(VeryPrivate), - "::", - stringify!(mIsAlsoPrivate) - ) - ); - } - test_field_mIsAlsoPrivate(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mIsPrivate) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(VeryPrivate), + "::", + stringify!(mIsPrivate) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mIsAlsoPrivate) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(VeryPrivate), + "::", + stringify!(mIsAlsoPrivate) + ) + ); } /// <div rustbindgen private></div> #[repr(C)] @@ -124,6 +109,9 @@ pub struct ContradictPrivate { } #[test] fn bindgen_test_layout_ContradictPrivate() { + const UNINIT: ::std::mem::MaybeUninit<ContradictPrivate> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContradictPrivate>(), 8usize, @@ -134,40 +122,28 @@ fn bindgen_test_layout_ContradictPrivate() { 4usize, concat!("Alignment of ", stringify!(ContradictPrivate)) ); - fn test_field_mNotPrivate() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContradictPrivate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mNotPrivate) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContradictPrivate), - "::", - stringify!(mNotPrivate) - ) - ); - } - test_field_mNotPrivate(); - fn test_field_mIsPrivate() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContradictPrivate>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mIsPrivate) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(ContradictPrivate), - "::", - stringify!(mIsPrivate) - ) - ); - } - test_field_mIsPrivate(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mNotPrivate) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContradictPrivate), + "::", + stringify!(mNotPrivate) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mIsPrivate) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ContradictPrivate), + "::", + stringify!(mIsPrivate) + ) + ); } diff --git a/tests/expectations/tests/private_fields.rs b/tests/expectations/tests/private_fields.rs index bea0fa4c..8db332a5 100644 --- a/tests/expectations/tests/private_fields.rs +++ b/tests/expectations/tests/private_fields.rs @@ -99,6 +99,9 @@ pub struct PubPriv { } #[test] fn bindgen_test_layout_PubPriv() { + const UNINIT: ::std::mem::MaybeUninit<PubPriv> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<PubPriv>(), 8usize, @@ -109,40 +112,26 @@ fn bindgen_test_layout_PubPriv() { 4usize, concat!("Alignment of ", stringify!(PubPriv)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PubPriv>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(PubPriv), - "::", - stringify!(x) - ) - ); - } - test_field_x(); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<PubPriv>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(PubPriv), - "::", - stringify!(y) - ) - ); - } - test_field_y(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PubPriv), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PubPriv), + "::", + stringify!(y) + ) + ); } #[repr(C)] #[repr(align(4))] @@ -349,6 +338,9 @@ pub struct Base { } #[test] fn bindgen_test_layout_Base() { + const UNINIT: ::std::mem::MaybeUninit<Base> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Base>(), 4usize, @@ -359,23 +351,16 @@ fn bindgen_test_layout_Base() { 4usize, concat!("Alignment of ", stringify!(Base)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Base>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Base), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Base), + "::", + stringify!(member) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -426,6 +411,9 @@ pub struct WithAnonStruct__bindgen_ty_1 { } #[test] fn bindgen_test_layout_WithAnonStruct__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<WithAnonStruct__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithAnonStruct__bindgen_ty_1>(), 4usize, @@ -436,25 +424,16 @@ fn bindgen_test_layout_WithAnonStruct__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(WithAnonStruct__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - WithAnonStruct__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithAnonStruct__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithAnonStruct__bindgen_ty_1), + "::", + stringify!(a) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -463,6 +442,9 @@ pub struct WithAnonStruct__bindgen_ty_2 { } #[test] fn bindgen_test_layout_WithAnonStruct__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<WithAnonStruct__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithAnonStruct__bindgen_ty_2>(), 4usize, @@ -473,25 +455,16 @@ fn bindgen_test_layout_WithAnonStruct__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(WithAnonStruct__bindgen_ty_2)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - WithAnonStruct__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithAnonStruct__bindgen_ty_2), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithAnonStruct__bindgen_ty_2), + "::", + stringify!(b) + ) + ); } #[test] fn bindgen_test_layout_WithAnonStruct() { diff --git a/tests/expectations/tests/reparented_replacement.rs b/tests/expectations/tests/reparented_replacement.rs index f8426c28..d9d13c1a 100644 --- a/tests/expectations/tests/reparented_replacement.rs +++ b/tests/expectations/tests/reparented_replacement.rs @@ -20,6 +20,9 @@ pub mod root { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 4usize, @@ -30,24 +33,18 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_bazz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bazz) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(bazz) - ) - ); - } - test_field_bazz(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).bazz) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(bazz) + ) + ); } } pub type ReferencesBar = root::foo::Bar; diff --git a/tests/expectations/tests/replace_use.rs b/tests/expectations/tests/replace_use.rs index 9478801f..d4228e12 100644 --- a/tests/expectations/tests/replace_use.rs +++ b/tests/expectations/tests/replace_use.rs @@ -18,6 +18,9 @@ pub struct Test { } #[test] fn bindgen_test_layout_Test() { + const UNINIT: ::std::mem::MaybeUninit<Test> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Test>(), 4usize, @@ -28,18 +31,11 @@ fn bindgen_test_layout_Test() { 4usize, concat!("Alignment of ", stringify!(Test)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(Test), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(a)) + ); } #[test] fn __bindgen_test_layout_nsTArray_open0_long_close0_instantiation() { diff --git a/tests/expectations/tests/repr-align.rs b/tests/expectations/tests/repr-align.rs index 3f00fce3..c6fee20d 100644 --- a/tests/expectations/tests/repr-align.rs +++ b/tests/expectations/tests/repr-align.rs @@ -15,6 +15,9 @@ pub struct a { } #[test] fn bindgen_test_layout_a() { + const UNINIT: ::std::mem::MaybeUninit<a> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<a>(), 8usize, @@ -25,30 +28,16 @@ fn bindgen_test_layout_a() { 8usize, concat!("Alignment of ", stringify!(a)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<a>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(a), "::", stringify!(b)) - ); - } - test_field_b(); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<a>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 4usize, - concat!("Offset of field: ", stringify!(a), "::", stringify!(c)) - ); - } - test_field_c(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(a), "::", stringify!(b)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(a), "::", stringify!(c)) + ); } #[repr(C)] #[repr(align(8))] @@ -59,6 +48,9 @@ pub struct b { } #[test] fn bindgen_test_layout_b() { + const UNINIT: ::std::mem::MaybeUninit<b> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<b>(), 8usize, @@ -69,28 +61,14 @@ fn bindgen_test_layout_b() { 8usize, concat!("Alignment of ", stringify!(b)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<b>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(b), "::", stringify!(b)) - ); - } - test_field_b(); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<b>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 4usize, - concat!("Offset of field: ", stringify!(b), "::", stringify!(c)) - ); - } - test_field_c(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(b), "::", stringify!(b)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(b), "::", stringify!(c)) + ); } diff --git a/tests/expectations/tests/same_struct_name_in_different_namespaces.rs b/tests/expectations/tests/same_struct_name_in_different_namespaces.rs index 294861d1..80024761 100644 --- a/tests/expectations/tests/same_struct_name_in_different_namespaces.rs +++ b/tests/expectations/tests/same_struct_name_in_different_namespaces.rs @@ -18,6 +18,9 @@ pub struct JS_shadow_Zone { } #[test] fn bindgen_test_layout_JS_shadow_Zone() { + const UNINIT: ::std::mem::MaybeUninit<JS_shadow_Zone> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<JS_shadow_Zone>(), 8usize, @@ -28,40 +31,24 @@ fn bindgen_test_layout_JS_shadow_Zone() { 4usize, concat!("Alignment of ", stringify!(JS_shadow_Zone)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<JS_shadow_Zone>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(JS_shadow_Zone), - "::", - stringify!(x) - ) - ); - } - test_field_x(); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<JS_shadow_Zone>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(JS_shadow_Zone), - "::", - stringify!(y) - ) - ); - } - test_field_y(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JS_shadow_Zone), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(JS_shadow_Zone), + "::", + stringify!(y) + ) + ); } diff --git a/tests/expectations/tests/sentry-defined-multiple-times.rs b/tests/expectations/tests/sentry-defined-multiple-times.rs index bf76d0e1..48f8ca81 100644 --- a/tests/expectations/tests/sentry-defined-multiple-times.rs +++ b/tests/expectations/tests/sentry-defined-multiple-times.rs @@ -29,6 +29,9 @@ pub mod root { } #[test] fn bindgen_test_layout_sentry() { + const UNINIT: ::std::mem::MaybeUninit<sentry> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<sentry>(), 1usize, @@ -39,25 +42,19 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(sentry)) ); - fn test_field_i_am_plain_sentry() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<sentry>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i_am_plain_sentry) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(sentry), - "::", - stringify!(i_am_plain_sentry) - ) - ); - } - test_field_i_am_plain_sentry(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).i_am_plain_sentry) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sentry), + "::", + stringify!(i_am_plain_sentry) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -84,6 +81,9 @@ pub mod root { } #[test] fn bindgen_test_layout_NotTemplateWrapper_sentry() { + const UNINIT: ::std::mem::MaybeUninit<NotTemplateWrapper_sentry> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<NotTemplateWrapper_sentry>(), 1usize, @@ -94,28 +94,21 @@ pub mod root { 1usize, concat!("Alignment of ", stringify!(NotTemplateWrapper_sentry)) ); - fn test_field_i_am_not_template_wrapper_sentry() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - NotTemplateWrapper_sentry, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!( - (*ptr).i_am_not_template_wrapper_sentry - ) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NotTemplateWrapper_sentry), - "::", - stringify!(i_am_not_template_wrapper_sentry) - ) - ); - } - test_field_i_am_not_template_wrapper_sentry(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!( + (*ptr).i_am_not_template_wrapper_sentry + ) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NotTemplateWrapper_sentry), + "::", + stringify!(i_am_not_template_wrapper_sentry) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -129,6 +122,10 @@ pub mod root { } #[test] fn bindgen_test_layout_InlineNotTemplateWrapper_sentry() { + const UNINIT: ::std::mem::MaybeUninit< + InlineNotTemplateWrapper_sentry, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<InlineNotTemplateWrapper_sentry>(), 1usize, @@ -145,28 +142,21 @@ pub mod root { stringify!(InlineNotTemplateWrapper_sentry) ) ); - fn test_field_i_am_inline_not_template_wrapper_sentry() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - InlineNotTemplateWrapper_sentry, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!( - (*ptr).i_am_inline_not_template_wrapper_sentry - ) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(InlineNotTemplateWrapper_sentry), - "::", - stringify!(i_am_inline_not_template_wrapper_sentry) - ) - ); - } - test_field_i_am_inline_not_template_wrapper_sentry(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!( + (*ptr).i_am_inline_not_template_wrapper_sentry + ) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(InlineNotTemplateWrapper_sentry), + "::", + stringify!(i_am_inline_not_template_wrapper_sentry) + ) + ); } #[test] fn bindgen_test_layout_InlineNotTemplateWrapper() { @@ -240,6 +230,10 @@ pub mod root { } #[test] fn bindgen_test_layout_OuterDoubleWrapper_InnerDoubleWrapper_sentry() { + const UNINIT: ::std::mem::MaybeUninit< + OuterDoubleWrapper_InnerDoubleWrapper_sentry, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::< OuterDoubleWrapper_InnerDoubleWrapper_sentry, @@ -260,29 +254,20 @@ pub mod root { stringify!(OuterDoubleWrapper_InnerDoubleWrapper_sentry) ) ); - fn test_field_i_am_double_wrapper_sentry() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - OuterDoubleWrapper_InnerDoubleWrapper_sentry, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i_am_double_wrapper_sentry) - as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!( - OuterDoubleWrapper_InnerDoubleWrapper_sentry - ), - "::", - stringify!(i_am_double_wrapper_sentry) - ) - ); - } - test_field_i_am_double_wrapper_sentry(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).i_am_double_wrapper_sentry) + as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OuterDoubleWrapper_InnerDoubleWrapper_sentry), + "::", + stringify!(i_am_double_wrapper_sentry) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] @@ -302,12 +287,13 @@ pub mod root { #[test] fn bindgen_test_layout_OuterDoubleInlineWrapper_InnerDoubleInlineWrapper_sentry( ) { + const UNINIT: ::std::mem::MaybeUninit< + OuterDoubleInlineWrapper_InnerDoubleInlineWrapper_sentry, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq ! (:: std :: mem :: size_of :: < OuterDoubleInlineWrapper_InnerDoubleInlineWrapper_sentry > () , 4usize , concat ! ("Size of: " , stringify ! (OuterDoubleInlineWrapper_InnerDoubleInlineWrapper_sentry))); assert_eq ! (:: std :: mem :: align_of :: < OuterDoubleInlineWrapper_InnerDoubleInlineWrapper_sentry > () , 4usize , concat ! ("Alignment of " , stringify ! (OuterDoubleInlineWrapper_InnerDoubleInlineWrapper_sentry))); - fn test_field_i_am_double_wrapper_inline_sentry() { - assert_eq ! (unsafe { let uninit = :: std :: mem :: MaybeUninit :: < OuterDoubleInlineWrapper_InnerDoubleInlineWrapper_sentry > :: uninit () ; let ptr = uninit . as_ptr () ; :: std :: ptr :: addr_of ! ((* ptr) . i_am_double_wrapper_inline_sentry) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OuterDoubleInlineWrapper_InnerDoubleInlineWrapper_sentry) , "::" , stringify ! (i_am_double_wrapper_inline_sentry))); - } - test_field_i_am_double_wrapper_inline_sentry(); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . i_am_double_wrapper_inline_sentry) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OuterDoubleInlineWrapper_InnerDoubleInlineWrapper_sentry) , "::" , stringify ! (i_am_double_wrapper_inline_sentry))); } #[test] fn bindgen_test_layout_OuterDoubleInlineWrapper_InnerDoubleInlineWrapper( @@ -368,6 +354,9 @@ pub mod root { } #[test] fn bindgen_test_layout_sentry() { + const UNINIT: ::std::mem::MaybeUninit<sentry> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<sentry>(), 4usize, @@ -378,24 +367,19 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(sentry)) ); - fn test_field_i_am_outside_namespace_sentry() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<sentry>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).i_am_outside_namespace_sentry) - as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(sentry), - "::", - stringify!(i_am_outside_namespace_sentry) - ) - ); - } - test_field_i_am_outside_namespace_sentry(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).i_am_outside_namespace_sentry) + as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sentry), + "::", + stringify!(i_am_outside_namespace_sentry) + ) + ); } } diff --git a/tests/expectations/tests/size_t_is_usize.rs b/tests/expectations/tests/size_t_is_usize.rs index f4e4b79b..2397e0a5 100644 --- a/tests/expectations/tests/size_t_is_usize.rs +++ b/tests/expectations/tests/size_t_is_usize.rs @@ -14,6 +14,9 @@ pub struct A { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 24usize, @@ -24,47 +27,21 @@ fn bindgen_test_layout_A() { 8usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_len() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(len)) - ); - } - test_field_len(); - fn test_field_offset() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(A), - "::", - stringify!(offset) - ) - ); - } - test_field_offset(); - fn test_field_next() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize - }, - 16usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(next)) - ); - } - test_field_next(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(len)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(offset)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize }, + 16usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(next)) + ); } impl Default for A { fn default() -> Self { diff --git a/tests/expectations/tests/size_t_template.rs b/tests/expectations/tests/size_t_template.rs index 3c14d857..1aa8b9ac 100644 --- a/tests/expectations/tests/size_t_template.rs +++ b/tests/expectations/tests/size_t_template.rs @@ -12,6 +12,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 12usize, @@ -22,16 +25,9 @@ fn bindgen_test_layout_C() { 4usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_arr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(arr)) - ); - } - test_field_arr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(arr)) + ); } diff --git a/tests/expectations/tests/sorted-items.rs b/tests/expectations/tests/sorted-items.rs new file mode 100644 index 00000000..7df7c3d7 --- /dev/null +++ b/tests/expectations/tests/sorted-items.rs @@ -0,0 +1,82 @@ +#![allow( + dead_code, + non_snake_case, + non_camel_case_types, + non_upper_case_globals +)] + +pub type number = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Point { + pub x: number, + pub y: number, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Angle { + pub a: number, + pub b: number, +} +pub const NUMBER: number = 42; +#[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>(), + 8usize, + 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)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Point), "::", stringify!(y)) + ); +} +#[test] +fn bindgen_test_layout_Angle() { + const UNINIT: ::std::mem::MaybeUninit<Angle> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<Angle>(), + 8usize, + concat!("Size of: ", stringify!(Angle)) + ); + assert_eq!( + ::std::mem::align_of::<Angle>(), + 4usize, + concat!("Alignment of ", stringify!(Angle)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Angle), "::", stringify!(a)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Angle), "::", stringify!(b)) + ); +} +extern "C" { + pub fn foo() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn bar(x: number) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn baz(point: Point) -> ::std::os::raw::c_int; +} diff --git a/tests/expectations/tests/struct_containing_forward_declared_struct.rs b/tests/expectations/tests/struct_containing_forward_declared_struct.rs index bd1419c6..8279fe1f 100644 --- a/tests/expectations/tests/struct_containing_forward_declared_struct.rs +++ b/tests/expectations/tests/struct_containing_forward_declared_struct.rs @@ -12,6 +12,9 @@ pub struct a { } #[test] fn bindgen_test_layout_a() { + const UNINIT: ::std::mem::MaybeUninit<a> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<a>(), 8usize, @@ -22,23 +25,11 @@ fn bindgen_test_layout_a() { 8usize, concat!("Alignment of ", stringify!(a)) ); - fn test_field_val_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<a>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).val_a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(a), - "::", - stringify!(val_a) - ) - ); - } - test_field_val_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).val_a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(a), "::", stringify!(val_a)) + ); } impl Default for a { fn default() -> Self { @@ -56,6 +47,9 @@ pub struct b { } #[test] fn bindgen_test_layout_b() { + const UNINIT: ::std::mem::MaybeUninit<b> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<b>(), 4usize, @@ -66,21 +60,9 @@ fn bindgen_test_layout_b() { 4usize, concat!("Alignment of ", stringify!(b)) ); - fn test_field_val_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<b>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).val_b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(b), - "::", - stringify!(val_b) - ) - ); - } - test_field_val_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).val_b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(b), "::", stringify!(val_b)) + ); } diff --git a/tests/expectations/tests/struct_typedef.rs b/tests/expectations/tests/struct_typedef.rs index 1eab593e..f9d7fedb 100644 --- a/tests/expectations/tests/struct_typedef.rs +++ b/tests/expectations/tests/struct_typedef.rs @@ -12,6 +12,9 @@ pub struct typedef_named_struct { } #[test] fn bindgen_test_layout_typedef_named_struct() { + const UNINIT: ::std::mem::MaybeUninit<typedef_named_struct> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<typedef_named_struct>(), 1usize, @@ -22,24 +25,18 @@ fn bindgen_test_layout_typedef_named_struct() { 1usize, concat!("Alignment of ", stringify!(typedef_named_struct)) ); - fn test_field_has_name() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<typedef_named_struct>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).has_name) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(typedef_named_struct), - "::", - stringify!(has_name) - ) - ); - } - test_field_has_name(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).has_name) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(typedef_named_struct), + "::", + stringify!(has_name) + ) + ); } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -48,6 +45,9 @@ pub struct _bindgen_ty_1 { } #[test] fn bindgen_test_layout__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_bindgen_ty_1>(), 8usize, @@ -58,23 +58,16 @@ fn bindgen_test_layout__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(_bindgen_ty_1)) ); - fn test_field_no_name() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<_bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).no_name) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_bindgen_ty_1), - "::", - stringify!(no_name) - ) - ); - } - test_field_no_name(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).no_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(no_name) + ) + ); } impl Default for _bindgen_ty_1 { fn default() -> Self { diff --git a/tests/expectations/tests/struct_typedef_ns.rs b/tests/expectations/tests/struct_typedef_ns.rs index 8b113567..2bad358a 100644 --- a/tests/expectations/tests/struct_typedef_ns.rs +++ b/tests/expectations/tests/struct_typedef_ns.rs @@ -19,6 +19,9 @@ pub mod root { } #[test] fn bindgen_test_layout_typedef_struct() { + const UNINIT: ::std::mem::MaybeUninit<typedef_struct> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<typedef_struct>(), 4usize, @@ -29,24 +32,18 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(typedef_struct)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<typedef_struct>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(typedef_struct), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(typedef_struct), + "::", + stringify!(foo) + ) + ); } #[repr(u32)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] @@ -64,6 +61,9 @@ pub mod root { } #[test] fn bindgen_test_layout__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<_bindgen_ty_1>(), 4usize, @@ -74,24 +74,18 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(_bindgen_ty_1)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<_bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_bindgen_ty_1), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(foo) + ) + ); } pub type typedef_struct = root::_bindgen_mod_id_12::_bindgen_ty_1; pub const _bindgen_mod_id_12_BAR: diff --git a/tests/expectations/tests/struct_with_anon_struct.rs b/tests/expectations/tests/struct_with_anon_struct.rs index 88e1d7b5..238400a1 100644 --- a/tests/expectations/tests/struct_with_anon_struct.rs +++ b/tests/expectations/tests/struct_with_anon_struct.rs @@ -18,6 +18,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 8usize, @@ -28,45 +31,32 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -77,21 +67,9 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } diff --git a/tests/expectations/tests/struct_with_anon_struct_array.rs b/tests/expectations/tests/struct_with_anon_struct_array.rs index b5566993..f3af6b60 100644 --- a/tests/expectations/tests/struct_with_anon_struct_array.rs +++ b/tests/expectations/tests/struct_with_anon_struct_array.rs @@ -19,6 +19,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 8usize, @@ -29,42 +32,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] @@ -74,6 +61,9 @@ pub struct foo__bindgen_ty_2 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_2>(), 8usize, @@ -84,45 +74,32 @@ fn bindgen_test_layout_foo__bindgen_ty_2() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_2), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_2), + "::", + stringify!(b) + ) + ); } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 208usize, @@ -133,38 +110,14 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 16usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(baz)) + ); } diff --git a/tests/expectations/tests/struct_with_anon_struct_pointer.rs b/tests/expectations/tests/struct_with_anon_struct_pointer.rs index 5050ef45..5bb10079 100644 --- a/tests/expectations/tests/struct_with_anon_struct_pointer.rs +++ b/tests/expectations/tests/struct_with_anon_struct_pointer.rs @@ -18,6 +18,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 8usize, @@ -28,45 +31,32 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -77,23 +67,11 @@ fn bindgen_test_layout_foo() { 8usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/struct_with_anon_union.rs b/tests/expectations/tests/struct_with_anon_union.rs index 37f07476..08aab0a9 100644 --- a/tests/expectations/tests/struct_with_anon_union.rs +++ b/tests/expectations/tests/struct_with_anon_union.rs @@ -18,6 +18,9 @@ pub union foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 4usize, @@ -28,42 +31,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Default for foo__bindgen_ty_1 { fn default() -> Self { @@ -76,6 +63,9 @@ impl Default for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -86,23 +76,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/struct_with_anon_union_1_0.rs b/tests/expectations/tests/struct_with_anon_union_1_0.rs index 03e0efc7..8db33d11 100644 --- a/tests/expectations/tests/struct_with_anon_union_1_0.rs +++ b/tests/expectations/tests/struct_with_anon_union_1_0.rs @@ -62,6 +62,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 4usize, @@ -72,42 +75,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Clone for foo__bindgen_ty_1 { fn clone(&self) -> Self { @@ -116,6 +103,9 @@ impl Clone for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -126,23 +116,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Clone for foo { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/struct_with_anon_unnamed_struct.rs b/tests/expectations/tests/struct_with_anon_unnamed_struct.rs index 8916bcd4..56981065 100644 --- a/tests/expectations/tests/struct_with_anon_unnamed_struct.rs +++ b/tests/expectations/tests/struct_with_anon_unnamed_struct.rs @@ -18,6 +18,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 8usize, @@ -28,42 +31,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } #[test] fn bindgen_test_layout_foo() { diff --git a/tests/expectations/tests/struct_with_anon_unnamed_union.rs b/tests/expectations/tests/struct_with_anon_unnamed_union.rs index eb177c9b..499fc7a1 100644 --- a/tests/expectations/tests/struct_with_anon_unnamed_union.rs +++ b/tests/expectations/tests/struct_with_anon_unnamed_union.rs @@ -18,6 +18,9 @@ pub union foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 4usize, @@ -28,42 +31,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Default for foo__bindgen_ty_1 { fn default() -> Self { diff --git a/tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs b/tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs index 0098a404..55432d47 100644 --- a/tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs +++ b/tests/expectations/tests/struct_with_anon_unnamed_union_1_0.rs @@ -62,6 +62,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 4usize, @@ -72,42 +75,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Clone for foo__bindgen_ty_1 { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/struct_with_bitfields.rs b/tests/expectations/tests/struct_with_bitfields.rs index 00123956..a9be3006 100644 --- a/tests/expectations/tests/struct_with_bitfields.rs +++ b/tests/expectations/tests/struct_with_bitfields.rs @@ -102,6 +102,9 @@ pub struct bitfield { } #[test] fn bindgen_test_layout_bitfield() { + const UNINIT: ::std::mem::MaybeUninit<bitfield> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bitfield>(), 16usize, @@ -112,23 +115,16 @@ fn bindgen_test_layout_bitfield() { 4usize, concat!("Alignment of ", stringify!(bitfield)) ); - fn test_field_e() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bitfield>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).e) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(bitfield), - "::", - stringify!(e) - ) - ); - } - test_field_e(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(bitfield), + "::", + stringify!(e) + ) + ); } impl bitfield { #[inline] diff --git a/tests/expectations/tests/struct_with_derive_debug.rs b/tests/expectations/tests/struct_with_derive_debug.rs index a2729bbe..1bb7c77d 100644 --- a/tests/expectations/tests/struct_with_derive_debug.rs +++ b/tests/expectations/tests/struct_with_derive_debug.rs @@ -12,6 +12,9 @@ pub struct LittleArray { } #[test] fn bindgen_test_layout_LittleArray() { + const UNINIT: ::std::mem::MaybeUninit<LittleArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<LittleArray>(), 128usize, @@ -22,23 +25,16 @@ fn bindgen_test_layout_LittleArray() { 4usize, concat!("Alignment of ", stringify!(LittleArray)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<LittleArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(LittleArray), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(LittleArray), + "::", + stringify!(a) + ) + ); } #[repr(C)] #[derive(Copy, Clone)] @@ -47,6 +43,9 @@ pub struct BigArray { } #[test] fn bindgen_test_layout_BigArray() { + const UNINIT: ::std::mem::MaybeUninit<BigArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<BigArray>(), 132usize, @@ -57,23 +56,16 @@ fn bindgen_test_layout_BigArray() { 4usize, concat!("Alignment of ", stringify!(BigArray)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<BigArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(BigArray), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BigArray), + "::", + stringify!(a) + ) + ); } impl Default for BigArray { fn default() -> Self { @@ -91,6 +83,9 @@ pub struct WithLittleArray { } #[test] fn bindgen_test_layout_WithLittleArray() { + const UNINIT: ::std::mem::MaybeUninit<WithLittleArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithLittleArray>(), 128usize, @@ -101,24 +96,16 @@ fn bindgen_test_layout_WithLittleArray() { 4usize, concat!("Alignment of ", stringify!(WithLittleArray)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<WithLittleArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithLittleArray), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithLittleArray), + "::", + stringify!(a) + ) + ); } #[repr(C)] #[derive(Copy, Clone)] @@ -127,6 +114,9 @@ pub struct WithBigArray { } #[test] fn bindgen_test_layout_WithBigArray() { + const UNINIT: ::std::mem::MaybeUninit<WithBigArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithBigArray>(), 132usize, @@ -137,23 +127,16 @@ fn bindgen_test_layout_WithBigArray() { 4usize, concat!("Alignment of ", stringify!(WithBigArray)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigArray), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigArray), + "::", + stringify!(a) + ) + ); } impl Default for WithBigArray { fn default() -> Self { diff --git a/tests/expectations/tests/struct_with_large_array.rs b/tests/expectations/tests/struct_with_large_array.rs index e792f71a..9f2c0ecc 100644 --- a/tests/expectations/tests/struct_with_large_array.rs +++ b/tests/expectations/tests/struct_with_large_array.rs @@ -12,6 +12,9 @@ pub struct S { } #[test] fn bindgen_test_layout_S() { + const UNINIT: ::std::mem::MaybeUninit<S> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<S>(), 33usize, @@ -22,23 +25,18 @@ fn bindgen_test_layout_S() { 1usize, concat!("Alignment of ", stringify!(S)) ); - fn test_field_large_array() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<S>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(S), - "::", - stringify!(large_array) - ) - ); - } - test_field_large_array(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(S), + "::", + stringify!(large_array) + ) + ); } impl Default for S { fn default() -> Self { diff --git a/tests/expectations/tests/struct_with_nesting.rs b/tests/expectations/tests/struct_with_nesting.rs index 5b98fc49..ff177ff1 100644 --- a/tests/expectations/tests/struct_with_nesting.rs +++ b/tests/expectations/tests/struct_with_nesting.rs @@ -26,6 +26,9 @@ pub struct foo__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1__bindgen_ty_1>(), 4usize, @@ -36,44 +39,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_1() { 2usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1__bindgen_ty_1)) ); - fn test_field_c1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(c1) - ) - ); - } - test_field_c1(); - fn test_field_c2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c2) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(c2) - ) - ); - } - test_field_c2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(c1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(c2) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] @@ -85,6 +70,9 @@ pub struct foo__bindgen_ty_1__bindgen_ty_2 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1__bindgen_ty_2>(), 4usize, @@ -95,85 +83,52 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_2() { 1usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1__bindgen_ty_2)) ); - fn test_field_d1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(d1) - ) - ); - } - test_field_d1(); - fn test_field_d2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d2) as usize - ptr as usize - }, - 1usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(d2) - ) - ); - } - test_field_d2(); - fn test_field_d3() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d3) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(d3) - ) - ); - } - test_field_d3(); - fn test_field_d4() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d4) as usize - ptr as usize - }, - 3usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(d4) - ) - ); - } - test_field_d4(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(d1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d2) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(d2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d3) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(d3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d4) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(d4) + ) + ); } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 4usize, @@ -184,24 +139,16 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Default for foo__bindgen_ty_1 { fn default() -> Self { @@ -214,6 +161,9 @@ impl Default for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -224,18 +174,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/struct_with_nesting_1_0.rs b/tests/expectations/tests/struct_with_nesting_1_0.rs index 0a7e1ec9..af795b64 100644 --- a/tests/expectations/tests/struct_with_nesting_1_0.rs +++ b/tests/expectations/tests/struct_with_nesting_1_0.rs @@ -70,6 +70,9 @@ pub struct foo__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1__bindgen_ty_1>(), 4usize, @@ -80,44 +83,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_1() { 2usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1__bindgen_ty_1)) ); - fn test_field_c1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(c1) - ) - ); - } - test_field_c1(); - fn test_field_c2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c2) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(c2) - ) - ); - } - test_field_c2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(c1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(c2) + ) + ); } impl Clone for foo__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { @@ -134,6 +119,9 @@ pub struct foo__bindgen_ty_1__bindgen_ty_2 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1__bindgen_ty_2>(), 4usize, @@ -144,82 +132,46 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_2() { 1usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1__bindgen_ty_2)) ); - fn test_field_d1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(d1) - ) - ); - } - test_field_d1(); - fn test_field_d2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d2) as usize - ptr as usize - }, - 1usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(d2) - ) - ); - } - test_field_d2(); - fn test_field_d3() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d3) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(d3) - ) - ); - } - test_field_d3(); - fn test_field_d4() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d4) as usize - ptr as usize - }, - 3usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(d4) - ) - ); - } - test_field_d4(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(d1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d2) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(d2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d3) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(d3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d4) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(d4) + ) + ); } impl Clone for foo__bindgen_ty_1__bindgen_ty_2 { fn clone(&self) -> Self { @@ -228,6 +180,9 @@ impl Clone for foo__bindgen_ty_1__bindgen_ty_2 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 4usize, @@ -238,24 +193,16 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Clone for foo__bindgen_ty_1 { fn clone(&self) -> Self { @@ -264,6 +211,9 @@ impl Clone for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -274,18 +224,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); } impl Clone for foo { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/struct_with_packing.rs b/tests/expectations/tests/struct_with_packing.rs index c82edf28..b8ea17cd 100644 --- a/tests/expectations/tests/struct_with_packing.rs +++ b/tests/expectations/tests/struct_with_packing.rs @@ -13,6 +13,9 @@ pub struct a { } #[test] fn bindgen_test_layout_a() { + const UNINIT: ::std::mem::MaybeUninit<a> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<a>(), 3usize, @@ -23,28 +26,14 @@ fn bindgen_test_layout_a() { 1usize, concat!("Alignment of ", stringify!(a)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<a>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(a), "::", stringify!(b)) - ); - } - test_field_b(); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<a>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 1usize, - concat!("Offset of field: ", stringify!(a), "::", stringify!(c)) - ); - } - test_field_c(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(a), "::", stringify!(b)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 1usize, + concat!("Offset of field: ", stringify!(a), "::", stringify!(c)) + ); } diff --git a/tests/expectations/tests/struct_with_struct.rs b/tests/expectations/tests/struct_with_struct.rs index a8d06937..b1ee5db4 100644 --- a/tests/expectations/tests/struct_with_struct.rs +++ b/tests/expectations/tests/struct_with_struct.rs @@ -18,6 +18,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 8usize, @@ -28,45 +31,32 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(x) - ) - ); - } - test_field_x(); - fn test_field_y() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(y) - ) - ); - } - test_field_y(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(y) + ) + ); } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -77,21 +67,9 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } diff --git a/tests/expectations/tests/template.rs b/tests/expectations/tests/template.rs index 4de7b7aa..7637295a 100644 --- a/tests/expectations/tests/template.rs +++ b/tests/expectations/tests/template.rs @@ -68,6 +68,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 104usize, @@ -78,276 +81,180 @@ fn bindgen_test_layout_C() { 8usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_mB() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mB) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(mB)) - ); - } - test_field_mB(); - fn test_field_mBConstPtr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBConstPtr) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBConstPtr) - ) - ); - } - test_field_mBConstPtr(); - fn test_field_mBConstStructPtr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBConstStructPtr) as usize - - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBConstStructPtr) - ) - ); - } - test_field_mBConstStructPtr(); - fn test_field_mBConstStructPtrArray() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBConstStructPtrArray) as usize - - ptr as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBConstStructPtrArray) - ) - ); - } - test_field_mBConstStructPtrArray(); - fn test_field_mBConst() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBConst) as usize - ptr as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBConst) - ) - ); - } - test_field_mBConst(); - fn test_field_mBVolatile() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBVolatile) as usize - ptr as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBVolatile) - ) - ); - } - test_field_mBVolatile(); - fn test_field_mBConstBool() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBConstBool) as usize - ptr as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBConstBool) - ) - ); - } - test_field_mBConstBool(); - fn test_field_mBConstChar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBConstChar) as usize - ptr as usize - }, - 42usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBConstChar) - ) - ); - } - test_field_mBConstChar(); - fn test_field_mBArray() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBArray) as usize - ptr as usize - }, - 44usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBArray) - ) - ); - } - test_field_mBArray(); - fn test_field_mBPtrArray() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBPtrArray) as usize - ptr as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBPtrArray) - ) - ); - } - test_field_mBPtrArray(); - fn test_field_mBArrayPtr() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBArrayPtr) as usize - ptr as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBArrayPtr) - ) - ); - } - test_field_mBArrayPtr(); - fn test_field_mBRef() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBRef) as usize - ptr as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBRef) - ) - ); - } - test_field_mBRef(); - fn test_field_mBConstRef() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBConstRef) as usize - ptr as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBConstRef) - ) - ); - } - test_field_mBConstRef(); - fn test_field_mPtrRef() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mPtrRef) as usize - ptr as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mPtrRef) - ) - ); - } - test_field_mPtrRef(); - fn test_field_mArrayRef() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mArrayRef) as usize - ptr as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mArrayRef) - ) - ); - } - test_field_mArrayRef(); - fn test_field_mBConstArray() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBConstArray) as usize - - ptr as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(C), - "::", - stringify!(mBConstArray) - ) - ); - } - test_field_mBConstArray(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mB) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(mB)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBConstPtr) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBConstPtr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBConstStructPtr) as usize - + ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBConstStructPtr) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBConstStructPtrArray) as usize - + ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBConstStructPtrArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBConst) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBConst) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBVolatile) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBVolatile) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBConstBool) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBConstBool) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBConstChar) as usize - ptr as usize + }, + 42usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBConstChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBArray) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBArray) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBPtrArray) as usize - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBPtrArray) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBArrayPtr) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBArrayPtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBRef) as usize - ptr as usize }, + 64usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(mBRef)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBConstRef) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBConstRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mPtrRef) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mPtrRef) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mArrayRef) as usize - ptr as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mArrayRef) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mBConstArray) as usize - ptr as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(C), + "::", + stringify!(mBConstArray) + ) + ); } impl Default for C { fn default() -> Self { @@ -413,6 +320,9 @@ pub struct RootedContainer { } #[test] fn bindgen_test_layout_RootedContainer() { + const UNINIT: ::std::mem::MaybeUninit<RootedContainer> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<RootedContainer>(), 24usize, @@ -423,24 +333,16 @@ fn bindgen_test_layout_RootedContainer() { 8usize, concat!("Alignment of ", stringify!(RootedContainer)) ); - fn test_field_root() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<RootedContainer>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).root) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(RootedContainer), - "::", - stringify!(root) - ) - ); - } - test_field_root(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).root) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RootedContainer), + "::", + stringify!(root) + ) + ); } impl Default for RootedContainer { fn default() -> Self { @@ -474,6 +376,9 @@ pub struct PODButContainsDtor { } #[test] fn bindgen_test_layout_PODButContainsDtor() { + const UNINIT: ::std::mem::MaybeUninit<PODButContainsDtor> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<PODButContainsDtor>(), 4usize, @@ -484,24 +389,16 @@ fn bindgen_test_layout_PODButContainsDtor() { 4usize, concat!("Alignment of ", stringify!(PODButContainsDtor)) ); - fn test_field_member() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<PODButContainsDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(PODButContainsDtor), - "::", - stringify!(member) - ) - ); - } - test_field_member(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).member) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PODButContainsDtor), + "::", + stringify!(member) + ) + ); } impl Default for PODButContainsDtor { fn default() -> Self { @@ -525,6 +422,9 @@ pub struct POD { } #[test] fn bindgen_test_layout_POD() { + const UNINIT: ::std::mem::MaybeUninit<POD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<POD>(), 4usize, @@ -535,24 +435,18 @@ fn bindgen_test_layout_POD() { 4usize, concat!("Alignment of ", stringify!(POD)) ); - fn test_field_opaque_member() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<POD>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).opaque_member) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(POD), - "::", - stringify!(opaque_member) - ) - ); - } - test_field_opaque_member(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).opaque_member) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(POD), + "::", + stringify!(opaque_member) + ) + ); } /// <div rustbindgen replaces="NestedReplaced"></div> #[repr(C)] diff --git a/tests/expectations/tests/test_mixed_header_and_header_contents.rs b/tests/expectations/tests/test_mixed_header_and_header_contents.rs index 369d10d3..5f8da2af 100644 --- a/tests/expectations/tests/test_mixed_header_and_header_contents.rs +++ b/tests/expectations/tests/test_mixed_header_and_header_contents.rs @@ -33,6 +33,9 @@ pub struct Test { } #[test] fn bindgen_test_layout_Test() { + const UNINIT: ::std::mem::MaybeUninit<Test> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Test>(), 12usize, @@ -43,198 +46,69 @@ fn bindgen_test_layout_Test() { 1usize, concat!("Alignment of ", stringify!(Test)) ); - fn test_field_ch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ch) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(ch) - ) - ); - } - test_field_ch(); - fn test_field_u() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize - }, - 1usize, - concat!("Offset of field: ", stringify!(Test), "::", stringify!(u)) - ); - } - test_field_u(); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 2usize, - concat!("Offset of field: ", stringify!(Test), "::", stringify!(d)) - ); - } - test_field_d(); - fn test_field_cch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize - }, - 3usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(cch) - ) - ); - } - test_field_cch(); - fn test_field_cu() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cu) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(cu) - ) - ); - } - test_field_cu(); - fn test_field_cd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cd) as usize - ptr as usize - }, - 5usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(cd) - ) - ); - } - test_field_cd(); - fn test_field_Cch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Cch) as usize - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Cch) - ) - ); - } - test_field_Cch(); - fn test_field_Cu() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Cu) as usize - ptr as usize - }, - 7usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Cu) - ) - ); - } - test_field_Cu(); - fn test_field_Cd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Cd) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Cd) - ) - ); - } - test_field_Cd(); - fn test_field_Ccch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ccch) as usize - ptr as usize - }, - 9usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Ccch) - ) - ); - } - test_field_Ccch(); - fn test_field_Ccu() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ccu) as usize - ptr as usize - }, - 10usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Ccu) - ) - ); - } - test_field_Ccu(); - fn test_field_Ccd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ccd) as usize - ptr as usize - }, - 11usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Ccd) - ) - ); - } - test_field_Ccd(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ch) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(ch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 1usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(u)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 2usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(d)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize }, + 3usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(cch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cu) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(cu)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cd) as usize - ptr as usize }, + 5usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(cd)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cch) as usize - ptr as usize }, + 6usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cu) as usize - ptr as usize }, + 7usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cu)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cd) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cd)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ccch) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(Test), + "::", + stringify!(Ccch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ccu) as usize - ptr as usize }, + 10usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Ccu)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ccd) as usize - ptr as usize }, + 11usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Ccd)) + ); } diff --git a/tests/expectations/tests/test_multiple_header_calls_in_builder.rs b/tests/expectations/tests/test_multiple_header_calls_in_builder.rs index b05dd971..b594d70c 100644 --- a/tests/expectations/tests/test_multiple_header_calls_in_builder.rs +++ b/tests/expectations/tests/test_multiple_header_calls_in_builder.rs @@ -27,6 +27,9 @@ pub struct Test { } #[test] fn bindgen_test_layout_Test() { + const UNINIT: ::std::mem::MaybeUninit<Test> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Test>(), 12usize, @@ -37,198 +40,69 @@ fn bindgen_test_layout_Test() { 1usize, concat!("Alignment of ", stringify!(Test)) ); - fn test_field_ch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).ch) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(ch) - ) - ); - } - test_field_ch(); - fn test_field_u() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize - }, - 1usize, - concat!("Offset of field: ", stringify!(Test), "::", stringify!(u)) - ); - } - test_field_u(); - fn test_field_d() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize - }, - 2usize, - concat!("Offset of field: ", stringify!(Test), "::", stringify!(d)) - ); - } - test_field_d(); - fn test_field_cch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize - }, - 3usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(cch) - ) - ); - } - test_field_cch(); - fn test_field_cu() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cu) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(cu) - ) - ); - } - test_field_cu(); - fn test_field_cd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).cd) as usize - ptr as usize - }, - 5usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(cd) - ) - ); - } - test_field_cd(); - fn test_field_Cch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Cch) as usize - ptr as usize - }, - 6usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Cch) - ) - ); - } - test_field_Cch(); - fn test_field_Cu() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Cu) as usize - ptr as usize - }, - 7usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Cu) - ) - ); - } - test_field_Cu(); - fn test_field_Cd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Cd) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Cd) - ) - ); - } - test_field_Cd(); - fn test_field_Ccch() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ccch) as usize - ptr as usize - }, - 9usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Ccch) - ) - ); - } - test_field_Ccch(); - fn test_field_Ccu() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ccu) as usize - ptr as usize - }, - 10usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Ccu) - ) - ); - } - test_field_Ccu(); - fn test_field_Ccd() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Test>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).Ccd) as usize - ptr as usize - }, - 11usize, - concat!( - "Offset of field: ", - stringify!(Test), - "::", - stringify!(Ccd) - ) - ); - } - test_field_Ccd(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ch) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(ch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 1usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(u)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize }, + 2usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(d)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize }, + 3usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(cch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cu) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(cu)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cd) as usize - ptr as usize }, + 5usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(cd)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cch) as usize - ptr as usize }, + 6usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cu) as usize - ptr as usize }, + 7usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cu)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cd) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cd)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ccch) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(Test), + "::", + stringify!(Ccch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ccu) as usize - ptr as usize }, + 10usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Ccu)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ccd) as usize - ptr as usize }, + 11usize, + concat!("Offset of field: ", stringify!(Test), "::", stringify!(Ccd)) + ); } diff --git a/tests/expectations/tests/timex.rs b/tests/expectations/tests/timex.rs index 8f0677b1..dfcebdd2 100644 --- a/tests/expectations/tests/timex.rs +++ b/tests/expectations/tests/timex.rs @@ -100,6 +100,9 @@ pub struct timex { } #[test] fn bindgen_test_layout_timex() { + const UNINIT: ::std::mem::MaybeUninit<timex> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<timex>(), 48usize, @@ -110,23 +113,16 @@ fn bindgen_test_layout_timex() { 4usize, concat!("Alignment of ", stringify!(timex)) ); - fn test_field_tai() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<timex>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tai) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(timex), - "::", - stringify!(tai) - ) - ); - } - test_field_tai(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tai) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timex), + "::", + stringify!(tai) + ) + ); } impl Default for timex { fn default() -> Self { @@ -146,6 +142,9 @@ pub struct timex_named { } #[test] fn bindgen_test_layout_timex_named() { + const UNINIT: ::std::mem::MaybeUninit<timex_named> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<timex_named>(), 48usize, @@ -156,23 +155,16 @@ fn bindgen_test_layout_timex_named() { 4usize, concat!("Alignment of ", stringify!(timex_named)) ); - fn test_field_tai() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<timex_named>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).tai) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(timex_named), - "::", - stringify!(tai) - ) - ); - } - test_field_tai(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tai) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timex_named), + "::", + stringify!(tai) + ) + ); } impl Default for timex_named { fn default() -> Self { diff --git a/tests/expectations/tests/type-referenced-by-allowlisted-function.rs b/tests/expectations/tests/type-referenced-by-allowlisted-function.rs index 421abdc9..7ae042bc 100644 --- a/tests/expectations/tests/type-referenced-by-allowlisted-function.rs +++ b/tests/expectations/tests/type-referenced-by-allowlisted-function.rs @@ -12,6 +12,9 @@ pub struct dl_phdr_info { } #[test] fn bindgen_test_layout_dl_phdr_info() { + const UNINIT: ::std::mem::MaybeUninit<dl_phdr_info> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<dl_phdr_info>(), 4usize, @@ -22,23 +25,16 @@ fn bindgen_test_layout_dl_phdr_info() { 4usize, concat!("Alignment of ", stringify!(dl_phdr_info)) ); - fn test_field_x() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<dl_phdr_info>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(dl_phdr_info), - "::", - stringify!(x) - ) - ); - } - test_field_x(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(dl_phdr_info), + "::", + stringify!(x) + ) + ); } extern "C" { pub fn dl_iterate_phdr(arg1: *mut dl_phdr_info) -> ::std::os::raw::c_int; diff --git a/tests/expectations/tests/typeref.rs b/tests/expectations/tests/typeref.rs index f4b048c6..a3a31daf 100644 --- a/tests/expectations/tests/typeref.rs +++ b/tests/expectations/tests/typeref.rs @@ -12,6 +12,9 @@ pub struct mozilla_FragmentOrURL { } #[test] fn bindgen_test_layout_mozilla_FragmentOrURL() { + const UNINIT: ::std::mem::MaybeUninit<mozilla_FragmentOrURL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<mozilla_FragmentOrURL>(), 1usize, @@ -22,24 +25,18 @@ fn bindgen_test_layout_mozilla_FragmentOrURL() { 1usize, concat!("Alignment of ", stringify!(mozilla_FragmentOrURL)) ); - fn test_field_mIsLocalRef() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<mozilla_FragmentOrURL>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mIsLocalRef) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(mozilla_FragmentOrURL), - "::", - stringify!(mIsLocalRef) - ) - ); - } - test_field_mIsLocalRef(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mIsLocalRef) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mozilla_FragmentOrURL), + "::", + stringify!(mIsLocalRef) + ) + ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] @@ -93,6 +90,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 8usize, @@ -103,23 +103,11 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_mFoo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mFoo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(mFoo) - ) - ); - } - test_field_mFoo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFoo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(mFoo)) + ); } impl Default for Bar { fn default() -> Self { @@ -136,6 +124,9 @@ pub struct nsFoo { } #[test] fn bindgen_test_layout_nsFoo() { + const UNINIT: ::std::mem::MaybeUninit<nsFoo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<nsFoo>(), 8usize, @@ -146,23 +137,16 @@ fn bindgen_test_layout_nsFoo() { 8usize, concat!("Alignment of ", stringify!(nsFoo)) ); - fn test_field_mBar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsFoo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsFoo), - "::", - stringify!(mBar) - ) - ); - } - test_field_mBar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsFoo), + "::", + stringify!(mBar) + ) + ); } impl Default for nsFoo { fn default() -> Self { diff --git a/tests/expectations/tests/typeref_1_0.rs b/tests/expectations/tests/typeref_1_0.rs index 273a7741..8e4143c0 100644 --- a/tests/expectations/tests/typeref_1_0.rs +++ b/tests/expectations/tests/typeref_1_0.rs @@ -55,6 +55,9 @@ pub struct mozilla_FragmentOrURL { } #[test] fn bindgen_test_layout_mozilla_FragmentOrURL() { + const UNINIT: ::std::mem::MaybeUninit<mozilla_FragmentOrURL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<mozilla_FragmentOrURL>(), 1usize, @@ -65,24 +68,18 @@ fn bindgen_test_layout_mozilla_FragmentOrURL() { 1usize, concat!("Alignment of ", stringify!(mozilla_FragmentOrURL)) ); - fn test_field_mIsLocalRef() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<mozilla_FragmentOrURL>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mIsLocalRef) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(mozilla_FragmentOrURL), - "::", - stringify!(mIsLocalRef) - ) - ); - } - test_field_mIsLocalRef(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mIsLocalRef) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mozilla_FragmentOrURL), + "::", + stringify!(mIsLocalRef) + ) + ); } impl Clone for mozilla_FragmentOrURL { fn clone(&self) -> Self { @@ -131,6 +128,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 8usize, @@ -141,23 +141,11 @@ fn bindgen_test_layout_Bar() { 8usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_mFoo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mFoo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(mFoo) - ) - ); - } - test_field_mFoo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFoo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(mFoo)) + ); } impl Clone for Bar { fn clone(&self) -> Self { @@ -180,6 +168,9 @@ pub struct nsFoo { } #[test] fn bindgen_test_layout_nsFoo() { + const UNINIT: ::std::mem::MaybeUninit<nsFoo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<nsFoo>(), 8usize, @@ -190,23 +181,16 @@ fn bindgen_test_layout_nsFoo() { 8usize, concat!("Alignment of ", stringify!(nsFoo)) ); - fn test_field_mBar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsFoo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsFoo), - "::", - stringify!(mBar) - ) - ); - } - test_field_mBar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsFoo), + "::", + stringify!(mBar) + ) + ); } impl Clone for nsFoo { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/underscore.rs b/tests/expectations/tests/underscore.rs index a9c20d0e..bfc05ac1 100644 --- a/tests/expectations/tests/underscore.rs +++ b/tests/expectations/tests/underscore.rs @@ -13,6 +13,9 @@ pub struct ptr_t { } #[test] fn bindgen_test_layout_ptr_t() { + const UNINIT: ::std::mem::MaybeUninit<ptr_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ptr_t>(), 8usize, @@ -23,21 +26,9 @@ fn bindgen_test_layout_ptr_t() { 1usize, concat!("Alignment of ", stringify!(ptr_t)) ); - fn test_field__() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<ptr_t>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).__) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ptr_t), - "::", - stringify!(__) - ) - ); - } - test_field__(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(ptr_t), "::", stringify!(__)) + ); } diff --git a/tests/expectations/tests/union-align.rs b/tests/expectations/tests/union-align.rs index 53701694..062ea97a 100644 --- a/tests/expectations/tests/union-align.rs +++ b/tests/expectations/tests/union-align.rs @@ -13,6 +13,9 @@ pub union Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 16usize, @@ -23,23 +26,11 @@ fn bindgen_test_layout_Bar() { 16usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(foo) - ) - ); - } - test_field_foo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Bar), "::", stringify!(foo)) + ); } impl Default for Bar { fn default() -> Self { @@ -58,6 +49,9 @@ pub union Baz { } #[test] fn bindgen_test_layout_Baz() { + const UNINIT: ::std::mem::MaybeUninit<Baz> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Baz>(), 16usize, @@ -68,23 +62,11 @@ fn bindgen_test_layout_Baz() { 16usize, concat!("Alignment of ", stringify!(Baz)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Baz>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Baz), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Baz), "::", stringify!(bar)) + ); } impl Default for Baz { fn default() -> Self { diff --git a/tests/expectations/tests/union-in-ns.rs b/tests/expectations/tests/union-in-ns.rs index 28e7fa23..65f3f8f2 100644 --- a/tests/expectations/tests/union-in-ns.rs +++ b/tests/expectations/tests/union-in-ns.rs @@ -16,6 +16,9 @@ pub mod root { } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 4usize, @@ -26,23 +29,16 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(baz) + ) + ); } impl Default for bar { fn default() -> Self { diff --git a/tests/expectations/tests/union-in-ns_1_0.rs b/tests/expectations/tests/union-in-ns_1_0.rs index 2d0584a6..a057cc34 100644 --- a/tests/expectations/tests/union-in-ns_1_0.rs +++ b/tests/expectations/tests/union-in-ns_1_0.rs @@ -63,6 +63,9 @@ pub mod root { } #[test] fn bindgen_test_layout_bar() { + const UNINIT: ::std::mem::MaybeUninit<bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<bar>(), 4usize, @@ -73,23 +76,16 @@ pub mod root { 4usize, concat!("Alignment of ", stringify!(bar)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(bar), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(bar), + "::", + stringify!(baz) + ) + ); } impl Clone for bar { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/union_dtor.rs b/tests/expectations/tests/union_dtor.rs index 359005cb..085e5ca3 100644 --- a/tests/expectations/tests/union_dtor.rs +++ b/tests/expectations/tests/union_dtor.rs @@ -12,6 +12,9 @@ pub union UnionWithDtor { } #[test] fn bindgen_test_layout_UnionWithDtor() { + const UNINIT: ::std::mem::MaybeUninit<UnionWithDtor> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<UnionWithDtor>(), 8usize, @@ -22,40 +25,26 @@ fn bindgen_test_layout_UnionWithDtor() { 8usize, concat!("Alignment of ", stringify!(UnionWithDtor)) ); - fn test_field_mFoo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<UnionWithDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mFoo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(UnionWithDtor), - "::", - stringify!(mFoo) - ) - ); - } - test_field_mFoo(); - fn test_field_mBar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<UnionWithDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(UnionWithDtor), - "::", - stringify!(mBar) - ) - ); - } - test_field_mBar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFoo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(UnionWithDtor), + "::", + stringify!(mFoo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(UnionWithDtor), + "::", + stringify!(mBar) + ) + ); } extern "C" { #[link_name = "\u{1}_ZN13UnionWithDtorD1Ev"] diff --git a/tests/expectations/tests/union_dtor_1_0.rs b/tests/expectations/tests/union_dtor_1_0.rs index 68ebced5..67455aa8 100644 --- a/tests/expectations/tests/union_dtor_1_0.rs +++ b/tests/expectations/tests/union_dtor_1_0.rs @@ -57,6 +57,9 @@ pub struct UnionWithDtor { } #[test] fn bindgen_test_layout_UnionWithDtor() { + const UNINIT: ::std::mem::MaybeUninit<UnionWithDtor> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<UnionWithDtor>(), 8usize, @@ -67,40 +70,26 @@ fn bindgen_test_layout_UnionWithDtor() { 8usize, concat!("Alignment of ", stringify!(UnionWithDtor)) ); - fn test_field_mFoo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<UnionWithDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mFoo) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(UnionWithDtor), - "::", - stringify!(mFoo) - ) - ); - } - test_field_mFoo(); - fn test_field_mBar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<UnionWithDtor>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mBar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(UnionWithDtor), - "::", - stringify!(mBar) - ) - ); - } - test_field_mBar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFoo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(UnionWithDtor), + "::", + stringify!(mFoo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mBar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(UnionWithDtor), + "::", + stringify!(mBar) + ) + ); } extern "C" { #[link_name = "\u{1}_ZN13UnionWithDtorD1Ev"] diff --git a/tests/expectations/tests/union_fields.rs b/tests/expectations/tests/union_fields.rs index 7864ac15..9135ca3c 100644 --- a/tests/expectations/tests/union_fields.rs +++ b/tests/expectations/tests/union_fields.rs @@ -14,6 +14,9 @@ pub union nsStyleUnion { } #[test] fn bindgen_test_layout_nsStyleUnion() { + const UNINIT: ::std::mem::MaybeUninit<nsStyleUnion> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<nsStyleUnion>(), 8usize, @@ -24,57 +27,38 @@ fn bindgen_test_layout_nsStyleUnion() { 8usize, concat!("Alignment of ", stringify!(nsStyleUnion)) ); - fn test_field_mInt() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsStyleUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mInt) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsStyleUnion), - "::", - stringify!(mInt) - ) - ); - } - test_field_mInt(); - fn test_field_mFloat() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsStyleUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mFloat) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsStyleUnion), - "::", - stringify!(mFloat) - ) - ); - } - test_field_mFloat(); - fn test_field_mPointer() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsStyleUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mPointer) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsStyleUnion), - "::", - stringify!(mPointer) - ) - ); - } - test_field_mPointer(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mInt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsStyleUnion), + "::", + stringify!(mInt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFloat) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsStyleUnion), + "::", + stringify!(mFloat) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mPointer) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsStyleUnion), + "::", + stringify!(mPointer) + ) + ); } impl Default for nsStyleUnion { fn default() -> Self { diff --git a/tests/expectations/tests/union_fields_1_0.rs b/tests/expectations/tests/union_fields_1_0.rs index 5fccd4e1..b5f94bcd 100644 --- a/tests/expectations/tests/union_fields_1_0.rs +++ b/tests/expectations/tests/union_fields_1_0.rs @@ -58,6 +58,9 @@ pub struct nsStyleUnion { } #[test] fn bindgen_test_layout_nsStyleUnion() { + const UNINIT: ::std::mem::MaybeUninit<nsStyleUnion> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<nsStyleUnion>(), 8usize, @@ -68,57 +71,38 @@ fn bindgen_test_layout_nsStyleUnion() { 8usize, concat!("Alignment of ", stringify!(nsStyleUnion)) ); - fn test_field_mInt() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsStyleUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mInt) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsStyleUnion), - "::", - stringify!(mInt) - ) - ); - } - test_field_mInt(); - fn test_field_mFloat() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsStyleUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mFloat) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsStyleUnion), - "::", - stringify!(mFloat) - ) - ); - } - test_field_mFloat(); - fn test_field_mPointer() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<nsStyleUnion>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mPointer) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(nsStyleUnion), - "::", - stringify!(mPointer) - ) - ); - } - test_field_mPointer(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mInt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsStyleUnion), + "::", + stringify!(mInt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFloat) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsStyleUnion), + "::", + stringify!(mFloat) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mPointer) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(nsStyleUnion), + "::", + stringify!(mPointer) + ) + ); } impl Clone for nsStyleUnion { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/union_with_anon_struct.rs b/tests/expectations/tests/union_with_anon_struct.rs index 7a67b2d6..35b5829b 100644 --- a/tests/expectations/tests/union_with_anon_struct.rs +++ b/tests/expectations/tests/union_with_anon_struct.rs @@ -18,6 +18,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 8usize, @@ -28,45 +31,32 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -77,23 +67,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/union_with_anon_struct_1_0.rs b/tests/expectations/tests/union_with_anon_struct_1_0.rs index aed67ec6..8b11e757 100644 --- a/tests/expectations/tests/union_with_anon_struct_1_0.rs +++ b/tests/expectations/tests/union_with_anon_struct_1_0.rs @@ -62,6 +62,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 8usize, @@ -72,42 +75,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Clone for foo__bindgen_ty_1 { fn clone(&self) -> Self { @@ -116,6 +103,9 @@ impl Clone for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -126,23 +116,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Clone for foo { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/union_with_anon_struct_bitfield.rs b/tests/expectations/tests/union_with_anon_struct_bitfield.rs index 87186fe0..e81b3bef 100644 --- a/tests/expectations/tests/union_with_anon_struct_bitfield.rs +++ b/tests/expectations/tests/union_with_anon_struct_bitfield.rs @@ -164,6 +164,9 @@ impl foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -174,18 +177,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs b/tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs index 66f33674..6ce6ed22 100644 --- a/tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs +++ b/tests/expectations/tests/union_with_anon_struct_bitfield_1_0.rs @@ -213,6 +213,9 @@ impl foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -223,18 +226,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); } impl Clone for foo { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/union_with_anon_union.rs b/tests/expectations/tests/union_with_anon_union.rs index 789fb495..487650bf 100644 --- a/tests/expectations/tests/union_with_anon_union.rs +++ b/tests/expectations/tests/union_with_anon_union.rs @@ -18,6 +18,9 @@ pub union foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 4usize, @@ -28,42 +31,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Default for foo__bindgen_ty_1 { fn default() -> Self { @@ -76,6 +63,9 @@ impl Default for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -86,23 +76,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/union_with_anon_union_1_0.rs b/tests/expectations/tests/union_with_anon_union_1_0.rs index 4bb91cf3..f3e4b840 100644 --- a/tests/expectations/tests/union_with_anon_union_1_0.rs +++ b/tests/expectations/tests/union_with_anon_union_1_0.rs @@ -63,6 +63,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 4usize, @@ -73,42 +76,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 4usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); } impl Clone for foo__bindgen_ty_1 { fn clone(&self) -> Self { @@ -117,6 +104,9 @@ impl Clone for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -127,23 +117,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Clone for foo { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/union_with_anon_unnamed_struct.rs b/tests/expectations/tests/union_with_anon_unnamed_struct.rs index 968e20fa..cff5df04 100644 --- a/tests/expectations/tests/union_with_anon_unnamed_struct.rs +++ b/tests/expectations/tests/union_with_anon_unnamed_struct.rs @@ -21,6 +21,9 @@ pub struct pixel__bindgen_ty_1 { } #[test] fn bindgen_test_layout_pixel__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<pixel__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<pixel__bindgen_ty_1>(), 4usize, @@ -31,81 +34,52 @@ fn bindgen_test_layout_pixel__bindgen_ty_1() { 1usize, concat!("Alignment of ", stringify!(pixel__bindgen_ty_1)) ); - fn test_field_r() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<pixel__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(pixel__bindgen_ty_1), - "::", - stringify!(r) - ) - ); - } - test_field_r(); - fn test_field_g() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<pixel__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize - }, - 1usize, - concat!( - "Offset of field: ", - stringify!(pixel__bindgen_ty_1), - "::", - stringify!(g) - ) - ); - } - test_field_g(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<pixel__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(pixel__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<pixel__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 3usize, - concat!( - "Offset of field: ", - stringify!(pixel__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pixel__bindgen_ty_1), + "::", + stringify!(r) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(pixel__bindgen_ty_1), + "::", + stringify!(g) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(pixel__bindgen_ty_1), + "::", + stringify!(b) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(pixel__bindgen_ty_1), + "::", + stringify!(a) + ) + ); } #[test] fn bindgen_test_layout_pixel() { + const UNINIT: ::std::mem::MaybeUninit<pixel> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<pixel>(), 4usize, @@ -116,23 +90,16 @@ fn bindgen_test_layout_pixel() { 4usize, concat!("Alignment of ", stringify!(pixel)) ); - fn test_field_rgba() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<pixel>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rgba) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(pixel), - "::", - stringify!(rgba) - ) - ); - } - test_field_rgba(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgba) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pixel), + "::", + stringify!(rgba) + ) + ); } impl Default for pixel { fn default() -> Self { diff --git a/tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs b/tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs index b6f315bf..1562a8c9 100644 --- a/tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs +++ b/tests/expectations/tests/union_with_anon_unnamed_struct_1_0.rs @@ -65,6 +65,9 @@ pub struct pixel__bindgen_ty_1 { } #[test] fn bindgen_test_layout_pixel__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<pixel__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<pixel__bindgen_ty_1>(), 4usize, @@ -75,78 +78,46 @@ fn bindgen_test_layout_pixel__bindgen_ty_1() { 1usize, concat!("Alignment of ", stringify!(pixel__bindgen_ty_1)) ); - fn test_field_r() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<pixel__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(pixel__bindgen_ty_1), - "::", - stringify!(r) - ) - ); - } - test_field_r(); - fn test_field_g() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<pixel__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize - }, - 1usize, - concat!( - "Offset of field: ", - stringify!(pixel__bindgen_ty_1), - "::", - stringify!(g) - ) - ); - } - test_field_g(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<pixel__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 2usize, - concat!( - "Offset of field: ", - stringify!(pixel__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<pixel__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 3usize, - concat!( - "Offset of field: ", - stringify!(pixel__bindgen_ty_1), - "::", - stringify!(a) - ) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pixel__bindgen_ty_1), + "::", + stringify!(r) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(pixel__bindgen_ty_1), + "::", + stringify!(g) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(pixel__bindgen_ty_1), + "::", + stringify!(b) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(pixel__bindgen_ty_1), + "::", + stringify!(a) + ) + ); } impl Clone for pixel__bindgen_ty_1 { fn clone(&self) -> Self { @@ -155,6 +126,9 @@ impl Clone for pixel__bindgen_ty_1 { } #[test] fn bindgen_test_layout_pixel() { + const UNINIT: ::std::mem::MaybeUninit<pixel> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<pixel>(), 4usize, @@ -165,23 +139,16 @@ fn bindgen_test_layout_pixel() { 4usize, concat!("Alignment of ", stringify!(pixel)) ); - fn test_field_rgba() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<pixel>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).rgba) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(pixel), - "::", - stringify!(rgba) - ) - ); - } - test_field_rgba(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgba) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pixel), + "::", + stringify!(rgba) + ) + ); } impl Clone for pixel { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/union_with_anon_unnamed_union.rs b/tests/expectations/tests/union_with_anon_unnamed_union.rs index f7defd06..f1abfc5a 100644 --- a/tests/expectations/tests/union_with_anon_unnamed_union.rs +++ b/tests/expectations/tests/union_with_anon_unnamed_union.rs @@ -19,6 +19,9 @@ pub union foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 2usize, @@ -29,42 +32,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 2usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(c) - ) - ); - } - test_field_c(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(c) + ) + ); } impl Default for foo__bindgen_ty_1 { fn default() -> Self { @@ -77,6 +64,9 @@ impl Default for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -87,18 +77,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs b/tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs index 72239a30..197a6bbf 100644 --- a/tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs +++ b/tests/expectations/tests/union_with_anon_unnamed_union_1_0.rs @@ -64,6 +64,9 @@ pub struct foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1>(), 2usize, @@ -74,42 +77,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1() { 2usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1)) ); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(b) - ) - ); - } - test_field_b(); - fn test_field_c() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<foo__bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1), - "::", - stringify!(c) - ) - ); - } - test_field_c(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(b) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1), + "::", + stringify!(c) + ) + ); } impl Clone for foo__bindgen_ty_1 { fn clone(&self) -> Self { @@ -118,6 +105,9 @@ impl Clone for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -128,18 +118,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); } impl Clone for foo { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/union_with_big_member.rs b/tests/expectations/tests/union_with_big_member.rs index 72210c83..7110257b 100644 --- a/tests/expectations/tests/union_with_big_member.rs +++ b/tests/expectations/tests/union_with_big_member.rs @@ -13,6 +13,9 @@ pub union WithBigArray { } #[test] fn bindgen_test_layout_WithBigArray() { + const UNINIT: ::std::mem::MaybeUninit<WithBigArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithBigArray>(), 132usize, @@ -23,40 +26,26 @@ fn bindgen_test_layout_WithBigArray() { 4usize, concat!("Alignment of ", stringify!(WithBigArray)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigArray), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigArray), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigArray), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigArray), + "::", + stringify!(b) + ) + ); } impl Default for WithBigArray { fn default() -> Self { @@ -75,6 +64,9 @@ pub union WithBigArray2 { } #[test] fn bindgen_test_layout_WithBigArray2() { + const UNINIT: ::std::mem::MaybeUninit<WithBigArray2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithBigArray2>(), 36usize, @@ -85,40 +77,26 @@ fn bindgen_test_layout_WithBigArray2() { 4usize, concat!("Alignment of ", stringify!(WithBigArray2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigArray2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigArray2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigArray2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigArray2), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigArray2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigArray2), + "::", + stringify!(b) + ) + ); } impl Default for WithBigArray2 { fn default() -> Self { @@ -137,6 +115,9 @@ pub union WithBigMember { } #[test] fn bindgen_test_layout_WithBigMember() { + const UNINIT: ::std::mem::MaybeUninit<WithBigMember> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithBigMember>(), 132usize, @@ -147,40 +128,26 @@ fn bindgen_test_layout_WithBigMember() { 4usize, concat!("Alignment of ", stringify!(WithBigMember)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigMember>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigMember), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigMember>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigMember), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigMember), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigMember), + "::", + stringify!(b) + ) + ); } impl Default for WithBigMember { fn default() -> Self { diff --git a/tests/expectations/tests/union_with_big_member_1_0.rs b/tests/expectations/tests/union_with_big_member_1_0.rs index 8be46be7..63b43baa 100644 --- a/tests/expectations/tests/union_with_big_member_1_0.rs +++ b/tests/expectations/tests/union_with_big_member_1_0.rs @@ -57,6 +57,9 @@ pub struct WithBigArray { } #[test] fn bindgen_test_layout_WithBigArray() { + const UNINIT: ::std::mem::MaybeUninit<WithBigArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithBigArray>(), 132usize, @@ -67,40 +70,26 @@ fn bindgen_test_layout_WithBigArray() { 4usize, concat!("Alignment of ", stringify!(WithBigArray)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigArray), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigArray), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigArray), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigArray), + "::", + stringify!(b) + ) + ); } impl Clone for WithBigArray { fn clone(&self) -> Self { @@ -125,6 +114,9 @@ pub struct WithBigArray2 { } #[test] fn bindgen_test_layout_WithBigArray2() { + const UNINIT: ::std::mem::MaybeUninit<WithBigArray2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithBigArray2>(), 36usize, @@ -135,40 +127,26 @@ fn bindgen_test_layout_WithBigArray2() { 4usize, concat!("Alignment of ", stringify!(WithBigArray2)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigArray2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigArray2), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigArray2>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigArray2), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigArray2), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigArray2), + "::", + stringify!(b) + ) + ); } impl Clone for WithBigArray2 { fn clone(&self) -> Self { @@ -184,6 +162,9 @@ pub struct WithBigMember { } #[test] fn bindgen_test_layout_WithBigMember() { + const UNINIT: ::std::mem::MaybeUninit<WithBigMember> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<WithBigMember>(), 132usize, @@ -194,40 +175,26 @@ fn bindgen_test_layout_WithBigMember() { 4usize, concat!("Alignment of ", stringify!(WithBigMember)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigMember>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigMember), - "::", - stringify!(a) - ) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<WithBigMember>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(WithBigMember), - "::", - stringify!(b) - ) - ); - } - test_field_b(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigMember), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WithBigMember), + "::", + stringify!(b) + ) + ); } impl Clone for WithBigMember { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/union_with_nesting.rs b/tests/expectations/tests/union_with_nesting.rs index 3ef99f7f..ec9c1480 100644 --- a/tests/expectations/tests/union_with_nesting.rs +++ b/tests/expectations/tests/union_with_nesting.rs @@ -25,6 +25,9 @@ pub union foo__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1__bindgen_ty_1>(), 2usize, @@ -35,44 +38,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_1() { 2usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1__bindgen_ty_1)) ); - fn test_field_b1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(b1) - ) - ); - } - test_field_b1(); - fn test_field_b2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b2) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(b2) - ) - ); - } - test_field_b2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(b1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(b2) + ) + ); } impl Default for foo__bindgen_ty_1__bindgen_ty_1 { fn default() -> Self { @@ -91,6 +76,9 @@ pub union foo__bindgen_ty_1__bindgen_ty_2 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1__bindgen_ty_2>(), 2usize, @@ -101,44 +89,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_2() { 2usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1__bindgen_ty_2)) ); - fn test_field_c1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(c1) - ) - ); - } - test_field_c1(); - fn test_field_c2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c2) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(c2) - ) - ); - } - test_field_c2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(c1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(c2) + ) + ); } impl Default for foo__bindgen_ty_1__bindgen_ty_2 { fn default() -> Self { @@ -173,6 +143,9 @@ impl Default for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -183,18 +156,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); } impl Default for foo { fn default() -> Self { diff --git a/tests/expectations/tests/union_with_nesting_1_0.rs b/tests/expectations/tests/union_with_nesting_1_0.rs index 9d4fc4d2..a1e452fe 100644 --- a/tests/expectations/tests/union_with_nesting_1_0.rs +++ b/tests/expectations/tests/union_with_nesting_1_0.rs @@ -70,6 +70,9 @@ pub struct foo__bindgen_ty_1__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1__bindgen_ty_1>(), 2usize, @@ -80,44 +83,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_1() { 2usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1__bindgen_ty_1)) ); - fn test_field_b1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(b1) - ) - ); - } - test_field_b1(); - fn test_field_b2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_1, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).b2) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_1), - "::", - stringify!(b2) - ) - ); - } - test_field_b2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(b1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(b2) + ) + ); } impl Clone for foo__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { @@ -133,6 +118,9 @@ pub struct foo__bindgen_ty_1__bindgen_ty_2 { } #[test] fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<foo__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo__bindgen_ty_1__bindgen_ty_2>(), 2usize, @@ -143,44 +131,26 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_2() { 2usize, concat!("Alignment of ", stringify!(foo__bindgen_ty_1__bindgen_ty_2)) ); - fn test_field_c1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c1) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(c1) - ) - ); - } - test_field_c1(); - fn test_field_c2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::< - foo__bindgen_ty_1__bindgen_ty_2, - >::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).c2) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo__bindgen_ty_1__bindgen_ty_2), - "::", - stringify!(c2) - ) - ); - } - test_field_c2(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(c1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).c2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(c2) + ) + ); } impl Clone for foo__bindgen_ty_1__bindgen_ty_2 { fn clone(&self) -> Self { @@ -207,6 +177,9 @@ impl Clone for foo__bindgen_ty_1 { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 4usize, @@ -217,18 +190,11 @@ fn bindgen_test_layout_foo() { 4usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); } impl Clone for foo { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/unknown_attr.rs b/tests/expectations/tests/unknown_attr.rs index cc29d8b3..c790f009 100644 --- a/tests/expectations/tests/unknown_attr.rs +++ b/tests/expectations/tests/unknown_attr.rs @@ -15,6 +15,9 @@ pub struct max_align_t { } #[test] fn bindgen_test_layout_max_align_t() { + const UNINIT: ::std::mem::MaybeUninit<max_align_t> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<max_align_t>(), 32usize, @@ -25,40 +28,30 @@ fn bindgen_test_layout_max_align_t() { 16usize, concat!("Alignment of ", stringify!(max_align_t)) ); - fn test_field___clang_max_align_nonce1() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<max_align_t>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(max_align_t), - "::", - stringify!(__clang_max_align_nonce1) - ) - ); - } - test_field___clang_max_align_nonce1(); - fn test_field___clang_max_align_nonce2() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<max_align_t>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(max_align_t), - "::", - stringify!(__clang_max_align_nonce2) - ) - ); - } - test_field___clang_max_align_nonce2(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(max_align_t), + "::", + stringify!(__clang_max_align_nonce1) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - + ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(max_align_t), + "::", + stringify!(__clang_max_align_nonce2) + ) + ); } diff --git a/tests/expectations/tests/unsorted-items.rs b/tests/expectations/tests/unsorted-items.rs new file mode 100644 index 00000000..ce0c5f3f --- /dev/null +++ b/tests/expectations/tests/unsorted-items.rs @@ -0,0 +1,82 @@ +#![allow( + dead_code, + non_snake_case, + non_camel_case_types, + non_upper_case_globals +)] + +extern "C" { + pub fn foo() -> ::std::os::raw::c_int; +} +pub type number = ::std::os::raw::c_int; +extern "C" { + pub fn bar(x: number) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Point { + pub x: number, + pub y: number, +} +#[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>(), + 8usize, + 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)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Point), "::", stringify!(y)) + ); +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone)] +pub struct Angle { + pub a: number, + pub b: number, +} +#[test] +fn bindgen_test_layout_Angle() { + const UNINIT: ::std::mem::MaybeUninit<Angle> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<Angle>(), + 8usize, + concat!("Size of: ", stringify!(Angle)) + ); + assert_eq!( + ::std::mem::align_of::<Angle>(), + 4usize, + concat!("Alignment of ", stringify!(Angle)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(Angle), "::", stringify!(a)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(Angle), "::", stringify!(b)) + ); +} +extern "C" { + pub fn baz(point: Point) -> ::std::os::raw::c_int; +} +pub const NUMBER: number = 42; diff --git a/tests/expectations/tests/use-core.rs b/tests/expectations/tests/use-core.rs index cc588219..e6124d5a 100644 --- a/tests/expectations/tests/use-core.rs +++ b/tests/expectations/tests/use-core.rs @@ -16,6 +16,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::core::mem::MaybeUninit<foo> = + ::core::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::<foo>(), 16usize, @@ -26,47 +29,21 @@ fn bindgen_test_layout_foo() { 8usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) - ); - } - test_field_b(); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Default for foo { fn default() -> Self { @@ -85,6 +62,9 @@ pub union _bindgen_ty_1 { } #[test] fn bindgen_test_layout__bindgen_ty_1() { + const UNINIT: ::core::mem::MaybeUninit<_bindgen_ty_1> = + ::core::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::<_bindgen_ty_1>(), 8usize, @@ -95,42 +75,26 @@ fn bindgen_test_layout__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(_bindgen_ty_1)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = - ::core::mem::MaybeUninit::<_bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_bindgen_ty_1), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = - ::core::mem::MaybeUninit::<_bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_bindgen_ty_1), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(bar) + ) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(baz) + ) + ); } impl Default for _bindgen_ty_1 { fn default() -> Self { diff --git a/tests/expectations/tests/use-core_1_0.rs b/tests/expectations/tests/use-core_1_0.rs index bb5ce957..8c6d0fd2 100644 --- a/tests/expectations/tests/use-core_1_0.rs +++ b/tests/expectations/tests/use-core_1_0.rs @@ -59,6 +59,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::core::mem::MaybeUninit<foo> = + ::core::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::<foo>(), 16usize, @@ -69,47 +72,21 @@ fn bindgen_test_layout_foo() { 8usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_a() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) - ); - } - test_field_a(); - fn test_field_b() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize - }, - 4usize, - concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) - ); - } - test_field_b(); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::core::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(a)) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 4usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(b)) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); } impl Clone for foo { fn clone(&self) -> Self { @@ -134,6 +111,9 @@ pub struct _bindgen_ty_1 { } #[test] fn bindgen_test_layout__bindgen_ty_1() { + const UNINIT: ::core::mem::MaybeUninit<_bindgen_ty_1> = + ::core::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::<_bindgen_ty_1>(), 8usize, @@ -144,42 +124,26 @@ fn bindgen_test_layout__bindgen_ty_1() { 8usize, concat!("Alignment of ", stringify!(_bindgen_ty_1)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = - ::core::mem::MaybeUninit::<_bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_bindgen_ty_1), - "::", - stringify!(bar) - ) - ); - } - test_field_bar(); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = - ::core::mem::MaybeUninit::<_bindgen_ty_1>::uninit(); - let ptr = uninit.as_ptr(); - ::core::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(_bindgen_ty_1), - "::", - stringify!(baz) - ) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(bar) + ) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(baz) + ) + ); } impl Clone for _bindgen_ty_1 { fn clone(&self) -> Self { diff --git a/tests/expectations/tests/var-tracing.rs b/tests/expectations/tests/var-tracing.rs index 2ce68539..4280802e 100644 --- a/tests/expectations/tests/var-tracing.rs +++ b/tests/expectations/tests/var-tracing.rs @@ -12,6 +12,9 @@ pub struct Bar { } #[test] fn bindgen_test_layout_Bar() { + const UNINIT: ::std::mem::MaybeUninit<Bar> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Bar>(), 4usize, @@ -22,23 +25,16 @@ fn bindgen_test_layout_Bar() { 4usize, concat!("Alignment of ", stringify!(Bar)) ); - fn test_field_m_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Bar>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).m_baz) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Bar), - "::", - stringify!(m_baz) - ) - ); - } - test_field_m_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_baz) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Bar), + "::", + stringify!(m_baz) + ) + ); } extern "C" { #[link_name = "\u{1}_ZN3BarC1Ei"] diff --git a/tests/expectations/tests/vector.rs b/tests/expectations/tests/vector.rs index 936d29c6..12d2e1b1 100644 --- a/tests/expectations/tests/vector.rs +++ b/tests/expectations/tests/vector.rs @@ -12,6 +12,9 @@ pub struct foo { } #[test] fn bindgen_test_layout_foo() { + const UNINIT: ::std::mem::MaybeUninit<foo> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<foo>(), 8usize, @@ -22,23 +25,16 @@ fn bindgen_test_layout_foo() { 8usize, concat!("Alignment of ", stringify!(foo)) ); - fn test_field_mMember() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<foo>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(foo), - "::", - stringify!(mMember) - ) - ); - } - test_field_mMember(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mMember) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(foo), + "::", + stringify!(mMember) + ) + ); } pub type __m128 = [f32; 4usize]; pub type __m128d = [f64; 2usize]; diff --git a/tests/expectations/tests/virtual_inheritance.rs b/tests/expectations/tests/virtual_inheritance.rs index 9e56c826..2c15b428 100644 --- a/tests/expectations/tests/virtual_inheritance.rs +++ b/tests/expectations/tests/virtual_inheritance.rs @@ -12,6 +12,9 @@ pub struct A { } #[test] fn bindgen_test_layout_A() { + const UNINIT: ::std::mem::MaybeUninit<A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<A>(), 4usize, @@ -22,18 +25,11 @@ fn bindgen_test_layout_A() { 4usize, concat!("Alignment of ", stringify!(A)) ); - fn test_field_foo() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<A>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize - }, - 0usize, - concat!("Offset of field: ", stringify!(A), "::", stringify!(foo)) - ); - } - test_field_foo(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(A), "::", stringify!(foo)) + ); } #[repr(C)] pub struct B__bindgen_vtable(::std::os::raw::c_void); @@ -45,6 +41,9 @@ pub struct B { } #[test] fn bindgen_test_layout_B() { + const UNINIT: ::std::mem::MaybeUninit<B> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<B>(), 16usize, @@ -55,18 +54,11 @@ fn bindgen_test_layout_B() { 8usize, concat!("Alignment of ", stringify!(B)) ); - fn test_field_bar() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<B>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize - }, - 8usize, - concat!("Offset of field: ", stringify!(B), "::", stringify!(bar)) - ); - } - test_field_bar(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bar) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(B), "::", stringify!(bar)) + ); } impl Default for B { fn default() -> Self { @@ -87,6 +79,9 @@ pub struct C { } #[test] fn bindgen_test_layout_C() { + const UNINIT: ::std::mem::MaybeUninit<C> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<C>(), 16usize, @@ -97,18 +92,11 @@ fn bindgen_test_layout_C() { 8usize, concat!("Alignment of ", stringify!(C)) ); - fn test_field_baz() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<C>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize - }, - 8usize, - concat!("Offset of field: ", stringify!(C), "::", stringify!(baz)) - ); - } - test_field_baz(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baz) as usize - ptr as usize }, + 8usize, + concat!("Offset of field: ", stringify!(C), "::", stringify!(baz)) + ); } impl Default for C { fn default() -> Self { diff --git a/tests/expectations/tests/weird_bitfields.rs b/tests/expectations/tests/weird_bitfields.rs index c524b90d..9383bada 100644 --- a/tests/expectations/tests/weird_bitfields.rs +++ b/tests/expectations/tests/weird_bitfields.rs @@ -121,6 +121,9 @@ pub struct Weird { } #[test] fn bindgen_test_layout_Weird() { + const UNINIT: ::std::mem::MaybeUninit<Weird> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<Weird>(), 24usize, @@ -131,218 +134,153 @@ fn bindgen_test_layout_Weird() { 4usize, concat!("Alignment of ", stringify!(Weird)) ); - fn test_field_mStrokeDasharrayLength() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mStrokeDasharrayLength) as usize - - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mStrokeDasharrayLength) - ) - ); - } - test_field_mStrokeDasharrayLength(); - fn test_field_mClipRule() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mClipRule) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mClipRule) - ) - ); - } - test_field_mClipRule(); - fn test_field_mColorInterpolation() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mColorInterpolation) as usize - - ptr as usize - }, - 9usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mColorInterpolation) - ) - ); - } - test_field_mColorInterpolation(); - fn test_field_mColorInterpolationFilters() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mColorInterpolationFilters) as usize - - ptr as usize - }, - 10usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mColorInterpolationFilters) - ) - ); - } - test_field_mColorInterpolationFilters(); - fn test_field_mFillRule() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mFillRule) as usize - ptr as usize - }, - 11usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mFillRule) - ) - ); - } - test_field_mFillRule(); - fn test_field_mImageRendering() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mImageRendering) as usize - - ptr as usize - }, - 12usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mImageRendering) - ) - ); - } - test_field_mImageRendering(); - fn test_field_mPaintOrder() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mPaintOrder) as usize - ptr as usize - }, - 13usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mPaintOrder) - ) - ); - } - test_field_mPaintOrder(); - fn test_field_mShapeRendering() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mShapeRendering) as usize - - ptr as usize - }, - 14usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mShapeRendering) - ) - ); - } - test_field_mShapeRendering(); - fn test_field_mStrokeLinecap() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mStrokeLinecap) as usize - - ptr as usize - }, - 15usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mStrokeLinecap) - ) - ); - } - test_field_mStrokeLinecap(); - fn test_field_mStrokeLinejoin() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mStrokeLinejoin) as usize - - ptr as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mStrokeLinejoin) - ) - ); - } - test_field_mStrokeLinejoin(); - fn test_field_mTextAnchor() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mTextAnchor) as usize - ptr as usize - }, - 17usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mTextAnchor) - ) - ); - } - test_field_mTextAnchor(); - fn test_field_mTextRendering() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<Weird>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).mTextRendering) as usize - - ptr as usize - }, - 18usize, - concat!( - "Offset of field: ", - stringify!(Weird), - "::", - stringify!(mTextRendering) - ) - ); - } - test_field_mTextRendering(); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mStrokeDasharrayLength) as usize - + ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mStrokeDasharrayLength) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mClipRule) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mClipRule) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mColorInterpolation) as usize - + ptr as usize + }, + 9usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mColorInterpolation) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mColorInterpolationFilters) as usize - + ptr as usize + }, + 10usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mColorInterpolationFilters) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mFillRule) as usize - ptr as usize + }, + 11usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mFillRule) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mImageRendering) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mImageRendering) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mPaintOrder) as usize - ptr as usize + }, + 13usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mPaintOrder) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mShapeRendering) as usize - ptr as usize + }, + 14usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mShapeRendering) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mStrokeLinecap) as usize - ptr as usize + }, + 15usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mStrokeLinecap) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mStrokeLinejoin) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mStrokeLinejoin) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mTextAnchor) as usize - ptr as usize + }, + 17usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mTextAnchor) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).mTextRendering) as usize - ptr as usize + }, + 18usize, + concat!( + "Offset of field: ", + stringify!(Weird), + "::", + stringify!(mTextRendering) + ) + ); } impl Default for Weird { fn default() -> Self { diff --git a/tests/expectations/tests/zero-size-array-align.rs b/tests/expectations/tests/zero-size-array-align.rs index 31eff389..d7d0f661 100644 --- a/tests/expectations/tests/zero-size-array-align.rs +++ b/tests/expectations/tests/zero-size-array-align.rs @@ -44,6 +44,9 @@ pub struct dm_deps { } #[test] fn bindgen_test_layout_dm_deps() { + const UNINIT: ::std::mem::MaybeUninit<dm_deps> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<dm_deps>(), 8usize, @@ -54,55 +57,34 @@ fn bindgen_test_layout_dm_deps() { 8usize, concat!("Alignment of ", stringify!(dm_deps)) ); - fn test_field_count() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<dm_deps>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(dm_deps), - "::", - stringify!(count) - ) - ); - } - test_field_count(); - fn test_field_filler() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<dm_deps>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).filler) as usize - ptr as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(dm_deps), - "::", - stringify!(filler) - ) - ); - } - test_field_filler(); - fn test_field_device() { - assert_eq!( - unsafe { - let uninit = ::std::mem::MaybeUninit::<dm_deps>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).device) as usize - ptr as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(dm_deps), - "::", - stringify!(device) - ) - ); - } - test_field_device(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(dm_deps), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).filler) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(dm_deps), + "::", + stringify!(filler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).device) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(dm_deps), + "::", + stringify!(device) + ) + ); } diff --git a/tests/expectations/tests/zero-sized-array.rs b/tests/expectations/tests/zero-sized-array.rs index c12afa59..4ba52498 100644 --- a/tests/expectations/tests/zero-sized-array.rs +++ b/tests/expectations/tests/zero-sized-array.rs @@ -43,6 +43,9 @@ pub struct ZeroSizedArray { } #[test] fn bindgen_test_layout_ZeroSizedArray() { + const UNINIT: ::std::mem::MaybeUninit<ZeroSizedArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ZeroSizedArray>(), 0usize, @@ -53,24 +56,16 @@ fn bindgen_test_layout_ZeroSizedArray() { 1usize, concat!("Alignment of ", stringify!(ZeroSizedArray)) ); - fn test_field_arr() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ZeroSizedArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ZeroSizedArray), - "::", - stringify!(arr) - ) - ); - } - test_field_arr(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).arr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ZeroSizedArray), + "::", + stringify!(arr) + ) + ); } /// And nor should this get an `_address` field. #[repr(C)] @@ -80,6 +75,9 @@ pub struct ContainsZeroSizedArray { } #[test] fn bindgen_test_layout_ContainsZeroSizedArray() { + const UNINIT: ::std::mem::MaybeUninit<ContainsZeroSizedArray> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( ::std::mem::size_of::<ContainsZeroSizedArray>(), 0usize, @@ -90,24 +88,16 @@ fn bindgen_test_layout_ContainsZeroSizedArray() { 1usize, concat!("Alignment of ", stringify!(ContainsZeroSizedArray)) ); - fn test_field_zsa() { - assert_eq!( - unsafe { - let uninit = - ::std::mem::MaybeUninit::<ContainsZeroSizedArray>::uninit(); - let ptr = uninit.as_ptr(); - ::std::ptr::addr_of!((*ptr).zsa) as usize - ptr as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ContainsZeroSizedArray), - "::", - stringify!(zsa) - ) - ); - } - test_field_zsa(); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).zsa) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ContainsZeroSizedArray), + "::", + stringify!(zsa) + ) + ); } /// Inheriting from ZeroSizedArray shouldn't cause an `_address` to be inserted /// either. diff --git a/tests/headers/allowlist_warnings.h b/tests/headers/allowlist_warnings.h new file mode 100644 index 00000000..83c9e259 --- /dev/null +++ b/tests/headers/allowlist_warnings.h @@ -0,0 +1,2 @@ +// bindgen-flags: --allowlist-function "doesnt_match_anything" +int non_matched_function(int arg); diff --git a/tests/headers/issue-2239-template-dependent-bit-width.hpp b/tests/headers/issue-2239-template-dependent-bit-width.hpp new file mode 100644 index 00000000..4e6feb3f --- /dev/null +++ b/tests/headers/issue-2239-template-dependent-bit-width.hpp @@ -0,0 +1,10 @@ +template <class a> class b { + typedef a td; + using ta = a; + struct foo { + a foo : sizeof(a); + a : sizeof(a); + td : sizeof(td); + ta : sizeof(ta); + }; +}; diff --git a/tests/headers/keywords.h b/tests/headers/keywords.h index d7fe2065..3b3fc497 100644 --- a/tests/headers/keywords.h +++ b/tests/headers/keywords.h @@ -15,6 +15,8 @@ int str; int dyn; int as; +int async; +int await; int box; int crate; int false; diff --git a/tests/headers/pointer-attr.h b/tests/headers/pointer-attr.h new file mode 100644 index 00000000..fe0004b8 --- /dev/null +++ b/tests/headers/pointer-attr.h @@ -0,0 +1 @@ +void a(const char __attribute__((btf_type_tag("a"))) *); diff --git a/tests/headers/sorted-items.h b/tests/headers/sorted-items.h new file mode 100644 index 00000000..11fc2ef4 --- /dev/null +++ b/tests/headers/sorted-items.h @@ -0,0 +1,17 @@ +// bindgen-flags: --sort-semantically -- --target=x86_64-unknown-linux + +int foo(); +typedef int number; +int bar(number x); +struct Point +{ + number x; + number y; +}; +struct Angle +{ + number a; + number b; +}; +int baz(struct Point point); +const number NUMBER = 42; diff --git a/tests/headers/unsorted-items.h b/tests/headers/unsorted-items.h new file mode 100644 index 00000000..23962d18 --- /dev/null +++ b/tests/headers/unsorted-items.h @@ -0,0 +1,15 @@ +int foo(); +typedef int number; +int bar(number x); +struct Point +{ + number x; + number y; +}; +struct Angle +{ + number a; + number b; +}; +int baz(struct Point point); +const number NUMBER = 42; diff --git a/tests/tests.rs b/tests/tests.rs index cc64cfdd..8dcc5437 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -139,7 +139,7 @@ fn error_diff_mismatch( println!("+++ generated from: {:?}", header); } - for diff in diff::lines(&expected, &actual) { + for diff in diff::lines(expected, actual) { match diff { diff::Result::Left(l) => println!("-{}", l), diff::Result::Both(l, _) => println!(" {}", l), @@ -168,7 +168,7 @@ fn error_diff_mismatch( .output()?; } - return Err(Error::new(ErrorKind::Other, "Header and binding differ! Run with BINDGEN_OVERWRITE_EXPECTED=1 in the environment to automatically overwrite the expectation or with BINDGEN_TESTS_DIFFTOOL=meld to do this manually.")); + Err(Error::new(ErrorKind::Other, "Header and binding differ! Run with BINDGEN_OVERWRITE_EXPECTED=1 in the environment to automatically overwrite the expectation or with BINDGEN_TESTS_DIFFTOOL=meld to do this manually.")) } fn compare_generated_header( @@ -670,3 +670,19 @@ fn dump_preprocessed_input() { "cpp-empty-layout.hpp is in the preprocessed file" ); } + +#[test] +fn allowlist_warnings() { + let header = concat!( + env!("CARGO_MANIFEST_DIR"), + "/tests/headers/allowlist_warnings.h" + ); + + let bindings = builder() + .header(header) + .allowlist_function("doesnt_match_anything") + .generate() + .expect("unable to generate bindings"); + + assert_eq!(1, bindings.warnings().len()); +} |