# Struct bitflags::__core::sync::RwLockWriteGuard [−] [src]

    #[must_use]
    pub struct RwLockWriteGuard<'a, T> where T: 'a + ?Sized {
        // some fields omitted
    }

1.0.0

RAII structure used to release the exclusive write access of a lock when dropped.

## Methods

### `impl<'rwlock, T> RwLockWriteGuard<'rwlock, T> where T: ?Sized`

#### `fn map<U, F>(this: RwLockWriteGuard<'rwlock, T>, cb: F) -> RwLockWriteGuard<'rwlock, U> where F: FnOnce(&mut T) -> &mut U, U: ?Sized`

Deprecated since 1.8.0

: unsound on Mutex because of Condvar and RwLock may also with to be used with Condvar one day

Unstable (`guard_map`)

: unsound on Mutex because of Condvar and RwLock may also with to be used with Condvar one day

Transform this guard to hold a sub-borrow of the original data.

Applies the supplied closure to the data, returning a new lock guard referencing the borrow returned by the closure.

# Examples

    let x = RwLock::new(vec![1, 2]);

    {
        let mut y = RwLockWriteGuard::map(x.write().unwrap(), |v| &mut v[0]);
        assert_eq!(*y, 1);

        *y = 10;
    }

    assert_eq!(&**x.read().unwrap(), &[10, 2]);

## Trait Implementations

### `impl<'a, T> !Send for RwLockWriteGuard<'a, T> where T: ?Sized`

### `impl<'rwlock, T> Deref for RwLockWriteGuard<'rwlock, T> where T: ?Sized`

#### `type Target = T`

#### `fn deref(&self) -> &T`

### `impl<'rwlock, T> DerefMut for RwLockWriteGuard<'rwlock, T> where T: ?Sized`

#### `fn deref_mut(&mut self) -> &mut T`

### `impl<'a, T> Drop for RwLockWriteGuard<'a, T> where T: ?Sized`

#### `fn drop(&mut self)`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)