about summary refs log tree commit diff
path: root/src/test/compile-fail
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-08-22 11:15:10 +0000
committerbors <bors@rust-lang.org>2017-08-22 11:15:10 +0000
commit1177911790def5b20f2e4bdfa8bd59df0a51f4e7 (patch)
tree98d605deb5c901a8fd27f8ffbba93b8b497ff0b3 /src/test/compile-fail
parent7e5578da8c76fafcb1d7ca9f0643127da76f0879 (diff)
parent472e7e3ee22993d7dd64bdba21304334e0e977c9 (diff)
downloadrust-1177911790def5b20f2e4bdfa8bd59df0a51f4e7.tar.gz
rust-1177911790def5b20f2e4bdfa8bd59df0a51f4e7.zip
Auto merge of #44008 - RalfJung:staged1, r=alexcrichton
Make sure crates not opting in to staged_api don't use staged_api

This also fixes the problem that with `-Zforce-unstable-if-unmarked` set, crates could not use `#[deprecated]`.

If you prefer, I can instead submit another version which just fixes this problem, but still allows the staged API attributes for all crates when  `-Zforce-unstable-if-unmarked` is set. I have prepared that at <https://github.com/RalfJung/rust/tree/staged2>. As yet another alternative, @alexcrichton suggested to turn this error into a lint, but that seems to be much more work, so is it worth it?

Cc @alexcrichton #43975
Diffstat (limited to 'src/test/compile-fail')
-rw-r--r--src/test/compile-fail/stability-attribute-non-staged-force-unstable.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/compile-fail/stability-attribute-non-staged-force-unstable.rs b/src/test/compile-fail/stability-attribute-non-staged-force-unstable.rs
new file mode 100644
index 00000000000..512fb24a0c2
--- /dev/null
+++ b/src/test/compile-fail/stability-attribute-non-staged-force-unstable.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.
+
+// compile-flags:-Zforce-unstable-if-unmarked
+
+#[unstable] //~ ERROR: stability attributes may not be used
+#[stable] //~ ERROR: stability attributes may not be used
+#[rustc_deprecated] //~ ERROR: stability attributes may not be used
+fn main() { }