pub fn parse_block_expr(&mut self, lo: BytePos, blk_mode: BlockCheckMode,
                            attrs: ThinAttributes)
                            -> PResult<'a, P<Expr>> {

        let outer_attrs = attrs;
        try!(self.expect(&token::OpenDelim(token::Brace)));

        let inner_attrs = try!(self.parse_inner_attributes()).into_thin_attrs();
        let attrs = outer_attrs.append(inner_attrs);

        let blk = try!(self.parse_block_tail(lo, blk_mode));
        return Ok(self.mk_expr(blk.span.lo, blk.span.hi, ExprKind::Block(blk), attrs));
    }
/// Parse a block or unsafe block
Parse a block or unsafe block
Parse a block or unsafe block
pub fn parse_block_expr(&mut self, lo: BytePos, blk_mode: BlockCheckMode,
                            attrs: ThinAttributes)
                            -> PResult<'a, P<Expr>> {
        let outer_attrs = attrs;
        try!(self.expect(&token::OpenDelim(token::Brace)));
        let inner_attrs = try!(self.parse_inner_attributes()).into_thin_attrs();
        let attrs = outer_attrs.append(inner_attrs);
        let blk = try!(self.parse_block_tail(lo, blk_mode));
        return Ok(self.mk_expr(blk.span.lo, blk.span.hi, ExprKind::Block(blk), attrs));
    }
pub fn parse_block_expr ( & mut self , lo : BytePos , blk_mode : BlockCheckMode , attrs : ThinAttributes ) -> PResult < ' a , P < Expr > > { let outer_attrs = attrs ; try ! ( self expect ( token OpenDelim ( token Brace ) ) ) ; let inner_attrs = try ! ( self parse_inner_attributes ( ) ) . into_thin_attrs ( ) ; let attrs = outer_attrs . append ( inner_attrs ) ; let blk = try ! ( self parse_block_tail ( lo blk_mode ) ) ; return Ok ( self . mk_expr ( blk . span . lo , blk . span . hi , ExprKind :: Block ( blk ) , attrs ) ) ; }
Parse a block or unsafe block
Parse a block or unsafe block
&mut self
lo
BytePos
blk_mode
BlockCheckMode
attrs
ThinAttributes
&mut self
lo
BytePos
blk_mode
BlockCheckMode
attrs
ThinAttributes