about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-04-25 03:43:31 +0000
committerbors <bors@rust-lang.org>2015-04-25 03:43:31 +0000
commita40261ac91dd80b21830cc94de6132744e0c5078 (patch)
tree023666901a4f040367389290d46a22c97ae7d8ce /src/test
parentf9e53c7f2c8285f3422ac7ac091349ce572c4baa (diff)
parent23b1d172a8245f810f179d939488325fff005158 (diff)
downloadrust-a40261ac91dd80b21830cc94de6132744e0c5078.tar.gz
rust-a40261ac91dd80b21830cc94de6132744e0c5078.zip
Auto merge of #24798 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #24662, #24722, #24725, #24729, #24736, #24749, #24751, #24766, #24769, #24772, #24775, #24790
- Failed merges: #24760
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/feature-gate-negate-unsigned.rs17
-rw-r--r--src/test/compile-fail/feature-gate-on-unimplemented.rs19
-rw-r--r--src/test/compile-fail/feature-gate-optin-builtin-traits.rs (renamed from src/test/compile-fail/gated-simd-ffi.rs)23
-rw-r--r--src/test/compile-fail/feature-gate-plugin.rs16
-rw-r--r--src/test/compile-fail/feature-gate-rustc-attrs.rs21
-rw-r--r--src/test/compile-fail/feature-gate-rustc-diagnostic-macros.rs23
-rw-r--r--src/test/compile-fail/feature-gate-slice-patterns.rs (renamed from src/test/compile-fail/gated-box-patterns.rs)11
7 files changed, 111 insertions, 19 deletions
diff --git a/src/test/compile-fail/feature-gate-negate-unsigned.rs b/src/test/compile-fail/feature-gate-negate-unsigned.rs
new file mode 100644
index 00000000000..7dc654fe1c8
--- /dev/null
+++ b/src/test/compile-fail/feature-gate-negate-unsigned.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 negating unsigned integers is gated by `negate_unsigned` feature
+// gate
+
+const MAX: usize = -1;
+//~^ ERROR unary negation of unsigned integers may be removed in the future
+
+fn main() {}
diff --git a/src/test/compile-fail/feature-gate-on-unimplemented.rs b/src/test/compile-fail/feature-gate-on-unimplemented.rs
new file mode 100644
index 00000000000..5d32bba6a76
--- /dev/null
+++ b/src/test/compile-fail/feature-gate-on-unimplemented.rs
@@ -0,0 +1,19 @@
+// 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 `#[rustc_on_unimplemented]` is gated by `on_unimplemented` feature
+// gate.
+
+#[rustc_on_unimplemented = "test error `{Self}` with `{Bar}`"]
+//~^ ERROR the `#[rustc_on_unimplemented]` attribute is an experimental feature
+trait Foo<Bar>
+{}
+
+fn main() {}
diff --git a/src/test/compile-fail/gated-simd-ffi.rs b/src/test/compile-fail/feature-gate-optin-builtin-traits.rs
index 883e1be04b2..59d7473a741 100644
--- a/src/test/compile-fail/gated-simd-ffi.rs
+++ b/src/test/compile-fail/feature-gate-optin-builtin-traits.rs
@@ -8,20 +8,19 @@
 // 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.
+// Test that default and negative trait implementations are gated by
+// `optin_builtin_traits` feature gate
 
-#![feature(simd)]
+struct DummyStruct;
 
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[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
+trait DummyTrait {
+    fn dummy(&self) {}
 }
 
+impl DummyTrait for .. {}
+//~^ ERROR default trait implementations are experimental and possibly buggy
+
+impl !DummyTrait for DummyStruct {}
+//~^ ERROR negative trait bounds are not yet fully implemented; use marker types for now
+
 fn main() {}
diff --git a/src/test/compile-fail/feature-gate-plugin.rs b/src/test/compile-fail/feature-gate-plugin.rs
new file mode 100644
index 00000000000..3b5d7626ce3
--- /dev/null
+++ b/src/test/compile-fail/feature-gate-plugin.rs
@@ -0,0 +1,16 @@
+// 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 `#![plugin(...)]` attribute is gated by `plugin` feature gate
+
+#![plugin(foo)]
+//~^ ERROR compiler plugins are experimental and possibly buggy
+
+fn main() {}
diff --git a/src/test/compile-fail/feature-gate-rustc-attrs.rs b/src/test/compile-fail/feature-gate-rustc-attrs.rs
new file mode 100644
index 00000000000..dab44b655fc
--- /dev/null
+++ b/src/test/compile-fail/feature-gate-rustc-attrs.rs
@@ -0,0 +1,21 @@
+// 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.
+
+// ignore-tidy-linelength
+
+// Test that `#[rustc_*]` attributes are gated by `rustc_attrs` feature gate.
+
+#[rustc_variance] //~ ERROR the `#[rustc_variance]` attribute is an experimental feature
+#[rustc_error] //~ ERROR the `#[rustc_error]` attribute is an experimental feature
+#[rustc_move_fragments] //~ ERROR the `#[rustc_move_fragments]` attribute is an experimental feature
+#[rustc_foo]
+//~^ ERROR unless otherwise specified, attributes with the prefix `rustc_` are reserved for internal compiler diagnostics
+
+fn main() {}
diff --git a/src/test/compile-fail/feature-gate-rustc-diagnostic-macros.rs b/src/test/compile-fail/feature-gate-rustc-diagnostic-macros.rs
new file mode 100644
index 00000000000..8286d833e8d
--- /dev/null
+++ b/src/test/compile-fail/feature-gate-rustc-diagnostic-macros.rs
@@ -0,0 +1,23 @@
+// 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 diagnostic macros are gated by `rustc_diagnostic_macros` feature
+// gate
+
+__register_diagnostic!(E0001);
+//~^ ERROR macro undefined: '__register_diagnostic!'
+
+fn main() {
+    __diagnostic_used!(E0001);
+    //~^ ERROR macro undefined: '__diagnostic_used!'
+}
+
+__build_diagnostic_array!(DIAGNOSTICS);
+//~^ ERROR macro undefined: '__build_diagnostic_array!'
diff --git a/src/test/compile-fail/gated-box-patterns.rs b/src/test/compile-fail/feature-gate-slice-patterns.rs
index d82d0dec72b..625cb2d3515 100644
--- a/src/test/compile-fail/gated-box-patterns.rs
+++ b/src/test/compile-fail/feature-gate-slice-patterns.rs
@@ -8,14 +8,11 @@
 // 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.
+// Test that slice pattern syntax is gated by `slice_patterns` feature gate
 
 fn main() {
-    let x = Box::new(1);
-
+    let x = [1, 2, 3, 4, 5];
     match x {
-        box 1 => (),
-        //~^ box pattern syntax is experimental
-        _     => ()
-    };
+        [1, 2, xs..] => {} //~ ERROR slice pattern syntax is experimental
+    }
 }