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.
OnceCellExperimental
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>.
Weak is a version of Rc that holds a non-owning reference to the managed allocation. The allocation is accessed by calling upgrade on the Weak pointer, which returns an Option<Rc<T>>.
A wrapper type for a mutably borrowed value from a RefCell<T>.

Enums

Atomic memory orderings

Traits

A trait for dealing with iterators.

Functions

Type Definitions