Module rustc_data_structures::sync [−][src]
Expand description
This module defines types which are thread safe if cfg!(parallel_compiler) is true.
Lrc is an alias of Arc if cfg!(parallel_compiler) is true, Rc otherwise.
Lock is a mutex.
It internally uses parking_lot::Mutex if cfg!(parallel_compiler) is true,
RefCell otherwise.
RwLock is a read-write lock.
It internally uses parking_lot::RwLock if cfg!(parallel_compiler) is true,
RefCell otherwise.
MTLock is a mutex which disappears if cfg!(parallel_compiler) is false.
MTRef is an immutable reference if cfg!(parallel_compiler), and a mutable reference otherwise.
rustc_erase_owner! erases an OwningRef owner into Erased or Erased + Send + Sync
depending on the value of cfg!(parallel_compiler).
Re-exports
pub use std::sync::atomic::Ordering::SeqCst;Structs
This is a single threaded variant of AtomicU64, AtomicUsize, etc.
It has explicit ordering arguments and is only intended for use with
the native atomic types.
You should use this type through the AtomicU64, AtomicUsize, etc, type aliases
as it’s not intended to be used separately.
A cell which can be written to only once.
A type which only allows its inner value to be used in one thread. It will panic if it is used on multiple threads.
A wrapper type for a mutably borrowed value from a RefCell<T>.
A single-threaded reference-counting pointer. ‘Rc’ stands for ‘Reference Counted’.
A wrapper type for a mutably borrowed value from a RefCell<T>.
Wraps a borrowed reference to a value in a RefCell box.
A wrapper type for an immutably borrowed value from a RefCell<T>.
A wrapper type for a mutably borrowed value from a RefCell<T>.
Wraps a borrowed reference to a value in a RefCell box.
A wrapper type for an immutably borrowed value from a RefCell<T>.
A wrapper type for a mutably borrowed value from a RefCell<T>.
Enums
Atomic memory orderings