From bb952358aa674b815f6180520eb5ddf2289e6401 Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Tue, 21 Jul 2015 14:31:07 +0200 Subject: [PATCH] Factor feature gate tests for box syntax into two separate files. The two tests are separate since the current implementation performs the feature gate checks at distinct phases in the compilation, with an `abort_if_errors` calls separating them. --- .../compile-fail/feature-gate-box-expr.rs | 16 +++++------ .../feature-gate-placement-expr.rs | 27 +++++++++++++++++++ 2 files changed, 35 insertions(+), 8 deletions(-) create mode 100644 src/test/compile-fail/feature-gate-placement-expr.rs diff --git a/src/test/compile-fail/feature-gate-box-expr.rs b/src/test/compile-fail/feature-gate-box-expr.rs index f5c9a63b79bd..9640b2b475b6 100644 --- a/src/test/compile-fail/feature-gate-box-expr.rs +++ b/src/test/compile-fail/feature-gate-box-expr.rs @@ -8,18 +8,18 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -fn main() { - use std::boxed::HEAP; +// Check that `box EXPR` is feature-gated. +// +// See also feature-gate-placement-expr.rs +// +// (Note that the two tests are separated since the checks appear to +// be performed at distinct phases, with an abort_if_errors call +// separating them.) +fn main() { let x = box 'c'; //~ ERROR box expression syntax is experimental println!("x: {}", x); let x = box () 'c'; //~ ERROR box expression syntax is experimental println!("x: {}", x); - - let x = box (HEAP) 'c'; //~ ERROR placement-in expression syntax is experimental - println!("x: {}", x); - - let x = in HEAP { 'c' }; //~ ERROR placement-in expression syntax is experimental - println!("x: {}", x); } diff --git a/src/test/compile-fail/feature-gate-placement-expr.rs b/src/test/compile-fail/feature-gate-placement-expr.rs new file mode 100644 index 000000000000..ac367340a61f --- /dev/null +++ b/src/test/compile-fail/feature-gate-placement-expr.rs @@ -0,0 +1,27 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Check that `in PLACE { EXPR }` is feature-gated. +// +// See also feature-gate-box-expr.rs +// +// (Note that the two tests are separated since the checks appear to +// be performed at distinct phases, with an abort_if_errors call +// separating them.) + +fn main() { + use std::boxed::HEAP; + + let x = box (HEAP) 'c'; //~ ERROR placement-in expression syntax is experimental + println!("x: {}", x); + + // let x = in HEAP { 'c' }; // ERROR placement-in expression syntax is experimental + // println!("x: {}", x); +}