Rollup merge of #100391 - nnethercote:improve-size-assertions, r=lqd

Improve size assertions

r? `@lqd`
This commit is contained in:
Dylan DPC 2022-08-11 22:47:05 +05:30 committed by GitHub
commit bc0f9e39f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 57 additions and 51 deletions

View File

@ -3029,22 +3029,25 @@ pub type ForeignItem = Item<ForeignItemKind>;
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
mod size_asserts { mod size_asserts {
use super::*; use super::*;
use rustc_data_structures::static_assert_size;
// These are in alphabetical order, which is easy to maintain. // These are in alphabetical order, which is easy to maintain.
rustc_data_structures::static_assert_size!(AssocItemKind, 72); static_assert_size!(AssocItem, 160);
rustc_data_structures::static_assert_size!(Attribute, 152); static_assert_size!(AssocItemKind, 72);
rustc_data_structures::static_assert_size!(Block, 48); static_assert_size!(Attribute, 152);
rustc_data_structures::static_assert_size!(Expr, 104); static_assert_size!(Block, 48);
rustc_data_structures::static_assert_size!(Fn, 192); static_assert_size!(Expr, 104);
rustc_data_structures::static_assert_size!(ForeignItemKind, 72); static_assert_size!(Fn, 192);
rustc_data_structures::static_assert_size!(GenericBound, 88); static_assert_size!(ForeignItem, 160);
rustc_data_structures::static_assert_size!(Generics, 72); static_assert_size!(ForeignItemKind, 72);
rustc_data_structures::static_assert_size!(Impl, 200); static_assert_size!(GenericBound, 88);
rustc_data_structures::static_assert_size!(Item, 200); static_assert_size!(Generics, 72);
rustc_data_structures::static_assert_size!(ItemKind, 112); static_assert_size!(Impl, 200);
rustc_data_structures::static_assert_size!(Lit, 48); static_assert_size!(Item, 200);
rustc_data_structures::static_assert_size!(Pat, 120); static_assert_size!(ItemKind, 112);
rustc_data_structures::static_assert_size!(Path, 40); static_assert_size!(Lit, 48);
rustc_data_structures::static_assert_size!(PathSegment, 24); static_assert_size!(Pat, 120);
rustc_data_structures::static_assert_size!(Stmt, 32); static_assert_size!(Path, 40);
rustc_data_structures::static_assert_size!(Ty, 96); static_assert_size!(PathSegment, 24);
static_assert_size!(Stmt, 32);
static_assert_size!(Ty, 96);
} }

View File

@ -823,9 +823,10 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
mod size_asserts { mod size_asserts {
use super::*; use super::*;
use rustc_data_structures::static_assert_size;
// These are in alphabetical order, which is easy to maintain. // These are in alphabetical order, which is easy to maintain.
rustc_data_structures::static_assert_size!(Immediate, 56); static_assert_size!(Immediate, 56);
rustc_data_structures::static_assert_size!(ImmTy<'_>, 72); static_assert_size!(ImmTy<'_>, 72);
rustc_data_structures::static_assert_size!(Operand, 64); static_assert_size!(Operand, 64);
rustc_data_structures::static_assert_size!(OpTy<'_>, 88); static_assert_size!(OpTy<'_>, 88);
} }

View File

@ -891,10 +891,11 @@ where
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
mod size_asserts { mod size_asserts {
use super::*; use super::*;
use rustc_data_structures::static_assert_size;
// These are in alphabetical order, which is easy to maintain. // These are in alphabetical order, which is easy to maintain.
rustc_data_structures::static_assert_size!(MemPlaceMeta, 24); static_assert_size!(MemPlaceMeta, 24);
rustc_data_structures::static_assert_size!(MemPlace, 40); static_assert_size!(MemPlace, 40);
rustc_data_structures::static_assert_size!(MPlaceTy<'_>, 64); static_assert_size!(MPlaceTy<'_>, 64);
rustc_data_structures::static_assert_size!(Place, 48); static_assert_size!(Place, 48);
rustc_data_structures::static_assert_size!(PlaceTy<'_>, 72); static_assert_size!(PlaceTy<'_>, 72);
} }

View File

@ -3491,16 +3491,16 @@ impl<'hir> Node<'hir> {
mod size_asserts { mod size_asserts {
use super::*; use super::*;
// These are in alphabetical order, which is easy to maintain. // These are in alphabetical order, which is easy to maintain.
rustc_data_structures::static_assert_size!(Block<'static>, 48); static_assert_size!(Block<'static>, 48);
rustc_data_structures::static_assert_size!(Expr<'static>, 56); static_assert_size!(Expr<'static>, 56);
rustc_data_structures::static_assert_size!(ForeignItem<'static>, 72); static_assert_size!(ForeignItem<'static>, 72);
rustc_data_structures::static_assert_size!(GenericBound<'_>, 48); static_assert_size!(GenericBound<'_>, 48);
rustc_data_structures::static_assert_size!(Generics<'static>, 56); static_assert_size!(Generics<'static>, 56);
rustc_data_structures::static_assert_size!(ImplItem<'static>, 88); static_assert_size!(ImplItem<'static>, 88);
rustc_data_structures::static_assert_size!(Impl<'static>, 80); static_assert_size!(Impl<'static>, 80);
rustc_data_structures::static_assert_size!(Item<'static>, 80); static_assert_size!(Item<'static>, 80);
rustc_data_structures::static_assert_size!(Pat<'static>, 88); static_assert_size!(Pat<'static>, 88);
rustc_data_structures::static_assert_size!(QPath<'static>, 24); static_assert_size!(QPath<'static>, 24);
rustc_data_structures::static_assert_size!(TraitItem<'static>, 96); static_assert_size!(TraitItem<'static>, 96);
rustc_data_structures::static_assert_size!(Ty<'static>, 72); static_assert_size!(Ty<'static>, 72);
} }

View File

@ -814,8 +814,8 @@ impl<'tcx> fmt::Display for Pat<'tcx> {
mod size_asserts { mod size_asserts {
use super::*; use super::*;
// These are in alphabetical order, which is easy to maintain. // These are in alphabetical order, which is easy to maintain.
rustc_data_structures::static_assert_size!(Block, 56); static_assert_size!(Block, 56);
rustc_data_structures::static_assert_size!(Expr<'_>, 104); static_assert_size!(Expr<'_>, 104);
rustc_data_structures::static_assert_size!(Pat<'_>, 24); static_assert_size!(Pat<'_>, 24);
rustc_data_structures::static_assert_size!(Stmt<'_>, 120); static_assert_size!(Stmt<'_>, 120);
} }

View File

@ -2495,14 +2495,15 @@ impl SubstParam {
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
mod size_asserts { mod size_asserts {
use super::*; use super::*;
use rustc_data_structures::static_assert_size;
// These are in alphabetical order, which is easy to maintain. // These are in alphabetical order, which is easy to maintain.
rustc_data_structures::static_assert_size!(Crate, 72); // frequently moved by-value static_assert_size!(Crate, 72); // frequently moved by-value
rustc_data_structures::static_assert_size!(DocFragment, 32); static_assert_size!(DocFragment, 32);
rustc_data_structures::static_assert_size!(GenericArg, 80); static_assert_size!(GenericArg, 80);
rustc_data_structures::static_assert_size!(GenericArgs, 32); static_assert_size!(GenericArgs, 32);
rustc_data_structures::static_assert_size!(GenericParamDef, 56); static_assert_size!(GenericParamDef, 56);
rustc_data_structures::static_assert_size!(Item, 56); static_assert_size!(Item, 56);
rustc_data_structures::static_assert_size!(ItemKind, 112); static_assert_size!(ItemKind, 112);
rustc_data_structures::static_assert_size!(PathSegment, 40); static_assert_size!(PathSegment, 40);
rustc_data_structures::static_assert_size!(Type, 72); static_assert_size!(Type, 72);
} }