@@ -133,6 +133,14 @@ pub struct ClosureExpr<'tcx> {
133133 pub fake_reads : Vec < ( ExprId , FakeReadCause , hir:: HirId ) > ,
134134}
135135
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+
136144#[ derive( Copy , Clone , Debug , HashStable ) ]
137145pub enum BlockSafety {
138146 Safe ,
@@ -432,12 +440,7 @@ pub enum ExprKind<'tcx> {
432440 def_id : DefId ,
433441 } ,
434442 /// 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 > > ) ,
441444 /// An expression taking a reference to a thread local.
442445 ThreadLocalRef ( DefId ) ,
443446 /// A `yield` expression.
@@ -804,7 +807,7 @@ mod size_asserts {
804807 use super :: * ;
805808 // These are in alphabetical order, which is easy to maintain.
806809 static_assert_size ! ( Block , 56 ) ;
807- static_assert_size ! ( Expr <' _>, 80 ) ;
810+ static_assert_size ! ( Expr <' _>, 64 ) ;
808811 static_assert_size ! ( Pat <' _>, 24 ) ;
809812 static_assert_size ! ( Stmt <' _>, 72 ) ;
810813}
0 commit comments