diff options
| author | Florian Hahn <flo@fhahn.com> | 2015-03-21 00:23:39 +0100 |
|---|---|---|
| committer | Florian Hahn <flo@fhahn.com> | 2015-03-21 10:18:28 +0100 |
| commit | c48bb85702aaf8966b0d1c050a7152dce5ac6afa (patch) | |
| tree | 7eae88db8030f0ffc7230423db6c4e037da1e758 /src | |
| parent | ecdf792d1dda479d04781e5750737aa6cc574119 (diff) | |
| download | rust-c48bb85702aaf8966b0d1c050a7152dce5ac6afa.tar.gz rust-c48bb85702aaf8966b0d1c050a7152dce5ac6afa.zip | |
Add tests checking that a number of feature gates are gating their features.
Namely: * `box_syntax` * `box_patterns` * `simd_ffi` * `macro_reexport` cc #22820
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/compile-fail-fulldeps/gated-macro-reexports.rs | 22 | ||||
| -rw-r--r-- | src/test/compile-fail/gated-box-patterns.rs | 22 | ||||
| -rw-r--r-- | src/test/compile-fail/gated-box-syntax.rs | 17 | ||||
| -rw-r--r-- | src/test/compile-fail/gated-simd-ffi.rs | 27 |
4 files changed, 88 insertions, 0 deletions
diff --git a/src/test/compile-fail-fulldeps/gated-macro-reexports.rs b/src/test/compile-fail-fulldeps/gated-macro-reexports.rs new file mode 100644 index 00000000000..a88445bafc0 --- /dev/null +++ b/src/test/compile-fail-fulldeps/gated-macro-reexports.rs @@ -0,0 +1,22 @@ +// Copyright 2014 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 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that macro reexports item are gated by `macro_reexport` feature gate. + +// aux-build:macro_reexport_1.rs +// ignore-stage1 + +#![crate_type = "dylib"] + +#[macro_reexport(reexported)] +#[macro_use] #[no_link] +extern crate macro_reexport_1; +//~^ ERROR macros reexports are experimental and possibly buggy +//~| HELP add #![feature(macro_reexport)] to the crate attributes to enable diff --git a/src/test/compile-fail/gated-box-patterns.rs b/src/test/compile-fail/gated-box-patterns.rs new file mode 100644 index 00000000000..abaa256d52e --- /dev/null +++ b/src/test/compile-fail/gated-box-patterns.rs @@ -0,0 +1,22 @@ +// 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 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that patterns including the box syntax are gated by `box_patterns` feature gate. + +fn main() { + let x = Box::new(1); + + match x { + box 1 => (), + //~^ box pattern syntax is experimental + //~| add #![feature(box_patterns)] to the crate attributes to enable + _ => () + }; +} diff --git a/src/test/compile-fail/gated-box-syntax.rs b/src/test/compile-fail/gated-box-syntax.rs new file mode 100644 index 00000000000..3e08c1f7a71 --- /dev/null +++ b/src/test/compile-fail/gated-box-syntax.rs @@ -0,0 +1,17 @@ +// 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 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that the use of the box syntax is gated by `box_syntax` feature gate. + +fn main() { + let x = box 3; + //~^ ERROR box expression syntax is experimental; you can call `Box::new` instead. + //~| HELP add #![feature(box_syntax)] to the crate attributes to enable +} diff --git a/src/test/compile-fail/gated-simd-ffi.rs b/src/test/compile-fail/gated-simd-ffi.rs new file mode 100644 index 00000000000..c0a251e77a3 --- /dev/null +++ b/src/test/compile-fail/gated-simd-ffi.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 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that the use of smid types in the ffi is gated by `smid_ffi` feature gate. + +#![feature(simd)] + +#[repr(C)] +#[derive(Copy)] +#[simd] +pub struct f32x4(f32, f32, f32, f32); + +#[allow(dead_code)] +extern { + fn foo(x: f32x4); + //~^ ERROR use of SIMD type `f32x4` in FFI is highly experimental and may result in invalid code + //~| HELP add #![feature(simd_ffi)] to the crate attributes to enable +} + +fn main() {} |
