Modules

An ordered map based on a B-Tree.

An ordered set based on a B-Tree.

Functionality for ordering and comparison.

Inspection and manipulation of the process’s environment.

Filesystem manipulation operations.

A hash map implemented with quadratic probing and SIMD lookup.

Traits, helpers, and type definitions for core I/O functionality.

Temporal quantification.

unixUnix

Platform-specific extensions to std for Unix platforms.

Macros

Construct an ad-hoc error from a string or existing non-anyhow error value.

Logs a message at the debug level.

Inspects an environment variable at compile time.

Logs a message at the error level.

Logs a message at the info level.

The standard logging macro.

Determines if a message logged at the specified level in that module will be logged.

Logs a message at the trace level.

Logs a message at the warn level.

Structs

Sample a u8, uniformly distributed over ASCII letters and numbers: a-z, A-Z and 0-9.

A thread-safe reference-counting pointer. ‘Arc’ stands for ‘Atomically Reference Counted’.

An ordered map based on a B-Tree.

An ordered set based on a B-Tree.

The BufReader<R> struct adds buffering to any reader.

Wraps a writer and buffers its output.

Representation of a running or exited child process.

A process builder, providing fine-grained control over how a new process should be spawned.

Dense slot map, storage with stable unique keys.

A Duration type to represent a span of time, typically used for system timeouts.

A reference to an open file on the filesystem.

A hash map implemented with quadratic probing and SIMD lookup.

A hash set implemented as a HashMap where the value is ().

A measurement of a monotonically nondecreasing clock. Opaque and useful only with Duration.

An IPv4 address.

An IPv6 address.

Immutable struct that defines which loglines are to be written, based on the module, the log level, and the text.

Zero-sized type used to mark things that “act like” they own a T.

Sparse secondary map, associate data with previously stored elements in a slot map.

Describes what to do with a standard I/O stream for a child process when passed to the stdin, stdout, and stderr methods of Command.

User identifier

A Unix stream socket.

A double-ended queue implemented with a growable ring buffer.

Enums

Defines big-endian serialization.

A clone-on-write smart pointer.

A list specifying general categories of I/O error.

An IP address, either IPv4 or IPv6.

Defines little-endian serialization.

An Ordering is the result of a comparison between two values.

An internet socket address, either IPv4 or IPv6.

Constants

Traits

A trait to extract the raw file descriptor from an underlying object.

Numbers which have upper and lower bounds

A BufRead is a type of Reader which has an internal buffer, allowing it to perform extra ways of reading.

Unix-specific extensions to the process::Command builder.

Provides the context method for Result.

A data structure that can be deserialized from any data format supported by Serde.

A data structure that can be deserialized without borrowing any data from the deserializer.

A data format that can deserialize any data structure supported by Serde.

Convinience wrapper trait covering functionality of cryptographic hash functions with fixed output size.

A trait for capturing the number of variants in Enum. This trait can be autoderived by strum_macros.

Associates additional pieces of information with an Enum. This can be autoimplemented by deriving EnumMessage and annotating your variants with #[strum(message="...")].

EnumProperty is a trait that makes it possible to store additional information with enum variants. This trait is designed to be used with the macro of the same name in the strum_macros crate. Currently, the only string literals are supported in attributes, the other methods will be implemented as additional attribute types become stabilized.

Unix-specific extensions to process::ExitStatus and ExitStatusError.

Extension trait for std::fs::File which provides allocation, duplication and locking methods.

A generic trait for converting a number to a value.

This trait designates that an Enum can be iterated over. It can be auto generated using strum_macros on your behalf.

A trait to express the ability to consume an object and acquire ownership of its raw file descriptor.

Extension trait for slotmap::KeyData, providing get_idx_version.

Unix-specific extensions to fs::Metadata.

Unix-specific extensions to fs::OpenOptions.

Platform-specific extensions to OsStr.

Unix-specific extensions to fs::Permissions.

The Read trait allows for reading bytes from a source.

Extends Read with methods for reading numbers. (For std::io.)

An automatically-implemented extension trait on RngCore providing high-level generic methods for sampling values and other convenience methods.

A data structure that can be serialized into any data format supported by Serde.

Returned from Serializer::serialize_tuple.

A data format that can serialize any data structure supported by Serde.

Extension trait on slices, providing random mutation and sampling methods.

A generic trait for converting a value to a number.

A trait for objects which can be converted or resolved to one or more SocketAddr values.

A trait for objects which are byte-oriented sinks.

Extends Write with methods for writing numbers. (For std::io.)

OS-specific extensions to fs::Metadata.

The Error trait allows Deserialize implementations to create descriptive error messages belonging to the Deserializer against which they are currently running.

Key used to access stored values in a slot map.

Functions

Cast from one machine scalar to another.

Get the time of the specified clock, (see clock_gettime(2)).

Terminates the current process with the specified exit code.

Underlying extraction function. Fails rather than panicing.

Compares and returns the maximum of two values.

Compares and returns the minimum of two values.

Retrieve the lazily-initialized thread-local random number generator, seeded by the system. Intended to be used in method chaining style, e.g. thread_rng().gen::<i32>(), or cached locally, e.g. let mut rng = thread_rng();. Invoked by the Default trait, making ThreadRng::default() equivalent.

Type Definitions

A mutual exclusion primitive useful for protecting shared data

An RAII implementation of a “scoped lock” of a mutex. When this structure is dropped (falls out of scope), the lock will be unlocked.

Raw file descriptors.

A reader-writer lock

RAII structure used to release the shared read access of a lock when dropped.

RAII structure used to release the exclusive write access of a lock when dropped.

SHA-512 hasher.

SHA-512/256 hasher.

Derive Macros

Converts enum variants to &'static str.

Deserialize value by using its FromStr implementation

Add a constant usize equal to the number of variants.

Generate a new type with only the discriminant names.

Creates a new type that iterates of the variants of an enum.

Add a verbose message to an enum variant.

Add custom properties to enum variants.

Converts strings to enum variants based on their name.

Derives num_traits::FromPrimitive for simple enums and newtypes.

Implements From<MyEnum> for &'static str on an enum.

Serialize value by using it’s Display implementation

Derives num_traits::ToPrimitive for simple enums and newtypes.