Windows linked lists in safe and idiomatic Rust
summary
A Rust crate called nt-list crate implements Windows LIST_ENTRY/SINGLE_LIST_ENTRY with a safe high-level API and an unsafe fallback for multi-list ownership, using the moveit crate to initialize a pinned list head, proc-macros to derive offsets and element traits, iterator and retain helpers that replace error-prone C loops, and a boxed-attribute fast path for heap-owned single-list elements; code scans show 644 occurrences in ReactOS and the implementation debugs correctly with the Windows debugger, proving C compatibility.
AI-written summary · about
chapters (10)
- 0:00Start
- 0:30SPEAKER INFO
- 4:06DON'T USE LINKED LISTS!
- 10:05WINDOWS LINKED LISTS
- 11:40BASIC EXAMPLE
- 11:51COMPLEX EXAMPLE
- 14:48CHALLENGES
- 24:38FINAL IMPLEMENTATION
- 25:52ITERATING
- 27:48REMOVING
related talks
15mNon-binary Rust: Between Safe and Unsafe
58mC# and Rust: combining managed and unmanaged code without sacrificing safety
35mLet’s Talk About Rust
45mBuilding Safe and Secure Systems in Rust
25mIntro and Overview to Rust
33mRewrite, Optimize, Repeat
01h 14mRust: A Friendly Introduction
26mWindows Kernel Programming with Rust
