Crate rustc_data_structures [] [src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, and unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

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

accumulate_vec [
Experimental
]

A vector type intended to be used for collecting from iterators onto the stack.

array_vec [
Experimental
]

A stack-allocated vector, allowing storage of N elements on the stack.

base_n [
Experimental
]
bitslice [
Experimental
]
bitvec [
Experimental
]
blake2b [
Experimental
]
control_flow_graph [
Experimental
]
flock [
Experimental
]

Simple file-locking apis for each OS.

fmt_wrap [
Experimental
]
fnv [
Experimental
]
fx [
Experimental
]
graph [
Experimental
]

A graph module for use in dataflow, region resolution, and elsewhere.

indexed_set [
Experimental
]
indexed_vec [
Experimental
]
ivar [
Experimental
]
obligation_forest [
Experimental
]

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). See README.md for a general overview of how to use this class.

small_vec [
Experimental
]

A vector type intended to be used for collecting from iterators onto the stack.

snapshot_map [
Experimental
]
snapshot_vec [
Experimental
]

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_hasher [
Experimental
]
transitive_relation [
Experimental
]
tuple_slice [
Experimental
]
unify [
Experimental
]
veccell [
Experimental
]

Traits

ToHex [
Experimental
]

A trait for converting a value to hexadecimal encoding