From 8645ac4218e2c503c616ebcfccf034c07a94f405 Mon Sep 17 00:00:00 2001 From: Eduard-Mihai Burtescu Date: Thu, 31 Oct 2019 18:28:36 +0200 Subject: [PATCH] Revert "pre-expansion gate try_blocks" This reverts commit 1935ba658c576f14397c2c7a26a6642cf08f26a6. --- src/libsyntax/feature_gate/check.rs | 3 +++ src/test/ui/feature-gates/feature-gate-try_blocks.rs | 7 ++----- src/test/ui/feature-gates/feature-gate-try_blocks.stderr | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libsyntax/feature_gate/check.rs b/src/libsyntax/feature_gate/check.rs index 1846ba5ed7be..52fb47615277 100644 --- a/src/libsyntax/feature_gate/check.rs +++ b/src/libsyntax/feature_gate/check.rs @@ -518,6 +518,9 @@ fn visit_expr(&mut self, e: &'a ast::Expr) { "type ascription is experimental"); } } + ast::ExprKind::TryBlock(_) => { + gate_feature_post!(&self, try_blocks, e.span, "`try` expression is experimental"); + } ast::ExprKind::Block(_, opt_label) => { if let Some(label) = opt_label { gate_feature_post!(&self, label_break_value, label.ident.span, diff --git a/src/test/ui/feature-gates/feature-gate-try_blocks.rs b/src/test/ui/feature-gates/feature-gate-try_blocks.rs index b451ba84a156..06cadd82c073 100644 --- a/src/test/ui/feature-gates/feature-gate-try_blocks.rs +++ b/src/test/ui/feature-gates/feature-gate-try_blocks.rs @@ -1,12 +1,9 @@ // compile-flags: --edition 2018 -#[cfg(FALSE)] -fn foo() { - let try_result: Option<_> = try { //~ ERROR `try` blocks are unstable +pub fn main() { + let try_result: Option<_> = try { //~ ERROR `try` expression is experimental let x = 5; x }; assert_eq!(try_result, Some(5)); } - -fn main() {} diff --git a/src/test/ui/feature-gates/feature-gate-try_blocks.stderr b/src/test/ui/feature-gates/feature-gate-try_blocks.stderr index 44a7d9b9043f..565f3610a2e2 100644 --- a/src/test/ui/feature-gates/feature-gate-try_blocks.stderr +++ b/src/test/ui/feature-gates/feature-gate-try_blocks.stderr @@ -1,5 +1,5 @@ -error[E0658]: `try` blocks are unstable - --> $DIR/feature-gate-try_blocks.rs:5:33 +error[E0658]: `try` expression is experimental + --> $DIR/feature-gate-try_blocks.rs:4:33 | LL | let try_result: Option<_> = try { | _________________________________^