summaryrefslogtreecommitdiff
path: root/tests/ui/consts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/consts')
-rw-r--r--tests/ui/consts/auxiliary/unstable_but_const_stable.rs13
-rw-r--r--tests/ui/consts/unstable-const-stable.rs14
-rw-r--r--tests/ui/consts/unstable-const-stable.stderr43
3 files changed, 70 insertions, 0 deletions
diff --git a/tests/ui/consts/auxiliary/unstable_but_const_stable.rs b/tests/ui/consts/auxiliary/unstable_but_const_stable.rs
new file mode 100644
index 00000000000..88044b0272c
--- /dev/null
+++ b/tests/ui/consts/auxiliary/unstable_but_const_stable.rs
@@ -0,0 +1,13 @@
+#![feature(staged_api, rustc_attrs, intrinsics)]
+#![stable(since="1.0.0", feature = "stable")]
+
+extern "rust-intrinsic" {
+ #[unstable(feature = "unstable", issue = "42")]
+ #[rustc_const_stable(feature = "stable", since = "1.0.0")]
+ #[rustc_nounwind]
+ pub fn write_bytes<T>(dst: *mut T, val: u8, count: usize);
+}
+
+#[unstable(feature = "unstable", issue = "42")]
+#[rustc_const_stable(feature = "stable", since = "1.0.0")]
+pub const fn some_unstable_fn() {}
diff --git a/tests/ui/consts/unstable-const-stable.rs b/tests/ui/consts/unstable-const-stable.rs
new file mode 100644
index 00000000000..f69e8d0efe5
--- /dev/null
+++ b/tests/ui/consts/unstable-const-stable.rs
@@ -0,0 +1,14 @@
+//@ aux-build:unstable_but_const_stable.rs
+
+extern crate unstable_but_const_stable;
+use unstable_but_const_stable::*;
+
+fn main() {
+ some_unstable_fn(); //~ERROR use of unstable library feature
+ unsafe { write_bytes(4 as *mut u8, 0, 0) }; //~ERROR use of unstable library feature
+}
+
+const fn const_main() {
+ some_unstable_fn(); //~ERROR use of unstable library feature
+ unsafe { write_bytes(4 as *mut u8, 0, 0) }; //~ERROR use of unstable library feature
+}
diff --git a/tests/ui/consts/unstable-const-stable.stderr b/tests/ui/consts/unstable-const-stable.stderr
new file mode 100644
index 00000000000..c4ffbbb60db
--- /dev/null
+++ b/tests/ui/consts/unstable-const-stable.stderr
@@ -0,0 +1,43 @@
+error[E0658]: use of unstable library feature 'unstable'
+ --> $DIR/unstable-const-stable.rs:7:5
+ |
+LL | some_unstable_fn();
+ | ^^^^^^^^^^^^^^^^
+ |
+ = note: see issue #42 <https://github.com/rust-lang/rust/issues/42> for more information
+ = help: add `#![feature(unstable)]` to the crate attributes to enable
+ = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+
+error[E0658]: use of unstable library feature 'unstable'
+ --> $DIR/unstable-const-stable.rs:8:14
+ |
+LL | unsafe { write_bytes(4 as *mut u8, 0, 0) };
+ | ^^^^^^^^^^^
+ |
+ = note: see issue #42 <https://github.com/rust-lang/rust/issues/42> for more information
+ = help: add `#![feature(unstable)]` to the crate attributes to enable
+ = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+
+error[E0658]: use of unstable library feature 'unstable'
+ --> $DIR/unstable-const-stable.rs:12:5
+ |
+LL | some_unstable_fn();
+ | ^^^^^^^^^^^^^^^^
+ |
+ = note: see issue #42 <https://github.com/rust-lang/rust/issues/42> for more information
+ = help: add `#![feature(unstable)]` to the crate attributes to enable
+ = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+
+error[E0658]: use of unstable library feature 'unstable'
+ --> $DIR/unstable-const-stable.rs:13:14
+ |
+LL | unsafe { write_bytes(4 as *mut u8, 0, 0) };
+ | ^^^^^^^^^^^
+ |
+ = note: see issue #42 <https://github.com/rust-lang/rust/issues/42> for more information
+ = help: add `#![feature(unstable)]` to the crate attributes to enable
+ = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
+
+error: aborting due to 4 previous errors
+
+For more information about this error, try `rustc --explain E0658`.