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