gioser

tawasuyu/taffy

A high performance rust-powered UI layout library

Rust 1069HTML 1000Markdown 12TOML 83193 Sutichaykuna

Forbid unsafe code (#34)

* Forbid usage of unsafe code on a crate level

* Remove unnecessary 'unsafe' usage in remove_child function and its callers

55302f3faf781490e52d944a5e6e4e5d19659c27 · ruwaq TimJentzsch · (4 wata ñawpaq) · tayta c267e6296 · kay commitpi sach'ata qhaway

Semántico sayk'uy · 2

src/forest.rs

src/node.rs

3 qillqakuna · +3 −2

diff --git a/src/forest.rs b/src/forest.rs
index 28d74123e..40ad35f77 100644
--- a/src/forest.rs
+++ b/src/forest.rs
@@ -157,7 +157,7 @@ impl Forest {
         }
     }
 
-    pub unsafe fn remove_child(&mut self, node: NodeId, child: NodeId) -> NodeId {
+    pub fn remove_child(&mut self, node: NodeId, child: NodeId) -> NodeId {
         let index = self.children[node].iter().position(|n| *n == child).unwrap();
         self.remove_child_at_index(node, index)
     }
diff --git a/src/lib.rs b/src/lib.rs
index 6da5c1959..4dde31de5 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,4 +1,5 @@
 #![cfg_attr(not(feature = "std"), no_std)]
+#![forbid(unsafe_code)]
 
 #[cfg(all(not(feature = "std"), feature = "alloc"))]
 extern crate alloc;
diff --git a/src/node.rs b/src/node.rs
index b8863576a..2a73c05c8 100644
--- a/src/node.rs
+++ b/src/node.rs
@@ -153,7 +153,7 @@ impl Stretch {
         let node_id = self.find_node(node)?;
         let child_id = self.find_node(child)?;
 
-        let prev_id = unsafe { self.forest.remove_child(node_id, child_id) };
+        let prev_id = self.forest.remove_child(node_id, child_id);
         Ok(self.ids_to_nodes[&prev_id])
     }