This crate provides custom derives for traits describing types that can be wrapped in Flexible Locks types.
For now, Flexible Locks only provides a Mutex type, so this crate provides
a #[derive(MutexProtected)].
The #[mutex] attribute is used to indicate the data field containing the raw
mutex type.
```rust extern crate flexible_locks;
extern crate flexiblelocksderive; use flexible_locks::{Mutex, RawMutex};
// Pick your choice of raw mutex;
use flexiblelocks::CRITICALSECTION as RawOsMutex;
use flexiblelocks::pthreadmutex_t as RawOsMutex;
struct Data { a: usize, #[mutex] mutex: RawOsMutex, b: usize, } ```