about summary refs log tree commit diff
path: root/compiler/rustc_mir_build/src/builder/matches
diff options
context:
space:
mode:
authordianqk <dianqk@dianqk.net>2025-06-08 15:30:18 +0800
committerdianqk <dianqk@dianqk.net>2025-06-29 20:13:36 +0800
commit9f9cd5e2837f57504b92b5acbadb48ff0cb9e29c (patch)
tree40909c9f107775e415bed62051fe9d757c647ad5 /compiler/rustc_mir_build/src/builder/matches
parent5ca574e85b67cec0a6fc3fddfe398cbe676c9c69 (diff)
downloadrust-9f9cd5e2837f57504b92b5acbadb48ff0cb9e29c.tar.gz
rust-9f9cd5e2837f57504b92b5acbadb48ff0cb9e29c.zip
mir: Add a `new` method to `statement`
Avoid introducing a large number of changes when adding optional initialization fields.
Diffstat (limited to 'compiler/rustc_mir_build/src/builder/matches')
-rw-r--r--compiler/rustc_mir_build/src/builder/matches/mod.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/compiler/rustc_mir_build/src/builder/matches/mod.rs b/compiler/rustc_mir_build/src/builder/matches/mod.rs
index 270a7d4b154..9600067a85f 100644
--- a/compiler/rustc_mir_build/src/builder/matches/mod.rs
+++ b/compiler/rustc_mir_build/src/builder/matches/mod.rs
@@ -646,9 +646,9 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
                 let base = self.canonical_user_type_annotations.push(annotation.clone());
                 self.cfg.push(
                     block,
-                    Statement {
-                        source_info: ty_source_info,
-                        kind: StatementKind::AscribeUserType(
+                    Statement::new(
+                        ty_source_info,
+                        StatementKind::AscribeUserType(
                             Box::new((place, UserTypeProjection { base, projs: Vec::new() })),
                             // We always use invariant as the variance here. This is because the
                             // variance field from the ascription refers to the variance to use
@@ -666,7 +666,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
                             // `<expr>`.
                             ty::Invariant,
                         ),
-                    },
+                    ),
                 );
 
                 self.schedule_drop_for_binding(var, irrefutable_pat.span, OutsideGuard);
@@ -828,7 +828,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
     ) -> Place<'tcx> {
         let local_id = self.var_local_id(var, for_guard);
         let source_info = self.source_info(span);
-        self.cfg.push(block, Statement { source_info, kind: StatementKind::StorageLive(local_id) });
+        self.cfg.push(block, Statement::new(source_info, StatementKind::StorageLive(local_id)));
         // Although there is almost always scope for given variable in corner cases
         // like #92893 we might get variable with no scope.
         if let Some(region_scope) = self.region_scope_tree.var_scope(var.0.local_id)
@@ -2578,16 +2578,16 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
             let base = self.canonical_user_type_annotations.push(ascription.annotation);
             self.cfg.push(
                 block,
-                Statement {
+                Statement::new(
                     source_info,
-                    kind: StatementKind::AscribeUserType(
+                    StatementKind::AscribeUserType(
                         Box::new((
                             ascription.source,
                             UserTypeProjection { base, projs: Vec::new() },
                         )),
                         ascription.variance,
                     ),
-                },
+                ),
             );
         }
     }