1 /// A lock (mutex) yielding generic data.
2 pub(crate) trait Lock<T> {
3     type Handle: AsMut<T>;
4 
lock(self) -> Self::Handle5     fn lock(self) -> Self::Handle;
6 }
7