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 module 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.
MTRef is a immutable refernce if cfg!(parallel_queries), and an mutable reference otherwise.
rustc_erase_owner! erases a OwningRef owner into Erased or Erased + Send + Sync
depending on the value of cfg!(parallel_queries).
Re-exports
pub use self::serial_join as join; |
pub use self::serial_scope as scope; |
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 |
| Weak |
|
| WriteGuard |
A wrapper type for a mutably borrowed value from a |
| Lock |
[ Experimental ]
|
| LockCell |
[ Experimental ]
|
| MTLock |
[ Experimental ]
|
| Once |
[ Experimental ] A type whose inner value can be written once and then will stay read-only |
| OneThread |
[ Experimental ] A type which only allows its inner value to be used in one thread. It will panic if it is used on multiple threads. |
| RwLock |
[ Experimental ]
|
| SerialScope |
[ Experimental ]
|
| WorkerLocal |
[ Experimental ]
|
Traits
| ParallelIterator |
An interface for dealing with iterators. |
| HashMapExt |
[ Experimental ]
|
| Send |
[ Experimental ]
|
| Sync |
[ Experimental ]
|
Functions
| assert_send_sync_val |
[ Experimental ]
|
| assert_send_val |
[ Experimental ]
|
| assert_sync |
[ Experimental ]
|
| par_iter |
[ Experimental ]
|
| serial_join |
[ Experimental ]
|
| serial_scope |
[ Experimental ]
|
Type Definitions
| MTRef |
[ Experimental ]
|
| MetadataRef |
[ Experimental ]
|