~/talk

Non-binary Rust: Between Safe and Unsafe

Talkat EuroRust 2024 Β· 2024-10-10..10-11Β· [rust]
name:Boxy Uwu
links:none on file
slides:none on file

Refactors thousands of lines of Bevy ECS unsafe code into small abstractions that push invariants into the type system, introducing an owning pointer type, a thin-slice pointer and lifetime-annotated wrappers using PhantomData and UnsafeCell. Work recovers borrow-checker guarantees, reduces fat-pointer overhead for tight-game performance, consolidates runtime checks into one indexing site, and actually catches a specific unsoundness; result lands as a PR about three years ago and improves maintainability.

AI-written summary Β· about

  1. 0:00Safe versus unsafe Rust
  2. 1:03Reasons for unsafe code
  3. 2:06Encapsulating safety invariants
  4. 3:52PhantomData abstractions
  5. 5:59Ownership with owning pointers
  6. 8:04Documenting type invariants
  7. 10:14MustUse for unsoundness
  8. 12:00Pointer optimizations
  9. 13:50Surface complexity to prevent bugs
  10. 14:56Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark β€” the status bar button does the same
?
this help
esc
close this, then clear every filter β€” or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.