unsafe_list
Linux 风格侵入式双向链表,对标内核 <linux/list.h> 的 list_head 实现。
#![no_std]、零依赖,可在裸机 / 嵌入式 / 内核场景直接使用。
功能
- O(1) 插入/删除/移动 —
list_add、list_del、list_move等 - 侵入式设计 — 节点嵌入数据结构,零额外分配
- 双端迭代器 — 支持
Iterator+DoubleEndedIterator - poison 检测 — 删除后指针置为哨兵值,辅助 use-after-free 排查
用法
use ;
// 定义并初始化链表头
define_unsafe_list_head!;
let mut t1 = Task ;
let mut t2 = Task ;
unsafe
for task in &head