Crate rustc_data_structures

Source
Expand description

Various data structures used by the Rust compiler. The intention is that code in here should be not be specific to rustc, so that it can be easily unit tested and so forth.

§Note

This API is completely unstable and subject to change.

Modules§

base_n
captures
flock
Simple file-locking apis for each OS.
frozen
An immutable, owned value (except for interior mutability).
fx
macros
snapshot_vec
A utility class for implementing “snapshottable” things; a snapshottable data structure permits you to take a snapshot (via start_snapshot) and then, after making some changes, elect either to rollback to the start of the snapshot or commit those changes.
stable_map
stable_set
sync
This module defines types which are thread safe if cfg!(parallel_compiler) is true.
temp_dir
undo_log
Module which contains the snapshot/rollback functionality of the ena data structures.
unhash
unify
Union-find implementation. The main type is UnificationTable.

Macros§

define_id_collections
enum_from_u32
likely
parallel
Runs a list of blocks in parallel. The first block is executed immediately on the current thread. Use that for the longest running block.
rustc_erase_owner

Structs§

AtomicRef
This is essentially an AtomicPtr but is guaranteed to always be valid
OnDrop

Functions§

cold_path