Module rustc_data_structures::sync
[−]
[src]
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
This mdoule defines types which are thread safe if cfg!(parallel_queries) is true.
Lrc
is an alias of either Rc or Arc.
Lock
is a mutex.
It internally uses parking_lot::Mutex
if cfg!(parallel_queries) is true,
RefCell
otherwise.
RwLock
is a read-write lock.
It internally uses parking_lot::RwLock
if cfg!(parallel_queries) is true,
RefCell
otherwise.
LockCell
is a thread safe version of Cell
, with set
and get
operations.
It can never deadlock. It uses Cell
when
cfg!(parallel_queries) is false, otherwise it is a Lock
.
MTLock
is a mutex which disappears if cfg!(parallel_queries) is false.
rustc_erase_owner!
erases a OwningRef owner into Erased or Erased + Send + Sync
depending on the value of cfg!(parallel_queries).
Structs
LockGuard |
A wrapper type for a mutably borrowed value from a |
Lrc |
A single-threaded reference-counting pointer. 'Rc' stands for 'Reference Counted'. |
ReadGuard |
Wraps a borrowed reference to a value in a |
WriteGuard |
A wrapper type for a mutably borrowed value from a |
Lock |
[ Experimental ]
|
LockCell |
[ Experimental ]
|
MTLock |
[ Experimental ]
|
RwLock |
[ Experimental ]
|
Traits
Send |
[ Experimental ]
|
Sync |
[ Experimental ]
|
Functions
assert_send_sync_val |
[ Experimental ]
|
assert_send_val |
[ Experimental ]
|
assert_sync |
[ Experimental ]
|
Type Definitions
MetadataRef |
[ Experimental ]
|