This crate extends Mutex
es and RwLock
s wrapping references with static lifetimes to leak these raw underlying references.
This can be useful to safely obtain a static mutable reference without using any unsafe code when interacting with a legacy C project via FFI.
```rust
lazy_static! {
static ref VAR: RwLock
fn bar(_: &'static mut i8) {}
fn main() { bar(RwLockWriteGuard::leak(VAR.write().unwrap())); } ```
This crate supports implementations from the following crates, which are activated through the respective feature flags: * std * async-std * spin