@@ -133,6 +133,14 @@ pub struct ClosureExpr<'tcx> {
133
133
pub fake_reads : Vec < ( ExprId , FakeReadCause , hir:: HirId ) > ,
134
134
}
135
135
136
+ #[ derive( Clone , Debug , HashStable ) ]
137
+ pub struct InlineAsmExpr < ' tcx > {
138
+ pub template : & ' tcx [ InlineAsmTemplatePiece ] ,
139
+ pub operands : Box < [ InlineAsmOperand < ' tcx > ] > ,
140
+ pub options : InlineAsmOptions ,
141
+ pub line_spans : & ' tcx [ Span ] ,
142
+ }
143
+
136
144
#[ derive( Copy , Clone , Debug , HashStable ) ]
137
145
pub enum BlockSafety {
138
146
Safe ,
@@ -432,12 +440,7 @@ pub enum ExprKind<'tcx> {
432
440
def_id : DefId ,
433
441
} ,
434
442
/// Inline assembly, i.e. `asm!()`.
435
- InlineAsm {
436
- template : & ' tcx [ InlineAsmTemplatePiece ] ,
437
- operands : Box < [ InlineAsmOperand < ' tcx > ] > ,
438
- options : InlineAsmOptions ,
439
- line_spans : & ' tcx [ Span ] ,
440
- } ,
443
+ InlineAsm ( Box < InlineAsmExpr < ' tcx > > ) ,
441
444
/// An expression taking a reference to a thread local.
442
445
ThreadLocalRef ( DefId ) ,
443
446
/// A `yield` expression.
@@ -804,7 +807,7 @@ mod size_asserts {
804
807
use super :: * ;
805
808
// These are in alphabetical order, which is easy to maintain.
806
809
static_assert_size ! ( Block , 56 ) ;
807
- static_assert_size ! ( Expr <' _>, 80 ) ;
810
+ static_assert_size ! ( Expr <' _>, 64 ) ;
808
811
static_assert_size ! ( Pat <' _>, 24 ) ;
809
812
static_assert_size ! ( Stmt <' _>, 72 ) ;
810
813
}
0 commit comments