mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-30 05:51:58 +00:00
add test ensuring we cannot call const-stable unstable functions
This commit is contained in:
parent
5c3ceb3bd9
commit
7650307c0e
13
tests/ui/consts/auxiliary/unstable_but_const_stable.rs
Normal file
13
tests/ui/consts/auxiliary/unstable_but_const_stable.rs
Normal file
@ -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() {}
|
14
tests/ui/consts/unstable-const-stable.rs
Normal file
14
tests/ui/consts/unstable-const-stable.rs
Normal file
@ -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
|
||||
}
|
43
tests/ui/consts/unstable-const-stable.stderr
Normal file
43
tests/ui/consts/unstable-const-stable.stderr
Normal file
@ -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`.
|
Loading…
Reference in New Issue
Block a user