Problem
Data-race freedom is not enforced anywhere, yet ROADMAP-WEB-COMPETITIVE.md marks "No data races (Send/Sync) – Done ✅". The built-in traits are Copy/Clone/Display/Debug/Default/Eq/Ord/Hash only; Send/Sync appear only in packages/safety/src/unsafe_blocks.zig, which isn't built. borrow_check_pass.zig tracks moves and borrows but knows nothing about threads or captures that cross them. Threads with shared objects are only safe with this. (New direction.)
Evidence (origin/main @ d4b219507)
docs/docs/ROADMAP-WEB-COMPETITIVE.md:744packages/traits/src/trait_system.zig:170-220packages/safety/src/unsafe_blocks.zig:332-343packages/compiler/src/borrow_check_pass.zig
Scope
Send/Syncauto traits derived structurally; raw pointers and non-atomic RC opt out.spawnrequiresSendcaptures; shared references across threads requireSync.- Borrow checker: no
&mutshared across threads; scoped threads may borrow.
Acceptance criteria
- Sending a non-
Sendvalue intospawnis a compile error with a dedicated code and test. - Sharing
&mutacross threads is rejected;Arc<Mutex<T>>is accepted.