self.add_unreachable_node()
}
- hir::ExprAgain(destination) => {
+ hir::ExprContinue(destination) => {
let (target_scope, cont_dest) =
self.find_scope_edge(expr, destination, ScopeCfKind::Continue);
let a = self.add_ast_node(expr.hir_id.local_id, &[pred]);
}
walk_list!(visitor, visit_expr, opt_expr);
}
- ExprAgain(ref destination) => {
+ ExprContinue(ref destination) => {
if let Some(ref label) = destination.label {
visitor.visit_label(label);
match destination.target_id {
)
}
ExprKind::Continue(opt_label) => {
- hir::ExprAgain(if self.is_in_loop_condition && opt_label.is_none() {
+ hir::ExprContinue(if self.is_in_loop_condition && opt_label.is_none() {
hir::Destination {
label: None,
target_id: Err(hir::LoopIdError::UnlabeledCfInWhileCondition).into(),
ExprPath(..) => ExprPrecedence::Path,
ExprAddrOf(..) => ExprPrecedence::AddrOf,
ExprBreak(..) => ExprPrecedence::Break,
- ExprAgain(..) => ExprPrecedence::Continue,
+ ExprContinue(..) => ExprPrecedence::Continue,
ExprRet(..) => ExprPrecedence::Ret,
ExprInlineAsm(..) => ExprPrecedence::InlineAsm,
ExprStruct(..) => ExprPrecedence::Struct,
/// A `break`, with an optional label to break
ExprBreak(Destination, Option<P<Expr>>),
/// A `continue`, with an optional label
- ExprAgain(Destination),
+ ExprContinue(Destination),
/// A `return`, with an optional value to be returned
ExprRet(Option<P<Expr>>),
self.s.space()?;
}
}
- hir::ExprAgain(destination) => {
+ hir::ExprContinue(destination) => {
self.s.word("continue")?;
self.s.space()?;
if let Some(label) = destination.label {
ExprPath(path),
ExprAddrOf(mutability, sub),
ExprBreak(destination, sub),
- ExprAgain(destination),
+ ExprContinue(destination),
ExprRet(val),
ExprInlineAsm(asm, inputs, outputs),
ExprStruct(path, fields, base),
self.consume_exprs(inputs);
}
- hir::ExprAgain(..) |
+ hir::ExprContinue(..) |
hir::ExprLit(..) => {}
hir::ExprLoop(ref blk, _, _) => {
hir::ExprArray(..) | hir::ExprCall(..) | hir::ExprMethodCall(..) |
hir::ExprTup(..) | hir::ExprBinary(..) | hir::ExprAddrOf(..) |
hir::ExprCast(..) | hir::ExprUnary(..) | hir::ExprBreak(..) |
- hir::ExprAgain(_) | hir::ExprLit(_) | hir::ExprRet(..) |
+ hir::ExprContinue(_) | hir::ExprLit(_) | hir::ExprRet(..) |
hir::ExprBlock(..) | hir::ExprAssign(..) | hir::ExprAssignOp(..) |
hir::ExprStruct(..) | hir::ExprRepeat(..) |
hir::ExprInlineAsm(..) | hir::ExprBox(..) | hir::ExprYield(..) |
}
}
- hir::ExprAgain(label) => {
+ hir::ExprContinue(label) => {
// Find which label this expr continues to
let sc = match label.target_id {
Ok(node_id) => node_id,
hir::ExprIndex(..) | hir::ExprField(..) |
hir::ExprArray(..) | hir::ExprTup(..) | hir::ExprBinary(..) |
hir::ExprCast(..) | hir::ExprUnary(..) | hir::ExprRet(..) |
- hir::ExprBreak(..) | hir::ExprAgain(..) | hir::ExprLit(_) |
+ hir::ExprBreak(..) | hir::ExprContinue(..) | hir::ExprLit(_) |
hir::ExprBlock(..) | hir::ExprAddrOf(..) |
hir::ExprStruct(..) | hir::ExprRepeat(..) |
hir::ExprClosure(..) | hir::ExprPath(_) | hir::ExprYield(..) |
hir::ExprBinary(..) | hir::ExprWhile(..) |
hir::ExprBlock(..) | hir::ExprLoop(..) | hir::ExprMatch(..) |
hir::ExprLit(..) | hir::ExprBreak(..) |
- hir::ExprAgain(..) | hir::ExprStruct(..) | hir::ExprRepeat(..) |
+ hir::ExprContinue(..) | hir::ExprStruct(..) | hir::ExprRepeat(..) |
hir::ExprInlineAsm(..) | hir::ExprBox(..) => {
Ok(self.cat_rvalue_node(expr.id(), expr.span(), expr_ty))
}
Err(err) => bug!("invalid loop id for break: {}", err)
}
}
- hir::ExprAgain(dest) => {
+ hir::ExprContinue(dest) => {
match dest.target_id {
Ok(loop_id) => ExprKind::Continue {
label: region::Scope::Node(cx.tcx.hir.node_to_hir_id(loop_id).local_id),
self.require_break_cx("break", e.span);
}
- hir::ExprAgain(label) => {
+ hir::ExprContinue(label) => {
self.require_label_in_labeled_block(e.span, &label, "continue");
match label.target_id {
// More control flow (also not very meaningful).
hir::ExprBreak(..) |
- hir::ExprAgain(_) |
+ hir::ExprContinue(_) |
hir::ExprRet(_) |
// Generator expressions
hir::ExprRepeat(..) |
hir::ExprArray(..) |
hir::ExprBreak(..) |
- hir::ExprAgain(..) |
+ hir::ExprContinue(..) |
hir::ExprRet(..) |
hir::ExprWhile(..) |
hir::ExprLoop(..) |
}
}
- hir::ExprAgain(_) => { tcx.types.never }
+ hir::ExprContinue(_) => { tcx.types.never }
hir::ExprRet(ref expr_opt) => {
if self.ret_coercion.is_none() {
struct_span_err!(self.tcx.sess, expr.span, E0572,