From 7948b68d0229f34b538e3b26c596c7a3a68aee1d Mon Sep 17 00:00:00 2001 From: varkor Date: Mon, 6 May 2019 14:53:22 +0100 Subject: [PATCH] Remove `ObsoleteInPlace` --- src/librustc/hir/lowering.rs | 4 ---- src/librustc_passes/ast_validation.rs | 23 ----------------------- src/libsyntax/ast.rs | 3 --- src/libsyntax/feature_gate.rs | 3 --- src/libsyntax/mut_visit.rs | 4 ---- src/libsyntax/parse/parser.rs | 16 ---------------- src/libsyntax/print/pprust.rs | 7 ------- src/libsyntax/util/parser.rs | 14 ++++---------- src/libsyntax/visit.rs | 4 ---- 9 files changed, 4 insertions(+), 74 deletions(-) diff --git a/src/librustc/hir/lowering.rs b/src/librustc/hir/lowering.rs index 6b82548f6dc..3d83918bd0a 100644 --- a/src/librustc/hir/lowering.rs +++ b/src/librustc/hir/lowering.rs @@ -4062,10 +4062,6 @@ fn lower_anon_const(&mut self, c: &AnonConst) -> hir::AnonConst { fn lower_expr(&mut self, e: &Expr) -> hir::Expr { let kind = match e.node { ExprKind::Box(ref inner) => hir::ExprKind::Box(P(self.lower_expr(inner))), - ExprKind::ObsoleteInPlace(..) => { - self.sess.abort_if_errors(); - span_bug!(e.span, "encountered ObsoleteInPlace expr during lowering"); - } ExprKind::Array(ref exprs) => { hir::ExprKind::Array(exprs.iter().map(|x| self.lower_expr(x)).collect()) } diff --git a/src/librustc_passes/ast_validation.rs b/src/librustc_passes/ast_validation.rs index 3091570d148..2afcbe8a151 100644 --- a/src/librustc_passes/ast_validation.rs +++ b/src/librustc_passes/ast_validation.rs @@ -454,29 +454,6 @@ fn visit_expr(&mut self, expr: &'a Expr) { ExprKind::InlineAsm(..) if !self.session.target.target.options.allow_asm => { span_err!(self.session, expr.span, E0472, "asm! is unsupported on this target"); } - ExprKind::ObsoleteInPlace(ref place, ref val) => { - let mut err = self.err_handler().struct_span_err( - expr.span, - "emplacement syntax is obsolete (for now, anyway)", - ); - err.note( - "for more information, see \ - " - ); - match val.node { - ExprKind::Lit(ref v) if v.node.is_numeric() => { - err.span_suggestion( - place.span.between(val.span), - "if you meant to write a comparison against a negative value, add a \ - space in between `<` and `-`", - "< -".to_string(), - Applicability::MaybeIncorrect - ); - } - _ => {} - } - err.emit(); - } _ => {} } diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index 84ef0468cac..3276f152575 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -1037,7 +1037,6 @@ pub(super) fn to_ty(&self) -> Option> { pub fn precedence(&self) -> ExprPrecedence { match self.node { ExprKind::Box(_) => ExprPrecedence::Box, - ExprKind::ObsoleteInPlace(..) => ExprPrecedence::ObsoleteInPlace, ExprKind::Array(_) => ExprPrecedence::Array, ExprKind::Call(..) => ExprPrecedence::Call, ExprKind::MethodCall(..) => ExprPrecedence::MethodCall, @@ -1099,8 +1098,6 @@ pub enum RangeLimits { pub enum ExprKind { /// A `box x` expression. Box(P), - /// First expr is the place; second expr is the value. - ObsoleteInPlace(P, P), /// An array (`[a, b, c, d]`) Array(Vec>), /// A function call diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index 0f1bf436eca..6a049b80aca 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -2117,9 +2117,6 @@ fn visit_expr(&mut self, e: &'a ast::Expr) { "type ascription is experimental"); } } - ast::ExprKind::ObsoleteInPlace(..) => { - // these get a hard error in ast-validation - } ast::ExprKind::Yield(..) => { gate_feature_post!(&self, generators, e.span, diff --git a/src/libsyntax/mut_visit.rs b/src/libsyntax/mut_visit.rs index e743248ef4b..0016c0d4d7e 100644 --- a/src/libsyntax/mut_visit.rs +++ b/src/libsyntax/mut_visit.rs @@ -1099,10 +1099,6 @@ pub fn noop_visit_anon_const(AnonConst { id, value }: &mut AnonCo pub fn noop_visit_expr(Expr { node, id, span, attrs }: &mut Expr, vis: &mut T) { match node { ExprKind::Box(expr) => vis.visit_expr(expr), - ExprKind::ObsoleteInPlace(a, b) => { - vis.visit_expr(a); - vis.visit_expr(b); - } ExprKind::Array(exprs) => visit_exprs(exprs, vis), ExprKind::Repeat(expr, count) => { vis.visit_expr(expr); diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index ae3665c834b..a3571cb0c0b 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3252,17 +3252,6 @@ fn parse_prefix_expr(&mut self, let (span, e) = self.interpolated_or_expr_span(e)?; (lo.to(span), ExprKind::AddrOf(m, e)) } - token::Ident(..) if self.token.is_keyword(kw::In) => { - self.bump(); - let place = self.parse_expr_res( - Restrictions::NO_STRUCT_LITERAL, - None, - )?; - let blk = self.parse_block()?; - let span = blk.span; - let blk_expr = self.mk_expr(span, ExprKind::Block(blk, None), ThinVec::new()); - (lo.to(span), ExprKind::ObsoleteInPlace(place, blk_expr)) - } token::Ident(..) if self.token.is_keyword(kw::Box) => { self.bump(); let e = self.parse_prefix_expr(None); @@ -3500,8 +3489,6 @@ fn parse_assoc_expr_with(&mut self, self.mk_expr(span, binary, ThinVec::new()) } AssocOp::Assign => self.mk_expr(span, ExprKind::Assign(lhs, rhs), ThinVec::new()), - AssocOp::ObsoleteInPlace => - self.mk_expr(span, ExprKind::ObsoleteInPlace(lhs, rhs), ThinVec::new()), AssocOp::AssignOp(k) => { let aop = match k { token::Plus => BinOpKind::Add, @@ -3820,9 +3807,6 @@ fn parse_for_expr(&mut self, opt_label: Option