Inert
This is a mechanism to access non-Sync
values in Sync
contexts.
How is this sound?
When the user create a &Inert<T>
value from a &T
, they must swear on the
holy baguette that they won't use the T
directly until all the Inert
wrappers go out of scope, while the various implementations of the Neutralize
trait make sure that the non-Sync
behaviour of the T
cannot be observed
through the wrapper.
How can I help?
Improve documentation, review the code (most importantly everything because everything is unsafe), make use of it.