[][src]Crate rustc_data_structures

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

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_nInternal
binary_search_utilInternal
box_regionInternal
const_cstrInternal
fingerprintInternal
flockInternal

Simple file-locking apis for each OS.

fxInternal
graphInternal
jobserverInternal
macrosInternal
obligation_forestInternal

The ObligationForest is a utility data structure used in trait matching to track the set of outstanding obligations (those not yet resolved to success or error). It also tracks the "backtrace" of each pending obligation (why we are trying to figure this out in the first place).

owning_refInternal

An owning reference.

profilingInternal
ptr_keyInternal
shardedInternal
sip128Internal

This is a copy of core::hash::sip adapted to providing 128 bit hashes.

small_c_strInternal
snapshot_mapInternal
snapshot_vecInternal

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.

sorted_mapInternal
stable_hasherInternal
stable_mapInternal
stable_setInternal
svhInternal

Calculation and management of a Strict Version Hash for crates

syncInternal

This module defines types which are thread safe if cfg!(parallel_compiler) is true.

thin_vecInternal
tiny_listInternal

A singly-linked list.

transitive_relationInternal
unifyInternal

Union-find implementation. The main type is UnificationTable.

vec_linked_listInternal
work_queueInternal

Macros

box_region_allow_accessInternal
const_cstrInternal

This macro creates a zero-overhead &CStr by adding a NUL terminator to the string literal passed into it at compile-time. Use it like:

declare_box_region_typeInternal
impl_stable_hash_via_hashInternal
likelyInternal
parallelInternal
rustc_erase_ownerInternal
static_assertInternal

A simple static assertion macro.

static_assert_sizeInternal

Type size assertion. The first argument is a type and the second argument is its expected size.

unlikelyInternal

Structs

OnDropInternal

Traits

ToHexInternal

A trait for converting a value to hexadecimal encoding

Functions

cold_pathInternal