Skip to content

Commit bc0f9e3

Browse files
authored
Rollup merge of rust-lang#100391 - nnethercote:improve-size-assertions, r=lqd
Improve size assertions r? `@lqd`
2 parents 1d09545 + 0658e8c commit bc0f9e3

File tree

6 files changed

+57
-51
lines changed

6 files changed

+57
-51
lines changed

compiler/rustc_ast/src/ast.rs

+20-17
Original file line numberDiff line numberDiff line change
@@ -3029,22 +3029,25 @@ pub type ForeignItem = Item<ForeignItemKind>;
30293029
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
30303030
mod size_asserts {
30313031
use super::*;
3032+
use rustc_data_structures::static_assert_size;
30323033
// These are in alphabetical order, which is easy to maintain.
3033-
rustc_data_structures::static_assert_size!(AssocItemKind, 72);
3034-
rustc_data_structures::static_assert_size!(Attribute, 152);
3035-
rustc_data_structures::static_assert_size!(Block, 48);
3036-
rustc_data_structures::static_assert_size!(Expr, 104);
3037-
rustc_data_structures::static_assert_size!(Fn, 192);
3038-
rustc_data_structures::static_assert_size!(ForeignItemKind, 72);
3039-
rustc_data_structures::static_assert_size!(GenericBound, 88);
3040-
rustc_data_structures::static_assert_size!(Generics, 72);
3041-
rustc_data_structures::static_assert_size!(Impl, 200);
3042-
rustc_data_structures::static_assert_size!(Item, 200);
3043-
rustc_data_structures::static_assert_size!(ItemKind, 112);
3044-
rustc_data_structures::static_assert_size!(Lit, 48);
3045-
rustc_data_structures::static_assert_size!(Pat, 120);
3046-
rustc_data_structures::static_assert_size!(Path, 40);
3047-
rustc_data_structures::static_assert_size!(PathSegment, 24);
3048-
rustc_data_structures::static_assert_size!(Stmt, 32);
3049-
rustc_data_structures::static_assert_size!(Ty, 96);
3034+
static_assert_size!(AssocItem, 160);
3035+
static_assert_size!(AssocItemKind, 72);
3036+
static_assert_size!(Attribute, 152);
3037+
static_assert_size!(Block, 48);
3038+
static_assert_size!(Expr, 104);
3039+
static_assert_size!(Fn, 192);
3040+
static_assert_size!(ForeignItem, 160);
3041+
static_assert_size!(ForeignItemKind, 72);
3042+
static_assert_size!(GenericBound, 88);
3043+
static_assert_size!(Generics, 72);
3044+
static_assert_size!(Impl, 200);
3045+
static_assert_size!(Item, 200);
3046+
static_assert_size!(ItemKind, 112);
3047+
static_assert_size!(Lit, 48);
3048+
static_assert_size!(Pat, 120);
3049+
static_assert_size!(Path, 40);
3050+
static_assert_size!(PathSegment, 24);
3051+
static_assert_size!(Stmt, 32);
3052+
static_assert_size!(Ty, 96);
30503053
}

compiler/rustc_const_eval/src/interpret/operand.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -823,9 +823,10 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
823823
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
824824
mod size_asserts {
825825
use super::*;
826+
use rustc_data_structures::static_assert_size;
826827
// These are in alphabetical order, which is easy to maintain.
827-
rustc_data_structures::static_assert_size!(Immediate, 56);
828-
rustc_data_structures::static_assert_size!(ImmTy<'_>, 72);
829-
rustc_data_structures::static_assert_size!(Operand, 64);
830-
rustc_data_structures::static_assert_size!(OpTy<'_>, 88);
828+
static_assert_size!(Immediate, 56);
829+
static_assert_size!(ImmTy<'_>, 72);
830+
static_assert_size!(Operand, 64);
831+
static_assert_size!(OpTy<'_>, 88);
831832
}

compiler/rustc_const_eval/src/interpret/place.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -891,10 +891,11 @@ where
891891
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
892892
mod size_asserts {
893893
use super::*;
894+
use rustc_data_structures::static_assert_size;
894895
// These are in alphabetical order, which is easy to maintain.
895-
rustc_data_structures::static_assert_size!(MemPlaceMeta, 24);
896-
rustc_data_structures::static_assert_size!(MemPlace, 40);
897-
rustc_data_structures::static_assert_size!(MPlaceTy<'_>, 64);
898-
rustc_data_structures::static_assert_size!(Place, 48);
899-
rustc_data_structures::static_assert_size!(PlaceTy<'_>, 72);
896+
static_assert_size!(MemPlaceMeta, 24);
897+
static_assert_size!(MemPlace, 40);
898+
static_assert_size!(MPlaceTy<'_>, 64);
899+
static_assert_size!(Place, 48);
900+
static_assert_size!(PlaceTy<'_>, 72);
900901
}

compiler/rustc_hir/src/hir.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -3491,16 +3491,16 @@ impl<'hir> Node<'hir> {
34913491
mod size_asserts {
34923492
use super::*;
34933493
// These are in alphabetical order, which is easy to maintain.
3494-
rustc_data_structures::static_assert_size!(Block<'static>, 48);
3495-
rustc_data_structures::static_assert_size!(Expr<'static>, 56);
3496-
rustc_data_structures::static_assert_size!(ForeignItem<'static>, 72);
3497-
rustc_data_structures::static_assert_size!(GenericBound<'_>, 48);
3498-
rustc_data_structures::static_assert_size!(Generics<'static>, 56);
3499-
rustc_data_structures::static_assert_size!(ImplItem<'static>, 88);
3500-
rustc_data_structures::static_assert_size!(Impl<'static>, 80);
3501-
rustc_data_structures::static_assert_size!(Item<'static>, 80);
3502-
rustc_data_structures::static_assert_size!(Pat<'static>, 88);
3503-
rustc_data_structures::static_assert_size!(QPath<'static>, 24);
3504-
rustc_data_structures::static_assert_size!(TraitItem<'static>, 96);
3505-
rustc_data_structures::static_assert_size!(Ty<'static>, 72);
3494+
static_assert_size!(Block<'static>, 48);
3495+
static_assert_size!(Expr<'static>, 56);
3496+
static_assert_size!(ForeignItem<'static>, 72);
3497+
static_assert_size!(GenericBound<'_>, 48);
3498+
static_assert_size!(Generics<'static>, 56);
3499+
static_assert_size!(ImplItem<'static>, 88);
3500+
static_assert_size!(Impl<'static>, 80);
3501+
static_assert_size!(Item<'static>, 80);
3502+
static_assert_size!(Pat<'static>, 88);
3503+
static_assert_size!(QPath<'static>, 24);
3504+
static_assert_size!(TraitItem<'static>, 96);
3505+
static_assert_size!(Ty<'static>, 72);
35063506
}

compiler/rustc_middle/src/thir.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -814,8 +814,8 @@ impl<'tcx> fmt::Display for Pat<'tcx> {
814814
mod size_asserts {
815815
use super::*;
816816
// These are in alphabetical order, which is easy to maintain.
817-
rustc_data_structures::static_assert_size!(Block, 56);
818-
rustc_data_structures::static_assert_size!(Expr<'_>, 104);
819-
rustc_data_structures::static_assert_size!(Pat<'_>, 24);
820-
rustc_data_structures::static_assert_size!(Stmt<'_>, 120);
817+
static_assert_size!(Block, 56);
818+
static_assert_size!(Expr<'_>, 104);
819+
static_assert_size!(Pat<'_>, 24);
820+
static_assert_size!(Stmt<'_>, 120);
821821
}

src/librustdoc/clean/types.rs

+10-9
Original file line numberDiff line numberDiff line change
@@ -2495,14 +2495,15 @@ impl SubstParam {
24952495
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
24962496
mod size_asserts {
24972497
use super::*;
2498+
use rustc_data_structures::static_assert_size;
24982499
// These are in alphabetical order, which is easy to maintain.
2499-
rustc_data_structures::static_assert_size!(Crate, 72); // frequently moved by-value
2500-
rustc_data_structures::static_assert_size!(DocFragment, 32);
2501-
rustc_data_structures::static_assert_size!(GenericArg, 80);
2502-
rustc_data_structures::static_assert_size!(GenericArgs, 32);
2503-
rustc_data_structures::static_assert_size!(GenericParamDef, 56);
2504-
rustc_data_structures::static_assert_size!(Item, 56);
2505-
rustc_data_structures::static_assert_size!(ItemKind, 112);
2506-
rustc_data_structures::static_assert_size!(PathSegment, 40);
2507-
rustc_data_structures::static_assert_size!(Type, 72);
2500+
static_assert_size!(Crate, 72); // frequently moved by-value
2501+
static_assert_size!(DocFragment, 32);
2502+
static_assert_size!(GenericArg, 80);
2503+
static_assert_size!(GenericArgs, 32);
2504+
static_assert_size!(GenericParamDef, 56);
2505+
static_assert_size!(Item, 56);
2506+
static_assert_size!(ItemKind, 112);
2507+
static_assert_size!(PathSegment, 40);
2508+
static_assert_size!(Type, 72);
25082509
}

0 commit comments

Comments
 (0)