pub trait CommandQueueLock<P>where
P: CommandQueuePtr,{
// Required methods
unsafe fn write_lock(&self) -> RwLockWriteGuard<'_, P>;
unsafe fn read_lock(&self) -> RwLockReadGuard<'_, P>;
unsafe fn rw_lock(&self) -> &RwLock<P>;
// Provided method
fn address(&self) -> String { ... }
}