Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/consteval/tests/intrinsics.rs')
-rw-r--r--crates/hir-ty/src/consteval/tests/intrinsics.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/crates/hir-ty/src/consteval/tests/intrinsics.rs b/crates/hir-ty/src/consteval/tests/intrinsics.rs
index 1772e3c172..96516d35d4 100644
--- a/crates/hir-ty/src/consteval/tests/intrinsics.rs
+++ b/crates/hir-ty/src/consteval/tests/intrinsics.rs
@@ -225,6 +225,28 @@ fn const_eval_select() {
}
#[test]
+fn const_allocate() {
+ check_number(
+ r#"
+ //- minicore: fn
+ #[rustc_intrinsic]
+ pub const unsafe fn const_allocate(size: usize, align: usize) -> *mut u8;
+ #[rustc_intrinsic]
+ pub const unsafe fn const_deallocate(ptr: *mut u8, size: usize, align: usize);
+
+ const GOAL: u8 = unsafe {
+ let ptr = const_allocate(4, 4);
+ *ptr = 5;
+ let value = *ptr;
+ const_deallocate(ptr, 4, 4);
+ value
+ };
+ "#,
+ 5,
+ );
+}
+
+#[test]
fn wrapping_add() {
check_number(
r#"