As @huon says, it seems like Rust already does that. I haven’t read the paper (since I don’t particularly want to pay for it), but the abstract seems to describe things that sound similar to Send and Sync.
For the first thing the abstract mentions, “enforcing that thread-shared data is protected via locking”, is what Sync does. Though Sync is more general, representing thread-safe concurrent access instead of just locking, it exists to ensure that access to thread-shared data is safe.
The second thing the abstract mentions, “thread-local data does not escape the thread that creates it”, is handled by a combination of Send and 'static. What Send represents is actually the inverse, it indicates that data can safely escape the thread that creates it. 'static ensures that data sent between threads is valid for long enough.
In fact, Send and 'static being separate allows for Rust to express more patterns safely, notably “scoped threads” that can access data limited to the lifetime of the thread that spawned it.