/// this statement requires a semicolon after it.
/// note that in one case (stmt_semi), we've already
/// seen the semicolon, and thus don't need another.
this statement requires a semicolon after it.
note that in one case (stmt_semi), we've already
seen the semicolon, and thus don't need another.
this statement requires a semicolon after it . note that in one case ( stmt_semi ) we ' ve already seen the semicolon and thus don ' t need another .
fn stmt_ends_with_semi(stmt: &hir::Stmt_) -> bool {
    match *stmt {
        hir::StmtDecl(ref d, _) => {
            match d.node {
                hir::DeclLocal(_) => true,
                hir::DeclItem(_) => false
            }
        }
        hir::StmtExpr(ref e, _) => { expr_requires_semi_to_be_stmt(&**e) }
        hir::StmtSemi(..) => { false }
    }
}
fn stmt_ends_with_semi ( stmt : & hir :: Stmt_ ) -> bool { match * stmt { hir :: StmtDecl ( ref d , _ ) => { match d . node { hir :: DeclLocal ( _ ) => true , hir :: DeclItem ( _ ) => false } } hir :: StmtExpr ( ref e , _ ) => { expr_requires_semi_to_be_stmt ( & * * e ) } hir :: StmtSemi ( .. ) => { false } } }
this statement requires a semicolon after it.
this statement requires a semicolon after it .
stmt
&hir::Stmt_