about summary refs log tree commit diff
path: root/library/stdarch/examples/wasm.rs
diff options
context:
space:
mode:
authorEduardo Sánchez Muñoz <eduardosm-dev@e64.io>2025-02-24 20:17:07 +0100
committerAmanieu d'Antras <amanieu@gmail.com>2025-02-25 01:11:47 +0000
commitb8d25bdefa5d755c406ebed587b5082a7e025d03 (patch)
tree0fc9a18790687b1515407ba5ec9bfdd679e0eb9a /library/stdarch/examples/wasm.rs
parentd0bc126ec58e6f5852a85fe1c5c261f97fc4cf68 (diff)
downloadrust-b8d25bdefa5d755c406ebed587b5082a7e025d03.tar.gz
rust-b8d25bdefa5d755c406ebed587b5082a7e025d03.zip
Remove some `allow(unsafe_op_in_unsafe_fn)`s and use target_feature 1.1 in examples
Diffstat (limited to 'library/stdarch/examples/wasm.rs')
-rw-r--r--library/stdarch/examples/wasm.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/library/stdarch/examples/wasm.rs b/library/stdarch/examples/wasm.rs
index 8ad38f3a031..ed313b15d1e 100644
--- a/library/stdarch/examples/wasm.rs
+++ b/library/stdarch/examples/wasm.rs
@@ -1,7 +1,6 @@
 //! A simple slab allocator for pages in wasm
 
 #![cfg(target_arch = "wasm32")]
-#![allow(unsafe_op_in_unsafe_fn)]
 
 use std::ptr;
 
@@ -11,11 +10,13 @@ static mut HEAD: *mut *mut u8 = 0 as _;
 
 #[unsafe(no_mangle)]
 pub unsafe extern "C" fn page_alloc() -> *mut u8 {
-    if !HEAD.is_null() {
-        let next = *HEAD;
-        let ret = HEAD;
-        HEAD = next as *mut _;
-        return ret as *mut u8;
+    unsafe {
+        if !HEAD.is_null() {
+            let next = *HEAD;
+            let ret = HEAD;
+            HEAD = next as *mut _;
+            return ret as *mut u8;
+        }
     }
 
     let ret = memory_grow(0, 1);
@@ -31,8 +32,10 @@ pub unsafe extern "C" fn page_alloc() -> *mut u8 {
 #[unsafe(no_mangle)]
 pub unsafe extern "C" fn page_free(page: *mut u8) {
     let page = page as *mut *mut u8;
-    *page = HEAD as *mut u8;
-    HEAD = page;
+    unsafe {
+        *page = HEAD as *mut u8;
+        HEAD = page;
+    }
 }
 
 #[unsafe(no_mangle)]