Skip to content

Commit 2ec25a1

Browse files
committed
Shrink ast::Block.
1 parent 03ba6f2 commit 2ec25a1

File tree

15 files changed

+52
-52
lines changed

15 files changed

+52
-52
lines changed

compiler/rustc_ast/src/ast.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ pub enum MetaItemKind {
559559
#[derive(Clone, Encodable, Decodable, Debug)]
560560
pub struct Block {
561561
/// The statements in the block.
562-
pub stmts: Vec<Stmt>,
562+
pub stmts: Box<[Stmt]>,
563563
pub id: NodeId,
564564
/// Distinguishes between `unsafe { ... }` and `{ ... }`.
565565
pub rules: BlockCheckMode,
@@ -2440,7 +2440,7 @@ pub struct ForeignMod {
24402440

24412441
#[derive(Clone, Encodable, Decodable, Debug)]
24422442
pub struct EnumDef {
2443-
pub variants: Vec<Variant>,
2443+
pub variants: Box<[Variant]>,
24442444
}
24452445
/// Enum variant.
24462446
#[derive(Clone, Encodable, Decodable, Debug)]
@@ -3039,7 +3039,7 @@ mod size_asserts {
30393039
static_assert_size!(AssocItem, 104);
30403040
static_assert_size!(AssocItemKind, 32);
30413041
static_assert_size!(Attribute, 32);
3042-
static_assert_size!(Block, 48);
3042+
static_assert_size!(Block, 40);
30433043
static_assert_size!(Expr, 104);
30443044
static_assert_size!(ExprKind, 72);
30453045
static_assert_size!(Fn, 192);

compiler/rustc_ast/src/visit.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ pub fn walk_item<'a, V: Visitor<'a>>(visitor: &mut V, item: &'a Item) {
369369
}
370370

371371
pub fn walk_enum_def<'a, V: Visitor<'a>>(visitor: &mut V, enum_definition: &'a EnumDef) {
372-
walk_list!(visitor, visit_variant, &enum_definition.variants);
372+
walk_list!(visitor, visit_variant, enum_definition.variants.iter());
373373
}
374374

375375
pub fn walk_variant<'a, V: Visitor<'a>>(visitor: &mut V, variant: &'a Variant)
@@ -714,7 +714,7 @@ pub fn walk_field_def<'a, V: Visitor<'a>>(visitor: &mut V, field: &'a FieldDef)
714714
}
715715

716716
pub fn walk_block<'a, V: Visitor<'a>>(visitor: &mut V, block: &'a Block) {
717-
walk_list!(visitor, visit_stmt, &block.stmts);
717+
walk_list!(visitor, visit_stmt, block.stmts.iter());
718718
}
719719

720720
pub fn walk_stmt<'a, V: Visitor<'a>>(visitor: &mut V, statement: &'a Stmt) {

compiler/rustc_ast_passes/src/ast_validation.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1145,7 +1145,7 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
11451145
return; // Avoid visiting again.
11461146
}
11471147
ItemKind::Enum(ref def, _) => {
1148-
for variant in &def.variants {
1148+
for variant in def.variants.iter() {
11491149
self.invalid_visibility(&variant.vis, None);
11501150
for field in variant.data.fields() {
11511151
self.invalid_visibility(&field.vis, None);

compiler/rustc_ast_passes/src/feature_gate.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> {
477477
}
478478

479479
ast::ItemKind::Enum(ast::EnumDef { ref variants, .. }, ..) => {
480-
for variant in variants {
480+
for variant in variants.iter() {
481481
match (&variant.data, &variant.disr_expr) {
482482
(ast::VariantData::Unit(..), _) => {}
483483
(_, Some(disr_expr)) => gate_feature_post!(

compiler/rustc_builtin_macros/src/deriving/clone.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ fn cs_clone_simple(
137137
process_variant(vdata);
138138
}
139139
StaticEnum(enum_def, ..) => {
140-
for variant in &enum_def.variants {
140+
for variant in enum_def.variants.iter() {
141141
process_variant(&variant.data);
142142
}
143143
}

compiler/rustc_builtin_macros/src/deriving/cmp/eq.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ fn cs_total_eq_assert(
8080
process_variant(vdata);
8181
}
8282
StaticEnum(enum_def, ..) => {
83-
for variant in &enum_def.variants {
83+
for variant in enum_def.variants.iter() {
8484
process_variant(&variant.data);
8585
}
8686
}

compiler/rustc_builtin_macros/src/deriving/generic/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -799,7 +799,7 @@ impl<'a> TraitDef<'a> {
799799
) -> P<ast::Item> {
800800
let mut field_tys = Vec::new();
801801

802-
for variant in &enum_def.variants {
802+
for variant in enum_def.variants.iter() {
803803
field_tys.extend(variant.data.fields().iter().map(|field| field.ty.clone()));
804804
}
805805

compiler/rustc_builtin_macros/src/deriving/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ fn call_unreachable(cx: &ExtCtxt<'_>, span: Span) -> P<ast::Expr> {
9797
let call = cx.expr_call_global(span, path, vec![]);
9898

9999
cx.expr_block(P(ast::Block {
100-
stmts: vec![cx.stmt_expr(call)],
100+
stmts: vec![cx.stmt_expr(call)].into_boxed_slice(),
101101
id: ast::DUMMY_NODE_ID,
102102
rules: ast::BlockCheckMode::Unsafe(ast::CompilerGenerated),
103103
span,

compiler/rustc_builtin_macros/src/format.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1090,7 +1090,7 @@ impl<'a, 'b> Context<'a, 'b> {
10901090
let path = self.ecx.std_path(&[sym::fmt, sym::UnsafeArg, sym::new]);
10911091
let unsafe_arg = self.ecx.expr_call_global(self.macsp, path, Vec::new());
10921092
let unsafe_expr = self.ecx.expr_block(P(ast::Block {
1093-
stmts: vec![self.ecx.stmt_expr(unsafe_arg)],
1093+
stmts: vec![self.ecx.stmt_expr(unsafe_arg)].into_boxed_slice(),
10941094
id: ast::DUMMY_NODE_ID,
10951095
rules: BlockCheckMode::Unsafe(UnsafeSource::CompilerGenerated),
10961096
span: self.macsp,

compiler/rustc_expand/src/build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ impl<'a> ExtCtxt<'a> {
229229
}
230230
pub fn block(&self, span: Span, stmts: Vec<ast::Stmt>) -> P<ast::Block> {
231231
P(ast::Block {
232-
stmts,
232+
stmts: stmts.into_boxed_slice(),
233233
id: ast::DUMMY_NODE_ID,
234234
rules: BlockCheckMode::Default,
235235
span,

0 commit comments

Comments
 (0)