Skip to content

Commit bb95235

Browse files
committed
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.
1 parent 9ca1c61 commit bb95235

File tree

2 files changed

+35
-8
lines changed

2 files changed

+35
-8
lines changed

src/test/compile-fail/feature-gate-box-expr.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
fn main() {
12-
use std::boxed::HEAP;
11+
// Check that `box EXPR` is feature-gated.
12+
//
13+
// See also feature-gate-placement-expr.rs
14+
//
15+
// (Note that the two tests are separated since the checks appear to
16+
// be performed at distinct phases, with an abort_if_errors call
17+
// separating them.)
1318

19+
fn main() {
1420
let x = box 'c'; //~ ERROR box expression syntax is experimental
1521
println!("x: {}", x);
1622

1723
let x = box () 'c'; //~ ERROR box expression syntax is experimental
1824
println!("x: {}", x);
19-
20-
let x = box (HEAP) 'c'; //~ ERROR placement-in expression syntax is experimental
21-
println!("x: {}", x);
22-
23-
let x = in HEAP { 'c' }; //~ ERROR placement-in expression syntax is experimental
24-
println!("x: {}", x);
2525
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// Check that `in PLACE { EXPR }` is feature-gated.
12+
//
13+
// See also feature-gate-box-expr.rs
14+
//
15+
// (Note that the two tests are separated since the checks appear to
16+
// be performed at distinct phases, with an abort_if_errors call
17+
// separating them.)
18+
19+
fn main() {
20+
use std::boxed::HEAP;
21+
22+
let x = box (HEAP) 'c'; //~ ERROR placement-in expression syntax is experimental
23+
println!("x: {}", x);
24+
25+
// let x = in HEAP { 'c' }; // ERROR placement-in expression syntax is experimental
26+
// println!("x: {}", x);
27+
}

0 commit comments

Comments
 (0)