summaryrefslogtreecommitdiffstats
path: root/tests/ui/consts/intrinsic_without_const_stab.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/consts/intrinsic_without_const_stab.rs')
-rw-r--r--tests/ui/consts/intrinsic_without_const_stab.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/consts/intrinsic_without_const_stab.rs b/tests/ui/consts/intrinsic_without_const_stab.rs
new file mode 100644
index 000000000..40ec65d51
--- /dev/null
+++ b/tests/ui/consts/intrinsic_without_const_stab.rs
@@ -0,0 +1,17 @@
+#![feature(intrinsics, staged_api)]
+#![stable(feature = "core", since = "1.6.0")]
+
+#[stable(feature = "rust1", since = "1.0.0")]
+#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
+#[inline]
+pub const unsafe fn copy<T>(src: *const T, dst: *mut T, count: usize) {
+ // Const stability attributes are not inherited from parent items.
+ extern "rust-intrinsic" {
+ fn copy<T>(src: *const T, dst: *mut T, count: usize);
+ }
+
+ unsafe { copy(src, dst, count) }
+ //~^ ERROR cannot call non-const fn
+}
+
+fn main() {}