// Testing the display of RwLockWriteGuard.

// cdb-only
//@ min-cdb-version: 10.0.18317.1001
//@ compile-flags:-g

// === CDB TESTS ==================================================================================
//
// cdb-command:g
//
// cdb-command:dx w
// cdb-check:w                [Type: std::sync::rwlock::RwLockWriteGuard<i32>]
// cdb-check:    [...] lock             : [...] [Type: std::sync::rwlock::RwLock<i32> *]
// cdb-check:    [...] poison           [Type: std::sync::poison::Guard]

#[allow(unused_variables)]

use std::sync::RwLock;

fn main()
{
    let l = RwLock::new(0);
    let w = l.write().unwrap();
    zzz(); // #break
}

fn zzz() {}
